Double Xlookup & Data Validation

EWRUCK

New Member
Joined
Nov 28, 2024
Messages
16
Office Version
  1. 365
Platform
  1. Windows
Hi, I have a data validation for a competency selection. Which then limits the selection on sub competency you can choose based on that drop down. I'm using List and =Indirect in that data validation. Under that there are three ratings, Descriptions, Meets expectations and exceeds expecations. I'm struggling to get those to be dependent on those drop downs without writing extensive if formulas. I have tried double xlookups with and without data validation. I have reformatted the data to switch the columns and rows to align in the as the chart is.

Specifically looking at C12 -D15. There is some extra in here, this is the first I have used the XL2bb.

Cell Formulas
RangeFormula
D6:F6D6=XLOOKUP(D5,'Competency Chart'!$A$2:$A$24,'Competency Chart'!$B$2:$D$24,XLOOKUP('Competency Chart'!$B$1:$D$1,Test!A11:B13,'Competency Chart'!$B$2:$D$24,),)
D7:F7D7=XLOOKUP(D5,'Competency Chart'!$A$2:$A$24,'Competency Chart'!$B$2:$D$24,XLOOKUP('Competency Chart'!$B$1:$D$1,Test!A12:B14,'Competency Chart'!$B$2:$D$24,),)
D8:F8D8=XLOOKUP(D5,'Competency Chart'!$A$2:$A$24,'Competency Chart'!$B$2:$D$24,XLOOKUP('Competency Chart'!$B$1:$D$1,Test!A13:B15,'Competency Chart'!$B$2:$D$24,),)
D13D13=XLOOKUP(D12,COMPETTBL[[#Headers],[Transparent Communication]:[Staff Management]],XLOOKUP(Sheet1!C13,COMPETTBL[Competencies],COMPETTBL[[Transparent Communication]:[Staff Management]]))
D14D14=XLOOKUP(XLOOKUP(D12,COMPETTBL[[#Headers],[Transparent Communication]:[Staff Management]],COMPETTBL[[Transparent Communication]:[Staff Management]]), Sheet1!C13,COMPETTBL[[Transparent Communication]:[Staff Management]])
D15D15=XLOOKUP(C15,COMPETTBL[Competencies],XLOOKUP(Sheet1!D12,COMPETTBL[[#Headers],[Transparent Communication]:[Staff Management]],COMPETTBL[[Transparent Communication]:[Staff Management]]))
Dynamic array formulas.
Named Ranges
NameRefers ToCells
Accountability='Competency Chart'!$B$3:$D$3D6:D8
Attendance___Punctuality='Competency Chart'!$B$10:$D$10D6:D8
Availability_Reliability='Competency Chart'!$B$20:$D$20D6:D8
Change_Management='Competency Chart'!$B$22:$D$22D6:D8
Collaboration_Team_Work='Competency Chart'!$B$11:$D$11D6:D8
Descriptions='Competency Chart'!$B$2:$B$24D6:D8
Documentation_and_Record_Keeping='Competency Chart'!$B$13:$D$13D6:D8
Engagement='Competency Chart'!$B$8:$D$8D6:D8
Equity='Competency Chart'!$B$19:$D$19D6:D8
Ethical_Leadership='Competency Chart'!$B$5:$D$5D6:D8
Exceeds_Expectations='Competency Chart'!$D$2:$D$24D6:D8
Fiscal_Management='Competency Chart'!$B$23:$D$23D6:D8
Flexibility='Competency Chart'!$B$9:$D$9D6:D8
Initiative='Competency Chart'!$B$7:$D$7D6:D8
Meets_Expectations='Competency Chart'!$C$2:$C$24D6:D8
Professional__Development='Competency Chart'!$B$12:$D$12D6:D8
Project_Management='Competency Chart'!$B$21:$D$21D6:D8
Quality_of_Work='Competency Chart'!$B$16:$D$16D6:D8
Quantity_of_Work='Competency Chart'!$B$17:$D$17D6:D8
Respect='Competency Chart'!$B$4:$D$4D6:D8
Safety__Equipment_Training='Competency Chart'!$B$15:$D$15D6:D8
Self___Time_Management='Competency Chart'!$B$18:$D$18D6:D8
Service='Competency Chart'!$B$6:$D$6D6:D8
Staff_Management='Competency Chart'!$B$24:$D$24D6:D8
Technical_Expertise='Competency Chart'!$B$14:$D$14D6:D8
Transparent_Communication='Competency Chart'!$B$2:$D$2D6:D8
Cells with Data Validation
CellAllowCriteria
C5List=Lists!$A$2:$A$5
D5List=INDIRECT($C$5)
C12List=Lists!$A$2:$A$5
D12List=INDIRECT($C$12)
Lambda Functions
NameFormula
DDL=LAMBDA(range,[lookup1],[lookup2],[lookup3],[lookup4],[lookup5],[lookup6],[lookup7],[lookup8],[lookup9],[lookup10],LET(_s, "%^&&@", lookupValue, lookup1 & _s & lookup2 & _s & lookup3 & _s & lookup4 & _s & lookup5 & _s & lookup6 & _s & lookup7 & _s & lookup8 & _s & lookup9 & _s & lookup10, levelIndex, IFERROR(ROWS(TEXTSPLIT(lookupValue, , _s, TRUE())), 0) + 1, lookupArray, BYROW(EXPAND(CHOOSECOLS(range, SEQUENCE(1, levelIndex - 1)), , 10, ""), LAMBDA(row, TEXTJOIN(_s, FALSE, row))), returnRange, INDEX(range, 0, levelIndex), result, IF(ISOMITTED(lookup1) * levelIndex = 1, returnRange, XLOOKUP(lookupValue, lookupArray, returnRange):XLOOKUP(lookupValue, lookupArray, returnRange, , , -1)), result))
 

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top