You are on page 1of 67

XLOOKUP

Excel Ultimate
Lookup
KUP
mate
EMT 1600
XLOOKUP Only in Office 365 Insider, as of Sep 4, 2019
VLOOKUP ???? Are they all dead?
HLOOKUP ???? Are they all dead?
MATCH ???? Are they all dead?
INDEX ???? Are they all dead?
LOOKUP ???? Are they all dead?

No!!!!!!
There are still uses for all of them, as seen later…
XLOOKUP(lookup_value,lookup_array,retur
lookup_value = item used to find match
lookup_array = yields a relative positi
return_array = contains items that you

[match_mode] =
0 - Exact Match = Default = Like old VLOOKUP and MATCH
-1 - Exact Match or Next Smaller = Like old VLOOKUP and MATCH Approximate Match Lo
This is what we use now rather than VLOOKUP Approximate Match Lookup = Because
1 - Exact Match or Next Bigger = Like old MATCH -1 Approximate Match Lookup.
2 - Wildcards = * = zero or more characters, ? = single character
array,return_array,[match_mode],[search_mode])
find match in lookup_array
tive position that can be used to retrieve item
s that you potentially want to lookup, must be

[search_mode] =
1 - Search First to Last = Default = Like old VLOO
CH Approximate Match Lookup. -1 - Search Last To First = Used to have to make
Match Lookup = Because we do NOT have to Sort!!! 2 - Binary search for Smallest To Biggest Sort =
e Match Lookup. 2 - Binary search for Biggest To Smallest Sort =
rch_mode])

trieve item in return_array


p, must be same size as lookup_array

t = Default = Like old VLOOKUP and MATCH = When Duplicates, it gets FIRST ONE!
st = Used to have to make Array Formulas = When Duplicates, it gets LAST ONE!
Smallest To Biggest Sort = Like old VLOOKUP and MATCH Approximate Match Lookup.
Biggest To Smallest Sort = Like old MATCH -1 Approximate Match Lookup.
1 2 3

XLOOKUP(lookup_value,lookup_array,return_a

1 lookup_value = item used to find match in


2 lookup_array = yields relative position t
to retrieve i
3 return_array = contains items that you po
must be same

4 [match_mode] =
0 - Exact Match = Default = Like old VLOOKUP and MATCH
-1 - Exact Match or Next Smaller = Like old VLOOKUP and MATCH Approximate M
This is what we use now rather than VLOOKUP Approximate Match Lookup =
1 - Exact Match or Next Bigger = Like old MATCH -1 Approximate Match Lookup.
2 - Wildcards = * = zero or more characters, ? = single character

5 [search_mode] =
1 - Search First to Last = Default = Like old VLOOKUP and MATCH = When Duplica
-1 - Search Last To First = Used to have to make Array Formulas = When Duplicat
2 - Binary search for Smallest To Biggest Sort = Like old VLOOKUP and MATCH Ap
2 - Binary search for Biggest To Smallest Sort = Like old MATCH -1 Approximate M
4 5

,return_array,[match_mode],[search_mode])

d match in lookup_array
position that is used
retrieve item in return_array
hat you potentially want to lookup,
t be same size as lookup_array

CH Approximate Match Lookup.


e Match Lookup = Because we do NOT have to Sort!!!
te Match Lookup.

H = When Duplicates, it gets FIRST ONE!


