在 Mac 版 Numbers 中,使用輸入檢查延後除法,直到必要的儲存格準備就緒;或使用 IFERROR 將錯誤替換為指定結果。對於尚未完成的範本,讓缺少結果的儲存格在視覺上保持空白,同時保留有效的零值。

本指南使用一個合成的物件計數表:已計數物件除以物件總數。內容依據 Apple 目前的 Mac 指南(標示 Numbers 15.4)及 Apple 的函數說明。你可以透過 Numbers > 關於 Numbers 查看已安裝的版本。Numbers 使用手冊(Mac 版)

選擇未完成的結果應代表什麼

假設某一列包含六個已計數物件,總數為十二。分數為 6/12,也就是 0.5。如果總數為零,除法無法得出有效結果;Apple 明確說明除以零會產生錯誤。變更公式之前,先決定範本在這種情況下應顯示什麼。IFERROR

此範本採用以下規則。這些是本範例的設計選擇,並非 Numbers 內建規則。

輸入條件 預期結果 原因
缺少必要輸入 視覺上保持空白 該列尚未完成
物件總數為零 視覺上保持空白,並顯示狀態訊息 此分數未定義
計數為零且總數大於零 數值 0 結果有效
兩個輸入都是適當的數值,且總數不為零 計算出的分數 該列已就緒
輸入包含一般文字 更正訊息 需要處理輸入

缺少輸入和輸入為零的差異很重要。若將 0 設為每個未完成列的預設值,未填寫的列看起來就會像是已完成、且計數為零。只有在這種解讀符合工作需求時,才選擇以數值零作為預設值。

輸入公式,讓它等待缺少的輸入

建立一個包含一列標題的表格,並加入以下欄。下列公式應與輸入資料位於同一個表格;未使用的輸入儲存格請保持真正空白。

欄 標題 第 2 列的初始範例
A 群組 區塊
B 已計數物件 6
C 物件總數 12
D 已計數分數 公式
E 輸入狀態 暫時留空

選取 D2,輸入 =,再輸入下方公式。按 Return 確認。如果你已輸入開頭的等號,只需輸入公式其餘部分。Apple 在插入公式的說明中記載了此操作方式。在 Mac 版 Numbers 中使用表格儲存格的資料計算數值

=IF(ISBLANK(B2),"",IF(ISBLANK(C2),"",IF(C2=0,"",B2/C2)))

此公式會先檢查計數,再檢查總數,最後檢查總數是否為零。對於這些未完成或未定義的情況,公式會傳回空字串;否則就會進行除法。Apple 說明支援巢狀 IF 函數,每個 IF 都會依條件傳回值。IF

當輸入資料會是數值或真正空白的儲存格時,請使用此版本。它會保留有效的分子零值:當 B2 等於 0,且 C2 等於 12 時,結果為 0。此公式不會驗證計數是否為整數、任一輸入是否為負數,或計數是否超過總數。如果範本需要這些檢查,請加入符合工作需求的檢查。

了解空白與看起來空白的差異

公式中的 "" 是包含零個字元的字串。它會讓結果看起來空白,但儲存格中仍有公式。Apple 將字串定義為包含零個或多個字元,並將 ISBLANK 定義為檢查儲存格是否完全空白。因此,不要使用 ISBLANK(D2) 來判斷此公式是否產生可用數值。引數與值的類型、ISBLANK

空格也會造成影響:Apple 指出,即使儲存格看起來空白,只要其中含有空格或非列印字元,ISBLANK 就會傳回 FALSE。未使用的輸入儲存格應清除,而不要輸入空格。ISBLANK

範例使用逗號分隔引數。如果你的設定使用逗號作為小數分隔符號,Apple 指示應改用分號分隔函數引數。函數概覽

當資料列需要更清楚的指引時,加入輸入狀態

若要建立可重複使用的範本,可以加入狀態欄,說明為何沒有分數。以下替代公式會檢查輸入是否為數值,以及分母是否不為零。它也會將文字和上游公式傳回的空字串視為尚未就緒的輸入。

在 E2 輸入完整公式:

=IF(ISNUMBER(B2),IF(ISNUMBER(C2),IF(C2=0,"輸入非零總數","就緒"),"輸入數值總數"),"輸入數值計數")

Apple 的 ISNUMBER 函數會在運算式計算結果為數字時傳回 TRUE,否則傳回 FALSE。在此,這會為資料列提供明確的就緒檢查。如果兩個輸入都需要處理,公式會先報告計數;修正後,再檢查總數。ISNUMBER

現在將 D2 中的前一個公式替換為以下版本,讓它以狀態作為計算條件:

=IF(E2="就緒",B2/C2,"")

請讓 D2 中的狀態文字與測試保持一致。如果你將 E2 中的 "就緒" 改成其他標籤,也要同步修改 D2。如此一來,計算是否就緒會有一個清楚可見的說明,更容易檢查未完成的資料列。

