Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Worksheet Functions / May 2008

Tip: Looking for answers? Try searching our database.

MAX value matching multiple criteria

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
mwd - 11 May 2008 12:29 GMT
Hi

I have a spreadsheet that contains text and time information such as below:
    a       b       c
1  north  high  5:21
2  south  low   6:42
3  north  low   7:14
4  north  high  3:56
5  east    low  2:14
6  north  low   2:02
7  north  high  2:37
All of the information in the spreadsheet is the result of formulas from
other data (in other sheets).
I need a formula that will provide the maximum time (in Col C) in a row
where (for example) the Col A is "north" and Col B is "high".
Any help would be greatly appreciated.
Thanks.
Gary''s Student - 11 May 2008 12:51 GMT
=SUMPRODUCT(MAX((A1:A7="north")*(B1:B7="high")*C1:C7))

Signature

Gary''s Student - gsnu200785

BoniM - 11 May 2008 13:15 GMT
Add a header row to your data:
Compass    Level    Time
north    high    5:21
south    low    6:42
north    low    7:14
north    high    3:56
east    low    2:14
north    low    2:02
north    high    2:37

Create a criteria range:
Compass    Level
north    high
In this formula, I used E1:F2 for the criteria range.

Enter formula:
=DMAX(A1:C8,3,E1:F2)

> Hi
>
[quoted text clipped - 13 lines]
> Any help would be greatly appreciated.
> Thanks.
BoniM - 11 May 2008 13:31 GMT
DMAX makes it easy to change criteria to find other combinations of values...
But you could also use the following array formula:
=MAX(C2:C8*((A2:A8="north")*(B2:B8="high")))
Enter as array with ctrl+shift+enter

> Hi
>
[quoted text clipped - 13 lines]
> Any help would be greatly appreciated.
> Thanks.
Teethless mama - 11 May 2008 14:38 GMT
=MAX(INDEX((A1:A7="north")*(B1:B7="high")*C1:C7,0))

> Hi
>
[quoted text clipped - 13 lines]
> Any help would be greatly appreciated.
> Thanks.
Ragdyer - 11 May 2008 19:40 GMT
Just as a point of information, can anyone out there with access to Fast
Excel or other similar software determine which of these formulas would be
faster and less resource intensive?

Say you size them to 7,000 rows.

Gary's Sumproduct:
=SUMPRODUCT(MAX((A1:A7000="north")*(B1:B7000="high")*C1:C7000))

Tm's Index:
=MAX(INDEX((A1:A7000="north")*(B1:B7000="high")*C1:C7000,0))

OR, a standard *array* entered formula:
=MAX((A1:A7000="north")*(B1:B7000="high")*C1:C7000)

Signature

Regards,

RD

---------------------------------------------------------------------------
Please keep all correspondence within the NewsGroup, so all may benefit !
---------------------------------------------------------------------------

> Hi
>
[quoted text clipped - 13 lines]
> Any help would be greatly appreciated.
> Thanks.
T. Valko - 11 May 2008 23:28 GMT
http://img158.imageshack.us/img158/5620/calctimesme8.jpg

Times based on Charles Williams RangeTimer method:

http://msdn2.microsoft.com/en-us/library/aa730921.aspx

Signature

Biff
Microsoft Excel MVP

> Just as a point of information, can anyone out there with access to Fast
> Excel or other similar software determine which of these formulas would be
[quoted text clipped - 29 lines]
>> Any help would be greatly appreciated.
>> Thanks.
Ragdyer - 12 May 2008 02:27 GMT
Thanks for your effort in this Biff.

I had a suspicion that perhaps that Index formula might be the fastest, but
I can see I was way off.

Good old Sumproduct appears to be a steady, all-around, workhorse choice.
Signature

Regards,

RD

---------------------------------------------------------------------------
Please keep all correspondence within the NewsGroup, so all may benefit !
---------------------------------------------------------------------------

> http://img158.imageshack.us/img158/5620/calctimesme8.jpg
>
[quoted text clipped - 40 lines]
> >> Any help would be greatly appreciated.
> >> Thanks.
BoniM - 12 May 2008 06:55 GMT
7000 rows, 10 iterations

DMAX    Array    Index    Sumproduct   
0.000174949 0.000173458 0.000173570 0.000175497 Average
0.000180749 0.000177117 0.000185778 0.000188013 Max
0.000171530 0.000169575 0.000169575 0.000170133 Min
0.000009219 0.000007542 0.000016203 0.000017880 Range

Array had the lowest average, tied with Index for the lowest min, and was
the most consistent, with the lowest range.
Sumproduct had the highest average, the highest max and was the least
consistent, with the largest range.

Data:
DMAX    Array    Index    Sumproduct
0.000171530 0.000169854 0.000169854 0.000171530
0.000179911 0.000176838 0.000172927 0.000170133
0.000172089 0.000173486 0.000171530 0.000174324
0.000174993 0.000172648 0.000172368 0.000178794
0.000180749 0.000174603 0.000169575 0.000173206
0.000171530 0.000172368 0.000172927 0.000175162
0.000172089 0.000173486 0.000185778 0.000172368
0.000174603 0.000177117 0.000175721 0.000177676
0.000175162 0.000169575 0.000172089 0.000188013
0.000176838 0.000174603 0.000172927 0.000173765

> Just as a point of information, can anyone out there with access to Fast
> Excel or other similar software determine which of these formulas would be
[quoted text clipped - 29 lines]
> > Any help would be greatly appreciated.
> > Thanks.
T. Valko - 12 May 2008 18:39 GMT
Those look like recalculaion times. I get similar results when I test the
recalculation time.

I tested the *initial* calculation times.

Signature

Biff
Microsoft Excel MVP

> 7000 rows, 10 iterations
>
[quoted text clipped - 57 lines]
>> > Any help would be greatly appreciated.
>> > Thanks.
BoniM - 12 May 2008 19:42 GMT
DMAX    Array    Index    Sumproduct   
0.0240969    0.0240885    0.0243997    0.0243215   
0.0127678    0.0128463    0.0129556    0.0126991   
0.0128880    0.0128690    0.0126720    0.0128310   
0.0127262    0.0127622    0.0129514    0.0129377   
0.0239782    0.0129301    0.0126226    0.0243023   
0.0127907    0.0244173    0.0242073    0.0127064   
0.0126882    0.0126583    0.0127625    0.0127427   
0.0126734    0.0129637    0.0127756    0.0129603   
0.0241332    0.0126843    0.0127209    0.0243031   
0.0127002    0.0127251    0.0127625    0.0126938   
               
0.0161443    0.0150945    0.0150830    0.0162498    Average
               
0.0241332    0.0244173    0.0243997    0.0243215    Max
0.0126734    0.0126583    0.0126226    0.0126938    Min
0.0114598    0.0117590    0.0117772    0.0116277    Range

testing *initial* calculations
I'm sorry - I should have been specific about what was being tested...

> Those look like recalculaion times. I get similar results when I test the
> recalculation time.
>
> I tested the *initial* calculation times.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.