= When Duplicates, it gets LAST ONE!
UP and MATCH Approximate Match Lookup.
H -1 Approximate Match Lookup.
mode])
XMATCH(lookup_value,lookup_array,[match
lookup_value = item used to find match
lookup_array = yields a relative positi

[match_mode] =
0 - Exact Match = Default = Like old VLOOKUP and MATCH
-1 - Exact Match or Next Smaller = Like old VLOOKUP and MATCH Approximate Match Lo
This is what we use now rather than VLOOKUP Approximate Match Lookup = Because
1 - Exact Match or Next Bigger = Like old MATCH -1 Approximate Match Lookup.
2 - Wildcards = * = zero or more characters, ? = single character
rray,[match_mode],[search_mode])
find match in lookup_array
tive position that can be used to retrieve item

[search_mode] =
1 - Search First to Last = Default = Like old VLOO
CH Approximate Match Lookup. -1 - Search Last To First = Used to have to make
Match Lookup = Because we do NOT have to Sort!!! 2 - Binary search for Smallest To Biggest Sort =
e Match Lookup. 2 - Binary search for Biggest To Smallest Sort =
trieve item in return_array

t = Default = Like old VLOOKUP and MATCH = When Duplicates, it gets FIRST ONE!
st = Used to have to make Array Formulas = When Duplicates, it gets LAST ONE!
Smallest To Biggest Sort = Like old VLOOKUP and MATCH Approximate Match Lookup.
Biggest To Smallest Sort = Like old MATCH -1 Approximate Match Lookup.
4Rx1C

1Rx4C
excelisfun

Subscr 603K
603K
XLOOKUP Topics
#NAME? Exact Match Deafult
#NAME? 3 argumnets for Exact Match, one fewer than VLOOKUP
#NAME? Can insert Columns and it still works!!!!!
#NAME? Approximate Match using Exact Match , previous smallest, match_mode argument set to -1
#NAME? Approximate Match & You Don't Have To Sort!!!!!
#NAME? Approximate Match using Exact Match , previous biggest, match_mode argument set to 1
#NAME? Find Last Values, Amongst Duplicates
#NAME? Find First Values, Amongst Duplicates
#NAME? Lookup Lef
#NAME? Horizonal or Vertical Lookup, or Both
#NAME? Two Way Lookup
#NAME? Lookup Row
#NAME? Lookup Column
#NAME? Return Multiple Items.
#NAME? Can Retrieve whole record.
#NAME? But these methods require a static order and not dependent on Field Names
#NAME? Return Multiple Items.
#NAME? These methods are Dynamic! These methods lookup items based on Field Names.
#NAME? Old Methods
#NAME? New Methods
#NAME? Old and New Together
#NAME? Rearrange Columns
#NAME? Lookup Cell References
#NAME? Lookup Picture
#NAME? Lookup Table
#NAME? Wildcards
#NAME? Array Formulas
argument set to -1

rgument set to 1
XLOOKUP Topics
#NAME? Exact Match Deafult
#NAME? 3 argumnets for Exact Match, one fewer than VLOOKUP
#NAME? Can insert Columns and it still works!!!!!
#NAME? Approximate Match using Exact Match , previous smallest, match_mode argument set to -1
#NAME? Don’t Have To Sort correctly!!!!!
#NAME? Approximate Match using Exact Match , previous biggest, match_mode argument set to 1
#NAME? Find Last Values, Amongst Duplicates
#NAME? Find First Values, Amongst Duplicates
#NAME? Two Way Lookup
#NAME? Lookup Cell References
#NAME? Lookup Row
#NAME? Lookup Column
#NAME? Rearrange Columns
#NAME? Return Multiple Items.
#NAME? Can Retrieve whole record.
#NAME? But these methods require a static order and not dependent on Field Names
#NAME? Return Multiple Items.
#NAME? These methods are Dynamic! These methods lookup items based on Field Names.
#NAME? Old Methods
#NAME? New Methods
#NAME? Old and New Together
#NAME? Lookup Picture
#NAME? VLOOKUP?
#NAME? HLOOKUP?
#NAME? Horizontal & Vertical, like LOOKUP?
#NAME? Lookup Table
e argument set to -1

argument set to 1
Product Range (m) Birch (mm) Price
Carlota 24 8 29
Quad 22 8 43
Flattop 45 12 22
Sunshine 30 5 19

Exact Match Lookup Quad


Price 8 =VLOOKUP(B8,B3:F6,4,0) <<== Old
Price #NAME? {=_xlfn.xlookup(B8,B3:B6,F3:F6)} <<== New

XLOOKUP Notes:
1) Exact Match Deafult
2) 3 argumnets for Exact Match, one fewer than VLOOKUP
3) Can insert Columns and it still works!!!!!
Units Range Category Discount
00-4 Retail 0
5 5 - 15 Partial 0.1
16 16 - 23 Partial 0.25
24 24 - 47 Wholesale 0.3
48 48 - 143 Wholesale 0.43
144 >= 144 Wholesale 0.52

