绝对交集运算符: @

隐式交集运算符是在大量升级到 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)  

可能发生隐式交集。 INDEX 函数可以在 其第二个或第三个参数为 0 时返回数组或区域。  

=OFFSET (A1:A2,1,1)  

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

可能发生隐式交集。 OFFSET 函数可以返回多单元格区域。 如果这样做,将触发隐式交集。 

=MYUDF ()  

=@MYUDF ()  

可能发生隐式交集。 用户定义的函数可以返回数组。 执行这些操作时,原始公式将触发隐式交集。 

在新公式中使用 @ 运算符

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

提交混合公式时会发生此情况。 混合公式是依赖于数组计算和隐式交集的公式,动态前数组 Excel 不支持它。 动态前数组仅支持执行隐式交) 或ii) 数组计算的公式。

当启用动态数组的 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 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

Excel 中的 #SPILL! 错误

动态数组和溢出数组行为

需要更多帮助?

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

此信息是否有帮助?

谢谢您的反馈!

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

×