我嘗試使用多個搜索條件查找記錄。我想將員工的角色和年份與最大年份之間的年數與下面的「標題」相匹配。如果可能,我想堅持使用函數。使用多個搜索條件查找記錄,包括範圍
Title Role Min Year Max Year
Senior Sales Sales 6 99
Middle Sales Sales 2 5
Junior Sales Sales 0 1
Sr. Counsel Counsel 0 99
Jr Counsel Counsel 0 99
Senior Staff Staff 6 99
Middle Staff Staff 2 5
Junior Staff Staff 0 1
Other Other 0 99
例如,比爾的銷售額爲一年,並應具有標題初級銷售額。喬,工作了10年,應該是高級職員。
ID Last Name Title Seniority Expected Result
1 Nye Bill Sales 1 Junior Sales
2 Smith Joe Staff 10 Senior Staff
此公式返回正確的結果,但只有當它的「前輩」級稱號,沒有其他人(#REF)。
=INDEX($A$2:$A$10,MATCH($D20,$B$2:$B$10,0),MATCH($E20,$D$2:$D$10,-1))
下面是返回角色的第一個實例的公式:
=INDEX(A2:A10,AND(MATCH(D20,B2:B10,0),SUMPRODUCT(--(E20<=D2:D10),--(E20>=C2:C10))))
它返回的「高級銷售」,而不是「初級銷售」。
謝謝。
有一點需要注意的是,如果沒有數據匹配,max函數仍會返回0.如果行號= 0,索引可以做奇怪的事情。顯然,它會返回與輸入公式相同行中的值,或者如果公式在索引行範圍之外的行中返回0。 – gtwebb
@ gtwebb你是對的。如果沒有匹配,它會每次返回第一行。 –
我在玩它,它並不總是返回第一行。如上所述,它似乎取決於輸入公式的哪一行。 – gtwebb