Date Product Price Units


08/16/19 Carlota 29 73
Lookup Units
Approximate Match Lookup on Units to get Discount

Discount 0.43 Old =LOOKUP(E12,B3:E8)


Discount 0.43 Old =LOOKUP(E12,B3:B8,E3:E8)
Discount 0.43 Old =VLOOKUP(E12,B3:E8,4)
Discount #NAME? New {=_xlfn.xlookup(E12,B3:B8,E3:E8,-1)} [match_mode] = -1 = Exact Mat
Discount #NAME? New, but No {=_xlfn.xlookup(E12,B3:B8,E3:E8,-1,2)}

XLOOKUP Notes:
4) Approximate Match using Exact Match , previous smallest, match_mode argument set to -1
5) Don’t Have To Sort correctly!!!!!
[match_mode] = -1 = Exact Match or Next Smallest

de argument set to -1
Goal: Retrieve Land Square Footage based on INDEX and MATCH to lookup in a table that is sorted dece
smallest Pipe Size Greater Than or Equal to MATCH with -1 (list sorted Descending)
Lookup Value MATCH finds the smallest value that is greater than or equ
Pipe Size ('') 11''
Square Footage 134,000 <= Old =INDEX(C10:C18,MATCH(C4,B10:B18,-1))
Square Footage #NAME? <= New {=_xlfn.xlookup(C4,B10:B18,C10:C18,1)}

XLOOKUP Notes:
Drain Pipe Size ('') Land Square Footage 6) Approximate Match using Exact Match , previous bigges
15'' 238,000
12'' 134,000
10'' 83,000
8'' 46,000
6'' 22,000
5'' 14,000
4'' 8,000
3'' 4,000
1'' 3,500
a table that is sorted decending order

hat is greater than or equal to lookup_value. The values in the lookup_array argument must be placed in descending order

[match_mode] = 1 = Exact Match or Next Biggest

ct Match , previous biggest, match_mode argument set to 1


ending order
Date Product Units Product What are Last Units Sold? - Based or Order of record
08/01/19 Sunshine 29 #NAME? #NAME? <=New
08/01/19 Carlota 44 #NAME? #NAME?
08/03/19 Quad 4 #NAME? #NAME?
08/04/19 Sunshine 19 #NAME? #NAME?
08/05/19 Carlota 5
08/09/19 Quad 33 Product What are Last Units Sold? - Based or Order of record
08/09/19 Carlota 43 #NAME? #NAME? <=New Spill
08/11/19 Sunshine 2 #NAME? #NAME?
08/16/19 Carlota 16 #NAME? #NAME?
08/16/19 Carlota 38 #NAME? #NAME?
08/16/19 Carlota 44
08/17/19 Flattop 25 Product What are Last Units Sold? - Based or Order of record
08/19/19 Carlota 12 Carlota #DIV/0! <=Old
08/19/19 Flattop 19 Flattop #DIV/0!
08/21/19 Sunshine 25 Quad #DIV/0!
08/22/19 Sunshine 4 Sunshine #DIV/0!
09/03/19 Carlota 20
XLOOKUP Notes:
19) Find Last Values, Amongst Duplica
[search_mode] = -1 = Search Las
Sold? - Based or Order of records as they sit in Worksheet
{=_xlfn.xlookup(F3,$C$3:$C$19,$D$3:$D$19,,-1)}

Sold? - Based or Order of records as they sit in Worksheet


{=_xlfn.xlookup(_xlfn.anchorarray(F9),C3:C19,D3:D19,,-1)}

Sold? - Based or Order of records as they sit in Worksheet


{=LOOKUP(2,1/($C$3:$C$19=F15),$D$3:$D$19)}

