绝对交集运算符: @

引入了隐式交集运算符作为对 Excel 的公式语言的重大升级以支持动态数组的一部分。 动态数组为 Excel 带来了显著的新计算能力和功能。

升级的公式语言

Excel 的已升级公式语言与旧语言几乎完全相同,不同之处在于它使用 @ 运算符指示可能出现隐式交集的位置,而旧语言则自动执行此操作。 因此,当在动态数组 Excel 中打开时,你可能会注意到在某些公式中看不到 @。 请务必注意,你的公式将继续按始终具有的相同方式进行计算。  

什么是隐式交集?

隐式交集逻辑将多个值减少为单个值。 Excel 执行此操作是强制公式返回单个值,因为单元格只能包含单个值。 如果你的公式返回单个值,则隐式交集不会执行任何操作(即使它是在后台执行的)。 该逻辑的工作方式如下所示:

  • 如果该值是单个项,则返回该项。

  • 如果值为区域,则返回与公式位于同一行或列的单元格中的值。

  • 如果值为数组,则选择左上角的值。

随着动态数组的出现,Excel 不再局限于从公式返回单个值,因此不再需要静态的隐式交集。 如果旧公式可以不可见地触发隐式交集,则 Excel 启用动态数组将显示 @ 的发生位置。  

为什么 @ 符号? 

@ 符号已在表引用中使用,用于指示隐式交集。 请考虑表中的以下公式 = [@Column1]。 在这里,@ 表示公式应使用隐式交集从 [Column1] 中的同一行检索值。  

是否可以删除 @? 

通常可以。 这取决于 @ 返回右侧公式部分的内容: 

  • 如果它返回单个值(最常见的情况),则删除 @ 将不会有任何更改。

  • 如果它返回一个区域或数组,则删除 @ 将使其溢出到相邻单元格。

如果删除自动添加的 @ 并在以后使用较早版本的 Excel 打开工作簿,它将显示为旧版数组公式(用大括号 {} 括起),这样做是为了确保较旧版本不会触发隐式交集。

何时将 @ 与旧公式相加? 

一般说来,如果函数是使用较早版本的 Excel 编写的,则返回多单元格区域或数组的函数将带有 @ 前缀。 请务必注意,公式的行为方式不会有任何变化,您现在只需看到以前不可见的隐式交集即可。 可以返回多单元格范围的常见函数包括索引、偏移和用户定义的函数(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) 

可能会出现隐式交集。 INDEX 函数可以返回第二个或第三个参数为0的数组或区域。  

= 偏移(A1: A2,1,1) 

= @OFFSET (A1: A2,1,1) 

可能会出现隐式交集。 OFFSET 函数可以返回多单元格区域。 在此情况下,将触发隐式交集。 

= MYUDF () 

= @MYUDF () 

可能会出现隐式交集。 用户定义的函数可返回数组。 当它们执行此操作时,原始公式将触发隐式交集。 

在新公式中使用 @ 运算符

如果在包含 @ 运算符的动态数组 Excel 中创作或编辑公式,它可能显示为 _xlfn。SINGLE ()在前动态数组 Excel 中。

当你提交混合公式时,会发生这种情况。 混合公式是依赖于数组计算和隐式交集的公式,它不受前动态数组 Excel 支持。 在整个中,只有i动态数组支持的公式是隐式交集或ii)数组计算。

当启用动态数组的 Excel 检测到 "混合公式" 的创建时,它将建议在整个中具有隐式交集的公式变体。 例如,如果您输入= A1: a10 + @A1: a10,您将看到以下对话框:

询问你是否希望 fromula = @A1: A10 + @A1: A10 的对话框。

如果您选择拒绝该对话框所建议的公式,则混合公式= A1: a10 + @A1: a10将提交。 如果稍后在前向动态数组 Excel 中打开此公式,它将显示为= A1: A10 + _xlfn。单个(A1: A10)混合公式中的 @ 的 "显示为_xlfn"。SINGLE ()。 当使用前动态数组计算此公式时,Excel 将返回 #NAME! 。 

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

Excel 中的 #SPILL! 错误

动态数组和溢出数组行为

注意:  本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 能否告知我们此信息是否有所帮助? 下面是该参考内容的英文版

需要更多帮助?

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×