以下来源于微软网站:
隐式交集运算符:@ (microsoft.com)
隐式交集运算符:@[size=1.4em]Excel for Microsoft 365 Excel for 微软 365 for Mac 面向网络的卓越表现 Excel 2021 [url=]更多。。。[/url]
[size=1.6em]隐式交集运算符是作为对 Excel 的公式语言进行实质性升级以支持动态数组的一部分引入的。动态数组为 Excel 带来了重要的新计算能力和功能。 升级的公式语言[size=1.6em]Excel 的升级公式语言与旧语言几乎完全相同,只是它使用 @ 运算符来指示可能发生隐式交集的位置,而旧语言则以静默方式执行此操作。因此,您可能会注意到@在动态数组Excel中打开时出现在某些公式中。请务必注意,公式将继续以与它们始终相同的方式进行计算。 什么是隐式交集?[size=1.6em]隐式交集逻辑将许多值简化为单个值。Excel 这样做是为了强制公式返回单个值,因为单元格只能包含单个值。如果您的公式返回单个值,则隐式交集不执行任何操作(即使从技术上讲它是在后台完成的)。逻辑工作原理如下: [size=1em]如果值为单个项目,则返回该项目。 [size=1em]如果该值为区域,则从与公式相同的行或列上的单元格中返回该值。 [size=1em]如果该值为数组,则选取左上角的值。
[size=1.6em]随着动态数组的出现,Excel 不再局限于从公式返回单个值,因此不再需要静默隐式交集。在旧公式可能以不可见的方式触发隐式交集的情况下,启用了动态数组的 Excel 会显示 @发生的位置。 为什么使用 @ 符号?[size=1.6em]表引用中已使用 @ 符号来指示隐式交集。考虑表中的以下公式 =[@Column1]。此处的 @ 表示公式应使用隐式交集从 [Column1] 中检索同一行上的值。 可以删除 @吗?[size=1.6em]通常你可以。这取决于 @ 右侧的公式部分返回的内容: [size=1.6em]如果删除自动添加的 @,稍后在旧版本的 Excel 中打开工作簿,它将显示为旧数组公式(用大括号 {}括起来),这样做是为了确保旧版本不会触发隐式交集。 我们何时将 @ 添加到旧公式中?[size=1.6em]一般来说,返回多单元格区域或数组的函数如果是在较旧版本的 Excel 中创作的,则它们将以 @ 为前缀。请务必注意,公式的行为方式没有变化 - 您现在只能看到以前不可见的隐式交集。可以返回多单元格区域的常见函数包括 INDEX、偏移量和用户定义函数 (UDF)。一个常见的例外是,如果它们被包装在接受数组或范围的函数中(例如 SUM() 或 AVERAGE())。 例子[size=1.6em]如在动态数组 Excel 中看到的那样
[size=1.6em]无更改 - 不会发生隐式交集,因为 SUM 函数需要范围或数组。
[size=1.6em]无更改 - 不会发生隐式交集。
[size=1.6em]将发生隐式交集,并且 Excel 将返回与公式所在的行关联的值。
[size=1.6em]=指数(A1:A10,B1) [size=1.6em]=@INDEX(A1:A10,B1) [size=1.6em]可能会发生隐式交集。INDEX 函数可以在其第二个或第三个参数为 0 时返回数组或范围。
[size=1.6em]=偏移量(A1:A2,1,1) [size=1.6em]=@OFFSET(A1:A2,1,1) [size=1.6em]可能会发生隐式交集。偏移量函数可以返回多单元格区域。当它发生时,将触发隐式交集。
[size=1.6em]可能会发生隐式交集。用户定义函数可以返回数组。当他们这样做时,原始公式将触发隐式交集。 在新公式中使用 @ 运算符[size=1.6em]如果在包含 @ 运算符的动态数组 Excel 中创作或编辑公式,则该公式可能会显示为_xlfn。单() 在预动态数组 Excel 中。 [size=1.6em]当您提交混合公式时,会发生这种情况。混合公式是依赖于数组计算和隐式交集的公式,这是预动态数组 Excel 不支持的。预动态数组仅支持在整个过程中执行 i) 隐式交集或 ii) 数组计算的公式。 [size=1.6em]当启用动态数组的Excel检测到“混合公式”的创建时,它将提出隐含交叉的公式的变体。例如,如果输入 =A1:A10+@A1:A10,您将看到以下对话框:
[size=1.6em] [size=1.6em]如果选择拒绝对话框建议的公式,则将提交混合公式 =A1:A10+@A1:A10。如果稍后在预动态数组 Excel 中打开此公式,它将显示为 =A1:A10+_xlfn。单(A1:A10),混合公式中的 @显示为_xlfn。单()。当此公式由预动态数组Excel计算时,它将返回#NAME!错误值。
|