KUP Notes:
nd Last Values, Amongst Duplicates
[search_mode] = -1 = Search Last To First, or "Please Get Last, When There Are Duplicates"
Date Product Units Product What are First Units Sold? - Based or Order of record
08/16/19 Carlota 16 #NAME? #NAME? <=New
09/03/19 Carlota 20 #NAME? #NAME?
08/22/19 Sunshine 4 #NAME? #NAME?
08/16/19 Carlota 38 #NAME? #NAME?
08/19/19 Carlota 12
08/05/19 Carlota 5 Product What are First Units Sold? - Based or Order of record
08/21/19 Sunshine 25 #NAME? #NAME? <=New Spill
08/09/19 Quad 33 #NAME? #NAME?
08/03/19 Quad 4 #NAME? #NAME?
08/19/19 Flattop 19 #NAME? #NAME?
08/17/19 Flattop 25
08/04/19 Sunshine 19 Product What are First Units Sold? - Based or Order of record
08/01/19 Sunshine 29 Carlota 16 <=Old
08/09/19 Carlota 43 Flattop 19
08/16/19 Carlota 44 Quad 33
08/11/19 Sunshine 2 Sunshine 4
08/01/19 Carlota 44 XLOOKUP Notes:
20) Find First Values, Amongst Duplica
It will do this by default
Sold? - Based or Order of records as they sit in Worksheet
{=_xlfn.xlookup(F3,$C$3:$C$19,$D$3:$D$19)}

Sold? - Based or Order of records as they sit in Worksheet


{=_xlfn.xlookup(_xlfn.anchorarray(F9),C3:C19,D3:D19)}

Sold? - Based or Order of records as they sit in Worksheet


=VLOOKUP(F15,$C$3:$D$19,2,0)

KUP Notes:
nd First Values, Amongst Duplicates
It will do this by default
Product Range (m) Birch (mm) Price
Carlota 24 8 29
Quad 22 8 43
Flattop 45 12 22
Sunshine 30 5 19

Outward Flight of Boomerng? 22


Boomerang To Use Quad =INDEX(B3:B6,MATCH(B8,C3:C6,0)) <<== Old
Boomerang To Use #NAME? {=_xlfn.xlookup(B8,C3:C6,B3:B6)} <<== New

XLOOKUP Notes:
9) Lookup To Lef
Range (m)
#NAME?
#NAME?
#NAME?
#NAME?
Product Range (m) Birch (mm) Price
Carlota 24 8 29
Quad 22 8 43
Flattop 45 12 22
Sunshine 30 5 19

Exact Match Lookup Quad


Price 43 =VLOOKUP(B8,B3:E6,4,0) <<== Old
Price #NAME? {=_xlfn.xlookup(B8,B3:B6,E3:E6)} <<== New

XLOOKUP Notes:
10) Can do Horizonal or Vertical Lookup, or Both

Category/Product Carlota Quad Flattop Sunshine


Range (m) 24 22 45 30
Birch (mm) 8 8 12 5
Price 29 43 22 19

Exact Match Lookup Quad


Price 43 =HLOOKUP(B21,C16:F19,4,0) <<== Old
Price #NAME? {=_xlfn.xlookup(B21,C16:F16,C19:F19)} <<== New

Both Vertical and Horizontal:


Exact Match Lookup Quad
Price 43 =INDEX(E3:E6,MATCH(B26,C16:F16,0)) <<== Old
Price #NAME? {=_xlfn.xlookup(B26,C16:F16,TRANSPOSE(E3:E6))} <<== New

#NAME? #NAME? #NAME? #NAME? #NAME?


#NAME? #NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME? #NAME?

Product Carlota Quad Flattop Sunshine


Range (m) 24 22 45 30
Birch (mm) 8 8 12 5
Price 29 43 22 19
Tax Rate?
Income/Exemptions 0 1 2 3 4
0 0.08 0.07 0.06 0.05 0.04
550 0.09 0.08 0.07 0.06 0.05
1000 0.1 0.09 0.08 0.07 0.06
1750 0.11 0.1 0.09 0.08 0.07
2555 0.12 0.11 0.1 0.09 0.08

Income (Row) 1500


