若要在 Mac 版 Excel 中合併對應的庫存數值,請使用 + 將相符的數值陣列相加。如果資產列的順序不同,請先查找每項資產,再將傳回的數量相加。這樣可保留每項度量的獨立結果。

本逐步說明使用合成藝術資產資料,包含兩項度量:印刷品份數和色樣卡數。目標是在保留每項資產及其度量可辨識的情況下,合併兩個儲存地點的數量。所有數量僅供說明。

根據資產的對應方式選擇公式

撰寫公式前,先確認哪些條件可判定兩個值彼此對應。只有當兩個輸入區塊的資產順序和度量順序相同時,才能依位置配對。若依資產標籤配對,來源列的順序則可以不同。

輸入條件 支援的方法 結果
資產相同、列順序相同、度量欄相同 將大小相同的數值範圍相加 每項資產和度量各有一個結果
資產標籤唯一,列順序不同 將兩個多欄 XLOOKUP 結果相加 一項資產的各項度量分別顯示在不同儲存格
重複的資產標籤需要合併 每項度量各自使用 SUMIF 計算 每項指定資產和度量各有一個結果

以下範例根據 Microsoft 所記錄的陣列計算、多項目查閱結果和條件加總方法,示範上述做法。複製公式前,請先選擇符合輸入資料結構的方法。

確認 Mac 版次

查閱範例適用於 Microsoft 365 版 Excel for Mac、Excel 2024 for Mac 和 Excel 2021 for Mac。Microsoft 明確指出,Excel 2016 和 Excel 2019 不提供 XLOOKUP,即使這兩個版本出現在頁面廣泛的適用性清單中也一樣。Microsoft 的 XLOOKUP 文件。

在 Mac 上,Office 應用程式的應用程式選單中有 About 對話方塊,可顯示版本和授權類型。在 Excel 中,查看 Excel → About Excel。選擇公式前,請確認產品版次和版本號碼。關於 Office:我使用的是哪個版本的 Office?。

本文稍後提供的選用 HSTACK 公式需要 Microsoft 365 版 Excel for Mac 或 Excel 2024 for Mac;Microsoft 並未將 Excel 2021 for Mac 列為支援此函數的版本。主要計算不需要此函數。Microsoft 的 HSTACK 文件。

建立兩份小型藝術資產庫存

使用空白工作表中的一般儲存格範圍。在 A1:C4 輸入第一個地點的庫存:

資產 印刷品份數 色樣卡數
Tile-A 8 3
Tile-B 5 7
Tile-C 6 2

在 E1:G4 輸入第二個地點的庫存,並讓 D 欄保持空白:

資產 印刷品份數 色樣卡數
Tile-A 4 2
Tile-B 9 1
Tile-C 3 5

兩個數值區塊都是三列高、兩欄寬。第一個數值欄計算印刷品份數;第二個數值欄計算色樣卡數。標籤位於算術範圍之外。

在 J1:L4 準備下方的輸出區域。起初只輸入標題和資產標籤,數量儲存格留空。

資產 合併後的印刷品份數 合併後的色樣卡數
Tile-A
Tile-B
Tile-C

在這些範例中,每項數量都是數值,而且每項資產在每個來源中只出現一次。缺少記錄和記錄的數值為零,意義不同:只有在已知數量為零時才輸入零;若記錄不存在,應先查明原因,再將其視為零。

將對齊的陣列相加,以保留每個對應結果

來源列順序如上所示時,請在 K2 輸入以下完整的工作表公式:

=B2:C4+F2:G4

按 Return 確認公式。在支援動態陣列的 Excel 中,輸出會佔用 K2:L4:三個資產列和兩個度量欄。Microsoft 說明陣列公式可以傳回多個結果,而動態結果會溢出至相鄰儲存格。陣列公式的指導方針和範例。

預期輸出如下:

資產 合併後的印刷品份數 合併後的色樣卡數
Tile-A 12 5
Tile-B 14 8
Tile-C 9 7

計算是依位置進行:B2+F2 得出 12,而 C2+G2 得出 5。其餘位置也依相同規則計算。兩個來源區塊會合併為一個尺寸相同的結果區塊。

若庫存只有一欄,對應的公式為 =B2:B4+F2:F4。它會傳回三個數量,每列一個。兩欄版本則會在保留第一項度量的同時,也保留第二項度量。

為什麼外層 SUM 會產生錯誤的結果形狀

以下公式會計算總計:

=SUM(B2:C4,F2:G4)
=SUM(B2:C4+F2:G4)

在此範例中,每個公式都會傳回 55。這個數字混合了三項資產和兩項度量。Microsoft 說明 SUM 會將以數字、參照或範圍形式提供的值相加;因此,將結果陣列包在 SUM 中,會把它縮減為單一數值。Microsoft 的 SUM 文件。

請以上方六個儲存格的結果作為驗收標準。即使單一儲存格中的 55 算術上正確,它回答的仍是另一個問題。

適用於各版本的對齊列配置

