2015-07-11 119 views
0

我需要一點幫助。我正在嘗試使用INDEX MATCH公式,但它沒有給我想要的結果。這是我的查詢。INDEX MATCH不給我想要的結果

我有2個表格。表1是彙總表,表2是一些特定客戶的列表。 在我的表格表1中,有客戶名稱和佣金額欄。

我只是想,當有客戶名稱在客戶欄輸入這個名字也列於表2,簡單地乘以10列3否則將狀態0

我曾嘗試是如下所示: IF(MATCH([Customer Name],Table2 [Commission],0),[Quantity] * 0.1,「0」)

它返回客戶名稱輸入時的值,也列在表2中,但當輸入的其他客戶名稱未列在表2中時,它不顯示0.請審查並幫助我。

謝謝。

回答

0

一般你不應該使用那樣的IFIF只是評估一個陳述,以確定它是否是TRUEFALSE。在這種情況下,當未找到匹配時,MATCH將返回#N/A(錯誤),導致表達式因爲返回錯誤而停止評估。

有幾種方法可以解決這個問題,但您可以先使用ISERROR來確定是否找到匹配項。

=IF(ISERROR(MATCH([Customer Name],Table2[Commission],0)),0,[Quantity]*0.1) 

現在您的函數將檢查MATCH是否被評估爲錯誤。如果是錯誤,請返回0,否則返回[Quantity]*0.1

+0

它正在工作。我只需要知道一件事。在IF聲明中,我將數量* 0.10放在真實場景中,爲什麼將它放在虛假場景中? –

+0

@SalmanKhan:在這種情況下,我們正在檢查'MATCH'是否被評估爲錯誤。 'IF'是一個錯誤('TRUE'),然後返回'0',否則返回'[Quantity] * 0.1'。如果你喜歡(也就是說,如果它不是錯誤,返回'[Quantity] * 0.1',否則返回'0'),你可以用'NOT(ISERROR(...))'來反轉邏輯。如果您逐步完成「評估公式」的步驟並查看發生了什麼,這可能會更加明顯。 – grovesNL

+0

非常感謝你詳細解釋我。非常感謝 –