Exemption (Column) 2
Tax Rate #NAME? <=New {=_xlfn.xlookup(C9,B3:B7,_xlfn.xlookup(C10,C2:G2,C
Tax Rate 0.08 <=Old {=VLOOKUP(C9,B3:G7,MATCH(C10,B2:G2))}
Tax Rate 0.08 <=Old =INDEX(C3:G7,MATCH(C9,B3:B7),MATCH(C10,C2:G2)

XLOOKUP Notes:
11) Two Way Lookup

#NAME?
#NAME?
#NAME?
#NAME?
#NAME?

Rates:
Err:511 Err:511 Err:511 Err:511 Err:511
Err:511 Err:511 Err:511 Err:511 Err:511
Err:511 Err:511 Err:511 Err:511 Err:511
Err:511 Err:511 Err:511 Err:511 Err:511
Err:511 Err:511 Err:511 Err:511 Err:511
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME?

,_xlfn.xlookup(C10,C2:G2,C3:G7,-1),-1)}
ATCH(C10,B2:G2))}
9,B3:B7),MATCH(C10,C2:G2))
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
Sales
Product Jan Feb Mar
Carlota 24 8 29
Flattop 45 12 22
Quad 22 8 43
Sunshine 30 5 19

Exact Match Lookup Total Sales 73 Old =SUM(INDEX(C3:E6,MATCH(A9,B3:B6,0),0))


Quad Total Sales 73 New =SUM(_xlfn.xlookup(A9,B3:B6,C3:E6))

XLOOKUP Notes:
12) Lookup Row
Sales
Product Jan Feb Mar
Carlota 24 8 29
Flattop 45 12 22
Quad 22 8 43
Sunshine 30 5 19

Exact Match Lookup Total Sales 33 Old =SUM(INDEX(C3:E6,,MATCH(A9,C2:E2,0)))


Feb Total Sales 33 New =SUM(_xlfn.xlookup(A9,C2:E2,C3:E6))

XLOOKUP Notes:
13) Lookup Column
Product Range (m) Birch (mm) Price
Carlota 24 8 29
Flattop 45 12 22
Quad 22 8 43
Sunshine 30 5 19

Exact Match Lookup


Quad Product Price Birch (mm) Price
Quad 22 8 43 <<== Old-Old
Quad 22 8 43 <<== Old Spill
#NAME? #NAME? #NAME? #NAME? <<== New Spill
#NAME? #NAME? #NAME? #NAME? <<== New Spill

XLOOKUP Notes:
14) Return Multiple Items.
15) Can Retrieve whole record.
16) But these methods require a static order and not dependent on Field Names
{=VLOOKUP($A9,$B$3:$E$6,COLUMNS($B10:B10),0)}
{=VLOOKUP(A9,B3:E6,{1,2,3,4},0)}
{=_xlfn.xlookup(A9,B3:B6,B3:E6)}
{=_xlfn._xlws.filter(B3:E6,B3:B6=A9)}

ndent on Field Names


Product Range (m) Birch (mm) Price
Carlota 24 8 29
Flattop 45 12 22
Quad 22 8 43
Sunshine 30 5 19

Exact Match Lookup


Quad Product Price Birch (mm) Range (m)
Quad 43 8 22 <<== Old-Copy
Quad 43 8 22 <<== Old Spill
#NAME? #NAME? #NAME? #NAME? <<== New Spill
#NAME? #NAME? #NAME? #NAME? <<== Old/New Spill
#NAME? #NAME? #NAME? #NAME? <<== Old/New Spill

XLOOKUP Notes:
17) Return Multiple Items, Return the Record, Two-Way Lookup.
18) These methods are Dynamic! These methods lookup items based on Field Names.
19) Old Methods
20) New Methods
21) Old and New Together
{=VLOOKUP($A$9,$B$3:$E$6,MATCH(B9,$B$2:$E$2,0),0)} Dynamic, depending on Field Names
{=VLOOKUP(A9,B3:E6,MATCH(B9:E9,B2:E2,0),0)} Dynamic, depending on Field Names
{=_xlfn.xlookup(B9:E9,B2:E2,_xlfn.xlookup(A9,B3:B6,B3:E6))} Dynamic, depending on Field Names
{=INDEX(B3:E6,_xlfn.xmatch(A9,B3:B6),_xlfn.xmatch(B9:E9,B2:EDynamic, depending on Field Names
{=VLOOKUP(A9,B3:E6,_xlfn.xmatch(B9:E9,B2:E2),0)} Dynamic, depending on Field Names

based on Field Names.


Product Range (m) Birch (mm) Price
Carlota 24 8 29
Flattop 45 12 22
Quad 22 8 43
Sunshine 30 5 19

Exact Match Lookup


Quad Product Price Range (m) Birch (mm) New =>
#NAME? #NAME? #NAME? #NAME? {=_xlfn.xlookup(B9,$B$2:$E$2,$B$3:$E$6)}
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME? XLOOKUP Notes:
22) Rearrange Columns

Product Price Range (m) Birch (mm) Old / New =>


#NAME? #NAME? #NAME? #NAME? {=INDEX(B3:E6,_xlfn.sequence(ROWS(B3:B6
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME? #NAME? #NAME?
Old =>
Product Price Range (m) Birch (mm)
okup(B9,$B$2:$E$2,$B$3:$E$6)}Carlota 29 24 8 {=INDEX($B$3:$E$6,,MATCH(J9,$B$2:$E$2,0))}
Flattop 22 45 12
Quad 43 22 8
Sunshine 19 30 5
nge Columns

3:E6,_xlfn.sequence(ROWS(B3:B6),,1,1),_xlfn.xmatch(B9:E9,B2:E2))}
ATCH(J9,$B$2:$E$2,0))}
Sales
Product Jan Feb Mar Apr May Jun
Total Sales 24 22 24 35 30 32

Start Month Feb


End Month Nov

Total Sales 236 Old =SUM(INDEX(C3:N3,MATCH(B5,C2:N2,0)):INDEX(C3:N3,MATC


Total Sales 236 New =SUM(_xlfn.xlookup(B5,C2:N2,C3:N3):_xlfn.xlookup(B6,C2:N

XLOOKUP Notes:
22) Lookup Cell References
Jul Aug Sep Oct Nov Dec
30 12 15 18 18 29

2:N2,0)):INDEX(C3:N3,MATCH(B6,C2:N2,0)))
3:N3):_xlfn.xlookup(B6,C2:N2,C3:N3))
Product Picture

Carlota

Quad

Deuce

Exact Match Lookup V

Picture #NAME? {=_xlfn.xlookup($B$8,$B$3:$B$6,$C$3:$C$6)}

Picture 0 =INDEX($C$3:$C$6,MATCH($B$8,$B$3:$B$6,0))

XLOOKUP Notes:
15) Lookup Picture
<<== Old

<<== New
Excel Magic Trick 1316: VLOOKUP with Multiple Lookup Tables: IF, INDIRECT, SWITCH, IFS, or CHOOSE?
https://www.youtube.com/watch?v=R5RVdzsoVIo

Old => =LOOKUP(B8,_xlfn.switch(A8,$F$7,$F$9:$G$12,$F$14,$F$16:$G$19,$F$21,$F$23:$G$26))


Old => {=_xlfn.xlookup(B8,_xlfn.switch(A8,$F$7,$F$9:$F$12,$F$14,$F$16:$F$19,$F

Product Units Sold Commisson Rate Commisson Rate ABC


ABC 510 0.06 #NAME? Units Sold
EDS 295 #NAME? #NAME? 0
ABC 354 #NAME? #NAME? 100
EDR 152 #NAME? #NAME? 200
ABC 293 #NAME? #NAME? 500
ABC 131 #NAME? #NAME?
EDR 342 #NAME? #NAME? EDR
ABC 290 #NAME? #NAME? Units Sold
EDS 100 #NAME? #NAME? 0
EDR 536 #NAME? #NAME? 200
ABC 236 #NAME? #NAME? 300
EDR 363 #NAME? #NAME? 400
EDR 43 #NAME? #NAME?
ABC 22 #NAME? #NAME? EDS
EDS 165 #NAME? #NAME? Units Sold
EDR 285 #NAME? #NAME? 0
ABC 281 #NAME? #NAME? 300
ABC 234 #NAME? #NAME? 500
EDS 385 #NAME? #NAME? 750
FS, or CHOOSE?

16:$G$19,$F$21,$F$23:$G$26))
$F$7,$F$9:$F$12,$F$14,$F$16:$F$19,$F$21,$F$23:$F$26),_xlfn.switch(A8,$F$7,$G$9:$G$12,$F$14,$G$16:$G$19,$F$21,$G$23:$G$26),-1