如果偏好個別儲存格公式,請在 K2 輸入 =B2+F2。將填滿控點向右拖曳至 L2,再將 K2:L2 向下填滿至第 4 列。相對參照會自動調整,以計算每組對應值。Microsoft 說明了此填滿控點在 Mac 版 Excel 中的用法。在 Mac 版 Excel 中將 Excel 用作計算機。

這會產生相同的六個數量,但不會溢出結果。此方法仍仰賴來源列順序相同。

來源列順序不同時,依資產標籤配對

若無法信任列的位置,請先清除 K2 中的上一個結果。保留 J2:J4 作為所需的資產清單。在 K2 輸入以下公式:

=XLOOKUP($J2,$A$2:$A$4,$B$2:$C$4)+XLOOKUP($J2,$E$2:$E$4,$F$2:$G$4)

每次查閱都會在 J2 中尋找資產,並傳回其兩個數量欄。將傳回的列相加後,K2 會得到 12,L2 會得到 5。Microsoft 說明 XLOOKUP 預設會精確比對,且可從多欄傳回範圍傳回多個項目。Microsoft 的 XLOOKUP 文件。

將 K2 中的公式複製到 K3:K4,並讓 L2:L4 保持空白,以容納水平傳回的結果。美元符號會固定來源範圍;每個輸出列的所需資產則會改變。

作為診斷測試,調整第二個來源的完整記錄順序,讓 Tile-C 排在第一列。將每個標籤與其兩個數量一起移動。使用查閱的結果應保留預期數值,而依位置相加則會把不同資產配對。

若標籤不存在,公式會傳回 #N/A,因為公式省略了選用的找不到比對時替代值。若標籤重複,公式只會傳回第一個相符項目,而不會合併其記錄。這些都是文件所述的查閱限制。Microsoft 的 XLOOKUP 文件。

輸出只會包含 J2:J4 列出的資產。使用自己的資料前,請確認此所需清單包含你打算從任一地點列報的所有資產。

每次處理一項度量,合併重複的資產記錄

若多個列有意歸屬於同一資產,請使用條件加總。使用原始範例範圍,在 K2 輸入以下完整公式:

=SUMIF($A$2:$A$4,$J2,B$2:B$4)+SUMIF($E$2:$E$4,$J2,F$2:F$4)

將公式向右複製到 L2,再將 K2:L2 向下複製至第 4 列。向右移動會將數量範圍改為色樣欄,同時固定標籤範圍。每個輸出儲存格只會加總該資產和度量的數值。Microsoft 說明如何使用一個範圍設定條件,並使用另一個範圍取得對應數量。Microsoft 的 SUMIF 文件。

若要示範重複記錄,請在 A5:C5 加入 Tile-A、2 和 1。重新計算前,請將第一個來源的條件範圍和數量範圍延伸至第 5 列:

=SUMIF($A$2:$A$5,$J2,B$2:B$5)+SUMIF($E$2:$E$4,$J2,F$2:F$4)

依照先前方式,將修訂後的公式向右及向下複製。示範資料中的 Tile-A 輸出會變成 14 份印刷品和 6 張色樣卡。若固定範圍只到第 4 列,就會漏掉新增記錄,因此維護範圍是此方法的一部分。

每個條件範圍的大小和形狀都應與其數量範圍相同。另請注意,SUMIF 會將 * 和 ? 視為萬用字元;這裡的合成標籤不含這兩個字元。Microsoft 的 SUMIF 文件。

解決溢出錯誤並檢查完成的庫存

溢出公式需要足夠空間容納完整輸出。請將公式放在 Excel 表格之外,並透過左上角儲存格編輯或取代公式。Microsoft 說明了這兩項限制。動態陣列公式和溢出陣列行為。

若出現 #SPILL!,請檢查預定輸出區域是否已有內容或合併儲存格。將阻擋內容移至其他位置,或選擇空白輸出區域。Microsoft 指出,輸出位置被阻擋和含有合併儲存格都是造成溢出錯誤的原因。如何修正 #SPILL! 錯誤。

若相加時傳回 #VALUE!,請檢查數量中是否有文字項目。Microsoft 指出,直接相加可能會因非數值文字而失敗,而 SUM 會忽略文字。因此,將公式改成 SUM 會同時改變結果形狀和文字的處理方式。Microsoft 的 SUM 文件。

若要在 Microsoft 365 版 Excel for Mac 或 Excel 2024 for Mac 中建立選用的含標籤結果區塊,請在全新的空白區域使用原始對齊範例:

=HSTACK(A2:A4,B2:C4+F2:G4)

這會將資產標籤放在計算所得度量的旁邊。HSTACK 會附加欄;公式中的 + 則負責相加。它不會比對標籤,也不會修正不同的來源列順序。Microsoft 的 HSTACK 文件。

完成時,請檢查三件事:輸出包含所有預期資產、每項度量都保留在各自欄位中,以及至少有一列經手動核對後與來源數量一致。輸入已對齊時,使用範圍相加。列順序不同但標籤唯一時,將查閱結果相加。記錄重複時,分別加總每項資產的度量。完成的庫存應保留足夠細節,讓人能辨識每項數量所計算的內容。

來源