2016-06-21 149 views
1

我試圖在Google工作表中返回一個值。 這是使用索引匹配如下完成,這沒有問題:Google表格中嵌套的IF,INDEX和MATCH

=iferror(index(Data!B:B, match(B5339,Data!G:G,0)),"Not Found") 

我現在想擴大這一點,所以,如果第一次測試失敗,請嘗試另一個工作表中查找相同的數據.. ...

=iferror(if(index(Data!B:B, match(B5340,Data!G:G,0),if(index(HeadOfficeLeads!B:B, match(B5340,HeadOfficeLeads!A:A,0))))),"Not found") 

這輸出「未找到」的失敗消息。 然而,雖然第一個測試確實是錯誤的,但第二個測試是真實的(第二個數據集實際上確實匹配)。

NB - 包含在第二頁這個正確的匹配數據由UNIQUE (FILTER, FWIW....

出於某種原因創建的,它並不像第二個IF語句是正在運行 - 整個事情不工作,給錯誤「參數數量錯誤」。

我有一種感覺,爭論的問題是,第一個測試沒有「如果虛假」條款 - 但相信「IFERROR」父母應該處理這個? 如果不是,我會在哪裏放置IF's的「if false clause」?

回答

0

您不需要任何if,因爲iferror已在其邏輯中包含if語句(如其名稱所示)。下面是嵌套iferror陳述,爲了清楚而簡化的示例:

=iferror(match("a", A1:A5, 0), iferror(match("a", B1:B5", 0), "not found")) 

這將返回的「一」在列A中的位置,如果它的存在;否則,它將在列B中返回其位置,否則返回「未找到」。

index或其他match功能相同。