Help writing a formula

W

WA

I have a huge database that I need to create numbering for each line like
this example: AK-233 (2 letter state, a dash, and 1-4 digit number), but the
number doesn't change each line - sometimes the number will be duplicated on
multiple lines because those lines have the same title, I also need to create
another cell extending that letter/number combo that will differentiate the
1st cell.
So the first cell stays the same if the title is the same. The second cell
adds another layer of numbering to differentiate the first cell.
See example:
(Row1, Col 1-4) AK-1, AK-1-1, Title1, AK
(Row2, Col 1-4) AK-1, AK-1-2, Title1, AK
(Row3, Col 1-4) AK-1, AK-1-3, Title1, AK
(Row4, Col 1-4) AK-2, AK-2-1, Title2, AK
(Row5, Col 1-4) AK-2, AK-2-2, Title2, AK
So - I have the Title and the State (2 letters) in different cells (cell 3 &
cell 4 in each row above). Now I need a formula for cell 1 and cell 2.
Cell 1: Copies the state letters from cell 4, adds a dash, adds a number
starting with 1. IF the title is the same as the one in the row above it -
the number does not change. IF the title is different than the one in the row
above it - than the number should add +1 to the previous number.
Cell 2: This copies cell 1 but adds +1 to the cell above it if it is the
same number.

I've really confused myself with how to do this - or explain it. Anyone out
there that may be willing to help get me started on this?
Thanks!
Wendy
 
W

WA

SORRY that formula at the bottom for column B that works is:
'=A1&"-"&TEXT(1,"#") NOT A18! (typo)
 
M

Ms-Exl-Learner

Insert a Blank Line or Keep the Column Title in the 1st Row and make sure
that your data should start from 2nd Row.

Once again repeating you, that the data should start from 2nd Row.

I am using the E Column as helper Column.

Copy and paste the below formula in E2 cell.
=IF(D2="","",IF($D2="","",IF(AND(ROW()=2,$D2<>""),1,IF(SUMIF($D$1:$D1,$D2,$E$1:$E1)>=1,MAX(IF(($D$1:$D1=$D2),($E$1:$E1))),IF(SUMIF($D$1:$D1,$D2,$E$1:$E1)>=0,MAX($E$1:$E1)+1)))))
(Array Formula)

After pasting the formula in E2 cell place the cursor in E2 cell and press
F2 and hit CNTRL+SHIFT+ENTER. Since it is an array formula so it requires
CNTRL+SHIFT+ENTER and the general enter wont work. After hitting the
Cntrl+Shift+Enter you can notice that the formula will be displayed in the
formula bar by covered with Curly Braces{}.
Like the below:-
{=IF(D2="","",IF($D2="","",IF(AND(ROW()=2,$D2<>""),1,IF(SUMIF($D$1:$D1,$D2,$E$1:$E1)>=1,MAX(IF(($D$1:$D1=$D2),($E$1:$E1))),IF(SUMIF($D$1:$D1,$D2,$E$1:$E1)>=0,MAX($E$1:$E1)+1)))))}
Don’t add the Curly Braces manually.
Drag the E2 cell to the remaining cells of E column based on the C & D
Column Data

Copy and paste the below formula in A2 cell.
=IF(OR($C2="",$D2=""),"",TRIM($D2)&"-"&E2)
Drag the A2 cell to the remaining cells of A column based on the C & D
Column Data

Copy and paste the below formula in B2 cell.
=IF(OR($C2="",$D2=""),"",TRIM($D2)&"-"&E2&"-"&SUMPRODUCT(($C$2:$C2=$C2)*($D$2:$D2=$D2)))
Drag the B2 cell to the remaining cells of B column based on the C & D
Column Data

Your Data and result will be like this.

Row/Col A-Col B-Col C-Col D-Col E-Col
Row-1 1st Count 2nd Count Title Heading Helper Col
Row-2 AK-1 AK-1-1 Anchorage Golf Course AK 1
Row-3 AK-1 AK-1-2 Anchorage Golf Course AK 1
Row-4 AK-1 AK-1-3 Anchorage Golf Course AK 1
Row-5 AK-1 AK-1-1 Birch Ridge Golf Course AK 1
Row-6 AK-1 AK-1-2 Birch Ridge Golf Course AK 1
Row-7 AK-1 AK-1-1 Chena Bend Golf Course AK 1
Row-8 AK-1 AK-1-2 Chena Bend Golf Course AK 1
Row-9 AK-1 AK-1-3 Chena Bend Golf Course AK 1
Row-10 CA-2 CA-2-1 Woods Valley GC CA 2
Row-11 CA-2 CA-2-2 Woods Valley GC CA 2
Row-12 CA-2 CA-2-1 Yolo Fliers Club CA 2
Row-13 CA-2 CA-2-2 Yolo Fliers Club CA 2
Row-14 CA-2 CA-2-3 Yolo Fliers Club CA 2
Row-15 CA-2 CA-2-1 Yorba Linda Country Club CA 2
Row-16 CA-2 CA-2-2 Yorba Linda Country Club CA 2
Row-17 AK-1 AK-1-4 Anchorage Golf Course AK 1

Hope it's Clear.

Remember to Click Yes, if this post helps!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top