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

x
Solved

# Finding the highest date in Column B for all occurrences of a specified string in Column D

Posted on 2011-09-28
Medium Priority
213 Views
I need a formula or function that finds all matches for a given string in one column, then looks at the corresponding dates in another column and returns the highest date that is NOT higher than the date in G1.

Please take a look at the attached workbook. I had a formula that seemed to work but apparently not as you can see in the workbook.

Thanks,
John
FindTailByDate-v2.xls
0
Question by:gabrielPennyback
• 3
• 2
• 2

LVL 24

Assisted Solution

StephenJR earned 500 total points
ID: 36718545

=MIN(CutOffDate,MAX(IF(LKP_SN=F5,LKP_EIS)))
0

LVL 50

Expert Comment

ID: 36718558
Hello John,

Generically you can use a formula like this

=MAX(IF(A1:A100=D1,IF(B1:B100<=G1,B1:B100)))

Array entered.....

where strings are in A and dates in B with specific string to match in D1

regards, barry
0

LVL 50

Expert Comment

ID: 36718889
Hello John, are you looking for a date? That's what your description says but your formula in J5 is returning a value from column C...not a date?

Assuming you do want a date then using the setup I suggested above but adjusted for your specific ranges you get

=MAX(IF(LKP_SN=F5,IF(LKP_EIS<=G1,LKP_EIS)))

format result cell as

mm/dd/yyyy;;

....then if there is no match you'll get a blank

Stephen's formula will give the same result in this case and possibly others but if all the dates for the qualifying rows were greater than the cutoff date my formula returns a blank/zero while Stephen's returns the cutoff date
0

LVL 1

Author Comment

ID: 36720241
My typo, sorry about that. What I'm looking for is the value in Column C corresponding to the highest date (in Column B) associated with the three 27613's in Column D.

I tried customizing your formulas, both of which work, but I couldn't figure it out. Could you re-post the workbook with a working example?

Thanks!
John
0

LVL 50

Accepted Solution

barry houdini earned 1500 total points
ID: 36720549
Hello John,

Your existing LOOKUP formula will work accurately only if the data is sorted (ascending) by the date column, as it finds the last match for your criteria that will also be the MAX if sorted....

If unsorted then I recommend this "array formula"

=INDEX(LKP_Tails,MATCH(1,(LKP_EIS=MAX(IF((LKP_SN=F5)*(LKP_EIS<=CutOffDate),LKP_EIS)))*(LKP_SN=F5),0))

confirmed with CTRL+SHIFT+ENTER

see attached

regards, barry
27346272.xls
0

LVL 1

Author Closing Comment

ID: 36751497
Thanks Barry, that really does the trick. I wanted to give Stephen some points for giving me the solution I inadvertently asked for!

- John
0

LVL 24

Expert Comment

ID: 36813522
Thanks John!
0

## Featured Post

Question has a verified solution.

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

How to get Spreadsheet Compare 2016 working with the 64 bit version of Office 2016
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
###### Suggested Courses
Course of the Month10 days, 20 hours left to enroll