2016-06-21 64 views
1

以下公式按預期工作。它在列任一顯示#N/A或它顯示與其它表中提取的金額:IF(ISNA)不能正常工作

=INDEX('Import Invoice Upload'!K:K, 
     MATCH(VALUE(A54), VALUE('Import Invoice Upload'!C:C), 0)) 

我試圖使用修改它IF(ISNA),這樣我可以顯示「」,而不是# N/A。

下面的公式會在它應該顯示時顯示「」,但它不應顯示美元值,而應按上述公式進行計算。

=IF(ISNA(INDEX('Import Invoice Upload'!K:K, 
    MATCH(VALUE(A22), VALUE('Import Invoice Upload'!C:C), 0))), "", 
    INDEX('Import Invoice Upload'!K:K, 
      MATCH(VALUE(A22), VALUE('Import Invoice Upload'!C:C), 0))) 

請讓我知道我錯過了什麼。

+0

我沒有看到任何錯誤的公式,雖然很難與所有的鬼臼周圍飛來飛去。也許'= iferror()'會更好:'= IFERROR(INDEX('Import Invoice Upload'!K:K,MATCH(VALUE(A22),VALUE('Import Invoice Upload'!C:C),0)) ,「」)' – JNevill

+0

只是好奇,Value()做了什麼?另外,如果你拿出'If(IsNa(...)'而只留下'Index/Match',你會得到美元數額嗎? – BruceWayne

+1

@BruceWayne它將文本強制轉換爲數字,所以他可以混合使用真實數字和數字作爲文本存儲在範圍內,但爲了在Match()中工作,它需要數組輸入。 – teylyn

回答

1

您的第一個公式必須是數組輸入(使用Ctrl-Shift-Enter)才能通過Match的Value()函數解析範圍。

當您將公式包裝到IF(ISNA(公式),「」,公式)中時,您還必須使用Ctrl-Shift-Enter進行確認。完成此操作後,您發佈的公式將返回預期結果。

enter image description here

0

謝謝你,所有的建議。 Ctrl-Shift-Enter很有趣。我需要更多地探索,因爲我無法實現它。但是,如果錯誤使我在正確的軌道與下面的解決方案爲我工作:

=IF(ISERROR(INDEX('Import Invoice Upload'!K:K, MATCH(VALUE(A219), VALUE('Import Invoice Upload'!C:C), 0))),"",(INDEX('Import Invoice Upload'!K:K, MATCH(VALUE(A219), VALUE('Import Invoice Upload'!C:C), 0))))