XLOOKUP Notes:
Commission Rate 25) Lookup Table 0.06 1
1.00% 0.02 #NAME?
2.00% 0.04 #NAME?
4.00% 0.01 #NAME?
6.00% 0.04 #NAME?
0.02 #NAME?
0.04 #NAME?
Commission Rate 0.04 #NAME?
1.00% 0.02 #NAME?
2.00% 0.06 #NAME?
4.00% 0.04 #NAME?
6.00% 0.04 #NAME?
0.01 #NAME?
0.01 #NAME?
Commission Rate 0.02 #NAME?
2.00% 0.02 #NAME?
3.00% 0.04 #NAME?
4.00% 0.04 #NAME?
5.00% 0.03 #NAME?
16:$G$19,$F$21,$G$23:$G$26),-1)}
XLOOKUP Notes:
26) Wildcard Lookup = * = zero or more characters, ? = single character

Name Phone Names Phone Phone


Coca Cola 206-987-2319 Cola #NAME? 206-987-2319
Dupont Inc. 206-567-2254 Cola #NAME? #N/A
Amazon 206-922-0027 Dupont Inc. #NAME? #N/A

New =>
{=_xlfn.xlookup("*"&E7&"*",$B$7:$B$9,$C$7:$C$9,2)}
Old =>
=VLOOKUP("*"&E7&"*",$B$7:$C$9,
B$9,$C$7:$C$9,2)}

*"&E7&"*",$B$7:$C$9,2,0)
Product Sales Rep Date Units Goal: Lookup Latest Date and Units Sold for ea
Carlota Gigi 08/01/19 243
Sunshine Junni 08/01/19 248 Hurdle 175
Quad Tyrone 08/03/19 464
Sunshine Chantel 08/04/19 213 Product Date
Carlota Chantel 08/05/19 426 Carlota #NAME?
Quad Gigi 08/09/19 356 Flattop #NAME?
Carlota Tyrone 08/09/19 385 Quad #NAME?
Sunshine Tyrone 08/11/19 259 Sunshine #NAME?
Carlota Junni 08/16/19 116
Carlota Junni 08/16/19 292 Product Date
Carlota Tyrone 08/16/19 57 Carlota #NAME?
Flattop Tyrone 08/17/19 175 Flattop #NAME?
Carlota Chantel 08/19/19 245 Quad #NAME?
Flattop Chantel 08/19/19 209 Sunshine #NAME?
Sunshine Chantel 08/21/19 54
Sunshine Tyrone 08/22/19 92 Product Date
Carlota Gigi 09/03/19 169 Carlota #DIV/0!
Flattop #DIV/0!
Quad #DIV/0!
Sunshine #DIV/0!
Latest Date and Units Sold for each Product, but only if Units are Greater Than 175

Units New / Old =>


#NAME? {=INDEX(_xlfn._xlws.sort(_xlfn._xlws.filter($D$4:$E$20,($E$4:$E$20>$H$5)*($B$4:$B$20=G8))),COUNTIF
#NAME?
#NAME?
#NAME?

Units New =>


#NAME? {=_xlfn.xlookup(2,1/(($B$4:$B$20=$G8)*($E$4:$E$20>$H$5)),D$4:D$20,-1,-1)}
#NAME?
#NAME?
#NAME?

Units Old =>


#DIV/0! {=LOOKUP(2,1/(($B$4:$B$20=$G8)*($E$4:$E$20>$H$5)),D$4:D$20)}
#DIV/0!
#DIV/0! XLOOKUP Notes:
#DIV/0! 27) Array Formula Lookup
5)*($B$4:$B$20=G8))),COUNTIFS($B$4:$B$20,G8,$E$4:$E$20,">"&$H$5),)}

You might also like