Go Premium for a chance to win a PS4. Enter to Win

x
Solved

# Excel formula help

Posted on 2011-09-02
Medium Priority
341 Views
Hi,
How do you I say while logic in excel formula.
OR maybe ue array formula to achieve it.

On tab key I have a key and ref.
in Ref column I am using  -> IF(ISNA(VLOOKUP(A2,rngRef,2,FALSE)),"",VLOOKUP(A2,rngRef,2,FALSE))
To get ref_src from RANGE -> rngRef on tab KeySrc
basically just mapping the keys and getting the corresponding ref

Please let me know irf its not clear. I am sure you will figure out quikcly by looking at the attached sheet

Now What I am trying to acheive is that
there are two rows/records with same key '123'
and I am trying to get Ref  and combination of Ref_src for the same key
in the from Ref_src, Ref_src
so for key = 123
Ref would look like a,b

It would be very helpful if some one could help me out in achieving this

thanks
0
Question by:SameerMirza
• 6
• 2
• 2
• +1

Author Comment

ID: 36472798
0

LVL 24

Expert Comment

ID: 36472803

There is no attachment
0

LVL 24

Expert Comment

ID: 36472804
got it !!
0

Author Comment

ID: 36472807
0

Author Comment

ID: 36473137
any luck Eirman?
0

LVL 50

Expert Comment

ID: 36473261
It's dificult to get the results in one cell with a formula (especially for more data which I asime you have) so how about the attached to get each Ref in a separate cell, i.e. in B2 paste this formula

=IF(COLUMNS(\$B2:B2)>COUNTIF(KeySrc!\$A2:\$A3,\$A2),"",INDEX(KeySrc!\$B2:\$B3,SMALL(IF(KeySrc!\$A2:\$A3=\$A2,ROW(KeySrc!\$A2:\$A3)-MIN(ROW(KeySrc!\$A2:\$A3))+1),COLUMNS(\$B2:B2))))

confirmed with CTRL+SHIFT+ENTER nad copied across - when matches are exhausted you get blanks, e.g. in your example the Ref 3 formula in D2 displays a blank, see attached

regards, barry
27288594.xls
0

LVL 6

Expert Comment

ID: 36473303
Could be done easily in vba, possible workaround using formulas attached.
test1.xls
0

Author Comment

ID: 36473398
c1nmo

I was wondering if it would be possible for you to provide me the VBA workaround for unlimited records.
0

Author Comment

ID: 36473428
Barry,

it seems to work find for the existing records.
I was wondering if it owuld be possible for you write the one that would work for
multiple records.
may be using a range for the source
0

LVL 6

Accepted Solution

c1nmo earned 1200 total points
ID: 36473568
'\init
lKeyRow = 2
lSourceRow = 2

With Sheets("key")

'\loop through keys
Do
sKey = .Cells(lKeyRow, 1)

'\loop through source for matches

Do
sSource = Sheets("keysrc").Cells(lSourceRow, 1)
If sKey = sSource Then
sConcat = sConcat & Sheets("keysrc").Cells(lSourceRow, 2)
End If

lSourceRow = lSourceRow + 1
Loop While sSource <> ""

'\update key
.Cells(lKeyRow, 2) = sConcat

'\reset source vars
sConcat = ""
lSourceRow = 2

'\inc keyrow
lKeyRow = lKeyRow + 1

Loop While .Cells(lKeyRow, 1) <> ""

End With
0

LVL 50

Assisted Solution

barry houdini earned 800 total points
ID: 36473885
>I was wondering if it owuld be possible for you write the one that would work for
multiple records

Hello SameerMirza, the formula I suggested is easily extendable, e.g. changing all the A3 references to A50 we get this version

=IF(COLUMNS(\$B2:B2)>COUNTIF(KeySrc!\$A2:\$A50,\$A2),"",INDEX(KeySrc!\$B2:\$B50,SMALL(IF(KeySrc!\$A2:\$A50=\$A2,ROW(KeySrc!\$A2:\$A50)-MIN(ROW(KeySrc!\$A2:\$A50))+1),COLUMNS(\$B2:B2))))

copied across as before and down if necessary, see attached revised version

reagrds, barry
27288594v2.xls
0

Author Closing Comment

ID: 36474145
Thanks alot guy.
Barry I am sure it would work for now I am happy with c1nmo's solution.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
Windows Explorer lets you open cabinet (cab) files like any other folder. In VBA you can easily handle normal files and folders, but opening and indeed creating cabinet files takes a lot more - and that's you'll find here.
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabilâ€¦
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to usâ€¦
###### Suggested Courses
Course of the Month11 days, 23 hours left to enroll