隱含交集運算子是大量升級至 Excel公式語言的一部分,以支援動態陣列。 動態陣列為系統提供了重要的新計算Excel。
升級的公式語言
Excel的公式語言幾乎與舊語言相同,只是使用 @ 運算子指出隱含交集可能發生在何處,而舊語言則以無提示方式執行此操作。 因此,您可能會注意到,在動態陣列中開啟時,@會出現在某些公式Excel。 請注意,您的公式 會繼續以相同的方式計算。
什麼是隱含交集?
隱含交集邏輯將許多值縮減為單一值。 Excel這麼做會強制公式返回單一值,因為儲存格只能包含單一值。 如果您的公式是返回單一值,則隱含交集 (即使它是在背景或背景中) 。 邏輯運作方式如下:
-
如果值是單一專案,請返回該專案。
-
如果值是範圍,則從公式同一列或同一欄的儲存格中傳回值。
-
如果值是陣列,請挑選左上方的值。
隨著動態陣列的出現,Excel不再僅限於從公式中返回單一值,因此不再需要無提示的隱含交集。 當舊公式可能以隱形方式觸發隱含交集時,啟用動態陣列Excel顯示 @會在哪裡發生。
為什麼是 @ 符號?
@ 符號已在資料表參照中用來表示隱含交集。 請考慮表格中的下列公式 =[@Column1]。 此處的 @ 表示公式應該使用隱含交集,從 [Column1] 中,從同一列取取值。
您可以移除 @?
通常您可以。 這取決於 @ 右邊公式的哪一部分會返回:
-
如果它會在最常見的 (中) 單一值,則移除 @不會變更。
-
如果它會返回範圍或陣列,移除 @ 會導致它 溢出到連續的儲存格。
如果您移除自動新增的 @,稍後在舊版 Excel 中開啟該活頁簿,它會顯示為舊版陣列公式 (以大括弧 {}) 括住,這樣做可確保舊版不會觸發隱含交集。
何時要新增 @ 到舊公式?
一般而言,如果函數是在舊版儲存格或陣列中撰寫,則會以 @ 做為Excel。 請注意,公式的行為方式沒有變更,您現在只能看到先前看不見的隱含交集。 可返回多儲存格範圍的常見函數包括 INDEX、OFFSET 和使用者定義函數 (UDF) 。 常見的例外是,它們包裝在接受陣列或範圍 (例如 SUM () 或 AVERAGE () ) 的函數中。
請參閱Excel範圍或陣列的函數,以進一步瞭解詳細資料。
範例
原始公式 |
如動態陣列陣列Excel |
說明 |
---|---|---|
=SUM (A1:A10) |
=SUM (A1:A10) |
無變更 - 由於 SUM 函數預期範圍或陣列,因此不會發生隱含交集。 |
=A1+A2 |
=A1+A2 |
無變更 - 不會發生隱含交集。 |
=A1:A10 |
=@A1:A10 |
隱含交集將會發生,Excel會返回與公式所位於列相關聯的值。 |
=INDEX (A1:A10,B1) |
=@INDEX (A1:A10,B1) |
可能會發生隱含交集。 當第二個或第三個引數為 0 時,INDEX 函數可以返回陣列或範圍。 |
=OFFSET (A1:A2,1,1) |
=@OFFSET (A1:A2,1,1) |
可能會發生隱含交集。 OFFSET 函數可以返回多儲存格範圍。 執行時,會觸發隱含交集。 |
=MYUDF () |
=@MYUDF () |
可能會發生隱含交集。 使用者定義函數可以返回陣列。 這麼做時,原始公式會觸發隱含交集。 |
在新的公式中使用 @ 運算子
如果您在包含 @ 運算子的動態陣列陣列中Excel或編輯公式,公式可能會顯示為_xlfn。動態前陣列中的 SINGLE () Excel。
當您提交混合公式時,會發生此情況。 混合式公式是同時仰賴陣列計算和隱含交集的公式,而動態陣列前函數不支援Excel。 動態前陣列只支援 i) 交集或ii) 陣列計算的公式。
啟用動態陣列Excel偵測「混合公式」的建立時,它會建議隱含交集的公式變化。 例如,如果您輸入 =A1:A10+@A1:A10,就會看到下列對話方塊:
如果您選擇拒絕對話方塊建議的公式,將會提交混合公式 =A1:A10+@A1:A10 。 如果您稍後在動態前陣列陣列中開啟此Excel,它會顯示為=A1:A10+_xlfn。單 (A1:A10) 混合公式中的 @'s 會顯示為_xlfn。SINGLE () 。 當此公式由動態前陣列評估時Excel會返回#NAME! 的錯誤值。
需要更多協助嗎?
您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。