簡體   English   中英

使用INDEX和MATCH查找兩個標准

[英]Lookup using INDEX and MATCH with two criteria

我正在嘗試使用INDEX和MATCH實現基本查找。 我的布局是:

Sheet 1
NAME | SITE | DATE

Sheet 2
NAME | SITE | DATE

我希望工作表1中的“站點”列自動填充表2中與SAME和DATE匹配的SITE。

我試過的

=INDEX('Sheet2'!B:B,MATCH(A1,'Sheet2'!A:A,0))

這將成功匹配的名字,但我怎么能結合另外的MATCH代入方程式, 同時匹配名稱日期?

您可以使用這樣的“數組公式”

=INDEX('Sheet2'!B:B,MATCH(1,(A1='Sheet2'!A:A)*(C1='Sheet2'!C:C),0))

CTRL + SHIFT + ENTER

....或者您可以添加另一個INDEX函數,以便它不需要“數組輸入”,即

=INDEX('Sheet2'!B:B,MATCH(1,INDEX((A1='Sheet2'!A:A)*(C1='Sheet2'!C:C),0),0))

或者另一種方式是使用這樣的LOOKUP

=LOOKUP(2,1/(A1='Sheet2'!A:A)/(C1='Sheet2'!C:C),'Sheet2'!B:B)

如果有多個......后一種方法會給你最后一場比賽......

我建議這種問題的傳統解決方案是連接一對搜索項(即輔助列)並將連接對添加到查找數組。

SO18767439的例子

在上面的示例中,查找內容(而不是在哪里查找)的串聯是“即時”完成的。

以下是不使用數組且不使用輔助列的解決方案:

<i>=INDEX(Table[returnColumnName], 
MATCH(1, INDEX((Table[lookupColumn1] = "arraysAreSlow") * 
(Table[lookupColumn2] = "avoidWherePossible"), 0, 1), 0))</i>

以下是執行網格查找的更高級解決方案:

<i>=INDEX(Table,
MATCH(1, INDEX((Table[lookupColumn1] = "arraysAreSlow") * 
(Table[lookupColumn2] = "avoidWherePossible"), 0, 1), 0),
MATCH("returnColumnName", Table[#Headers],0))</i>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM