隐式交集运算符是在对公式语言进行重大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。动态前数组中的 SINGLE () Excel。

提交混合公式时会发生此情况。 混合公式是依赖于数组计算和隐式交集的公式,动态前数组函数不支持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 技术社区中咨询专家或在 Answers 社区获取

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

Excel 中的 #SPILL! 错误

动态数组和溢出数组行为

需要更多帮助?

扩展你的技能
了解培训

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈!

×