隱含交集運算子:@

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

隱式交集運算子是為了支援 動態陣列而大幅升級 Excel 公式語言的一部分。 動態陣列為 Excel 帶來了顯著的新計算能力與功能。

升級版公式語言

Excel 升級後的公式語言幾乎與舊語言相同,只是使用 @ 運算子來表示可能隱含交叉的位置,而舊語言則是靜默地完成此操作。 因此,你可能會注意到 @'s appear in some formulas when opened in dynamic array Excel. It'一個重要的是, 你的公式會以原本的方式繼續計算。  

什麼是隱性交集?

隱式交叉邏輯將多個值簡化為單一值。 Excel 這麼做是為了強制公式回傳單一值,因為一個儲存格只能包含單一值。 如果你的公式只回傳單一值,那麼隱式交集即使技術上是在背景) 中進行,也不會 (。 其邏輯如下:

  • 如果價值是單一物品,則退還該物品。
  • 如果值是範圍,則回傳與公式同一列或同一列的儲存格值。
  • 如果值是陣列,則選擇左上角的值。

隨著動態陣列的出現,Excel 不再侷限於從公式回傳單一值,因此不再需要靜默的隱式交叉。 舊公式可能會無形地觸發隱式交叉,而啟用動態陣列的 Excel 則顯示 @ 會發生在哪裡。  

為什麼是@符號?

@符號已用於表格引用中,用以表示隱式交叉。 考慮表格中的以下公式 =[@Column1]。 此處 @ 表示公式應使用隱式交叉來從 [Column1] 取得同一列的值。  

你能移除 @ 嗎?

通常你可以。 這取決於 @ 右邊的公式回傳內容:

  • 如果回傳 (最常見的) 值,移除 @ 也不會有改變。
  • 如果回傳一個範圍或陣列,移除 @ 會讓它溢 到鄰近的儲存格。

如果你移除自動新增的 @,然後在舊版 Excel 中打開工作簿,它會顯示為舊有 陣列公式 , (用大括號 {} 包裹,) ,這是為了確保舊版本不會觸發隱式交叉。

我們什麼時候要把 @ 加進舊公式?

一般來說,回傳多格範圍或陣列的函式,如果是用舊版 Excel 撰寫,會以 @ 作為前綴。 值得注意的是,公式的行為沒有改變——你現在只看到之前看不見的隱含交集。 常見可回傳多格範圍的函式包括 INDEX、OFFSET 以及 UDF () 的使用者定義函數。  一個常見例外是當它們被包裹在接受陣列或範圍的函式中,例如 ( () 或平均 () ) 。 

更多細節請參考 Excel 函式,回傳範圍或陣列

範例

原始公式 如動態陣列 Excel 所示 說明
=總和 (A1:A10) =總和 (A1:A10) 無變動 - 不會發生隱式交叉,因為 SUM 函式預期範圍或陣列。
=A1+A2 =A1+A2 無變化——不會發生隱含交叉。
=A1:A10 =@A1:A10 隱式交集會發生,Excel 會回傳與公式所在列相關的值。
=指數 (A1:A10,B1) =@INDEX (A1:A10,B1) 隱性交集可能會發生。 當 INDEX 函 式的第二或第三個參數為 0 時,可以回傳陣列或範圍。
=偏移量 (A1:A2,1,1) =@OFFSET (A1:A2,1,1) 隱性交集可能會發生。 OFFSET 函數可以回傳多格範圍。 當它發生時,會觸發隱含交叉。
=MYUDF () =@MYUDF () 隱性交集可能會發生。 使用者定義函式 可以回傳陣列。 當它們出現時,原本的公式會觸發隱含交集。

在新公式中使用 @ 運算子

如果你在動態陣列 Excel 中撰寫或編輯包含 @ 運算子的公式,可能會顯示為 _xlfn。在動態陣列前的 Excel 中進行單 () 。

這是因為你輸入了混合公式。 混合公式是指同時依賴陣列計算與隱式交叉的公式,這在動態陣列出現前的 Excel 中並不支援。 動態陣列前只 支援包含隱 式交叉或 ii) 陣列計算的公式,) i。

當啟用動態陣列的 Excel 偵測到建立「混合公式」時,會提出一個隱含交集的公式變體。 例如,輸入 =A1:A10+@A1:A10,時會看到以下對話框:

對話詢問你是否偏好 fromula =@A1:A10 + @A1:A10。

如果你選擇拒絕對話中提出的公式,混合公式 =A1:A10+@A1:A10 將會被提交。 如果你之後在未動態陣列的 Excel 中打開這個公式,混合公式中的 @ 會顯示 =A1:A10+_xlfn.SINGLE(A1:A10) 為 _xlfn.SINGLE(). 當這個公式被未動態陣列 Excel 評估時,會回傳一個 #NAME! 的錯誤值。 

需要更多協助嗎?

你隨時可以向 Excel 技術社群 的專家詢問,或在 社群中獲得支援。

另請參閱

FILTER 函數

RANDARRAY 函數

SEQUENCE 函數

SORT 函數

SORTBY 函數

UNIQUE 函數

Excel 中的 #溢出! 錯誤

動態陣列與溢出陣列行為