請使用以下示意案例檢查預期行為。這些案例描述公式的邏輯,並非來自 Numbers 安裝版本的測量結果。

已計數物件 物件總數 輸入狀態 已計數分數
空白 空白 輸入數值計數 視覺上保持空白
6 空白 輸入數值總數 視覺上保持空白
6 0 輸入非零總數 視覺上保持空白
0 12 就緒 0
6 12 就緒 0.5
文字 six 12 輸入數值計數 視覺上保持空白

此就緒檢查仍允許可能不適用於物件計數的數值輸入,例如分數或負數。它的用途是在取得數值輸入且分母不為零之前,避免進行除法。

適合使用一般預設值時,請使用 IFERROR

若要在現有除法公式外簡潔地加入替代結果,請輸入:

=IFERROR(B2/C2,"")

若計算成功,IFERROR 會傳回除法結果;若運算式產生錯誤,則會傳回指定的預設值。Apple 的說明以除以零為例。此處的預設值是空字串。IFERROR

當你確定要以同一個預設值替換所有計算錯誤時,請採用此方法。由於它會處理各種錯誤,空白結果無法指出錯誤原因。它也沒有表達必須完成兩個輸入的要求:判斷條件是除法是否產生錯誤。若範本的意義包含輸入是否完整,請使用上述輸入檢查。

如果出現非預期結果,請先檢查原始計算,再套用預設值。點按錯誤圖示即可閱讀訊息。Apple 建議檢查參照、數字格式,以及受已刪除儲存格或已插入列與欄影響的參照。檢查公式錯誤並遵循最佳做法

延伸公式時,不要假設陣列檢查方式

第 2 列運作正確後,選取結果儲存格,並將黃色自動填入控制點向下拖曳至預定的輸出列。如果使用狀態欄版本,請填入 D2 和 E2。自動填入會複製公式與格式,並覆寫目的地中已有的內容,因此請先檢查目的地。在 Mac 版 Numbers 中自動填入儲存格

檢查填入的資料列,確認其中的公式參照該列的輸入資料。變更表格結構後,也要檢查參照。Apple 特別建議在插入列或欄後檢查公式。檢查公式錯誤並遵循最佳做法

不要將單一儲存格檢查替換為 ISBLANK(B2:C20),並預期它會檢查每一列。Apple 指出,當 ISBLANK 參照多個儲存格時,即使所有儲存格都空白,它仍會傳回 FALSE。請將這些範例維持為各自獨立的公式,然後向下填入表格。ISBLANK

讓圖表與醒目提示符合未完成資料列的狀態

公式結果看起來空白只是一種顯示方式,因此不應將它作為判斷哪些資料列應納入圖表的唯一方法。對於此範本,請明確選取已就緒的資料列來製作圖表。Apple 說明了如何編輯圖表選取的資料,以及如何預設排除隱藏或已過濾的資料。在 Mac 版 Numbers 中修改圖表資料

使用狀態欄版本時,選取欄 E 中的儲存格,將指標移到欄位字母上,按一下箭頭,再選擇 快速篩選。只選取 就緒,即可顯示已完成的資料列。需要輸入或修正未完成的資料時,請清除篩選條件。在 Mac 版 Numbers 中過濾資料

若要處理現有圖表,請按一下圖表並選擇 編輯資料參照,以檢查或變更其輸入選取範圍。若要讓已過濾的資料列繼續排除在外,請在 格式 > 圖表 > 圖表選項 中取消勾選 隱藏資料。這些有文件說明的控制項提供了受支援的做法,不必假設 "" 在各種圖表類型中都會產生特定的間隔或缺漏資料點外觀。在 Mac 版 Numbers 中修改圖表資料

條件式醒目提示可讓狀態更容易查看。選取狀態儲存格,開啟 格式 > 儲存格 > 條件式醒目提示,然後按一下 加入規則。選擇符合 就緒 的文字規則,選取樣式,再按一下 完成。Apple 說明了如何根據所選儲存格的值設定規則,包括與另一個儲存格比較。在 Mac 版 Numbers 中使用儲存格條件

若就緒邏輯較複雜,請在輔助欄計算狀態,並醒目提示該狀態儲存格。文件所述的醒目提示工作流程並未提供可輸入任意整列條件公式的一般步驟。若有多條規則符合某個儲存格,Apple 指出清單中的第一條規則會決定其外觀。醒目提示會變更外觀;上方的公式檢查則會控制是否執行除法。在 Mac 版 Numbers 中使用儲存格條件

重複使用範本前,請試用空白列、總數為零、有效的零計數、一般分數,以及文字輸入。尚未計算時,讓結果在視覺上保持空白;結果有效時,保留數值零;並提供足夠清楚的指引,讓每一列都能完成。

來源