使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

隐式交集运算符是作为 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。预动态数组 Excel 中的单 () 。

提交混合公式时会出现这种情况。 混合公式是依赖于数组计算和隐式交集的公式,预动态数组 Excel 不支持此公式。 预动态数组仅支持 i) 隐式交集或 ii) 数组计算的公式。

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

询问是否首选 fromula =@A1:A10 + @A1:A10 的对话。

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

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家或在社区中获取支持。

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

#溢出! 错误

动态数组和溢出数组行为

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×