
答案1
您的公式沒有構造失敗,因此問題不是由該原因引起的。正如所寫,它在邏輯上是有效的,因此無法產生必須是由於使用了使用函數等,或者是由於它們使用的值。
我所說的「使用功能…被投入」是指有時使用的形成會因為人們可能沒有想到的中間步驟而導致問題。例如,要使用一個假的例子,“假”,因為它實際上並不是一個會導致問題的東西(但沒有真正的例子跳到腦海中),假設問題在於TODAY()
從一個值中減去,然後將其與一些其他的價值。喜歡:
=$T9 - TODAY() <= Key!$M$14
假設在計算該公式期間,如果左半部產生負值,Excel 將會出錯。 (這不是因為 Excel 在處理時不考慮任何“類型”,因此它不需要日期結果,因此如果結果為負值,它不會出錯。但假裝。)因此 Excel 會將該負數作為其第一個結果然後立即評估公式和錯誤,而不是繼續。它將將該錯誤帶到以後的每個計算中,因此內部的最終結果IFERROR()
將是一個錯誤並為您提供該結果。
(同樣,這是假裝的。但是作為如何快速克服這個問題的一個例子,您可能只是簡單地以代數方式將 移動TODAY()
到右側,在那裡它可能會被添加到正值,因此在評估時它永遠不會給出臨時值結果為負,因此永遠不會觸發錯誤。
正如我所說,這對您的配方中的任何成分都不是問題。所以現在只剩下唯一真正的可能性: some component (cell) used in one of the
AND() components contains an error
。
例如,這與您是否真的想要或Key!$M$9
不想要或任何此類考慮無關。Key!$M$14
T14
T9
(除非以間接方式:如果公式中存在錯誤選擇的成員,則假設T9
需要T14
ANDT9
恰好有錯誤,而T14
沒有錯誤。)
因此,選擇使用能夠增強而IFERROR()
不是成功評估的公式,並查看其中引用的每個單元格。一個好的、快速的方法是複製其中一個單元格中的公式Error
(按F2,突出顯示所有內容並複製,然後轉到某處的某個空白區域,這樣您就可以在不損壞任何內容的情況下工作,然後按F2 並貼上—公式將具有與您從模具中獲得的完全相同的參考)。然後,在公式下方的儲存格中,輸入=
每個儲存格引用。所以:
=T9
=Key!$n$14
等等。可以這麼說,現在您已經清楚地看到了一切。如果其中一個元件顯示 Excel 錯誤(例如儲存格的結果除以 0),那麼罪魁禍首就是您。幸運的是,只有一個罪魁禍首。
在建立電子表格時,這通常是一個問題,因為一個人進行了測試更改,然後意識到需要另一個和另一個來進行測試,依此類推,生成多個工作分支,但無法找到返回到良好起點的路徑所需的幾個不同的更改(因此,不是合併分支,而是最終以奇怪的方式將兩個或多個分支壓在一起),這通常會導致T9 和Key 等使用的單元位址真正不匹配!但正如這種明顯的不匹配很可能是完美的匹配一樣,這條路可能不會通往他們。只是經常。
然而,我想說,到目前為止,更常見的問題是先行公式導致錯誤,因此在依賴公式中呼叫它們的儲存格會導致錯誤結果。發生這種情況的原因有很多,但由於人們通常認為公式問題是構造問題,因此人們很少回顧所調用的實際單元格。特別是當第一次使用效果很好並且只是一些“複製和貼上”的公式導致錯誤時。
因此,無論您做什麼,您都必須選擇其中一個失敗結果,並查看所處理的每個組件單元,無論您是否“知道”其中一個或多個“不能”推動錯誤。
我忘記提及的一件事是,我設定了公式,具體到具有工作表的工作表名稱等,並且它運行得非常好。直到我在引用的單元格之一中創建錯誤條件。因此,按照建置的方式運作,並在仔細的設定中測試您的 TRUE 和 FALSE 分支的正確結果IF()
,在引用的儲存格中沒有錯誤。但如果在其中任何一個中出現錯誤,它都會傳回結果IFERROR()
。