有网友提问:公式中有时会看到加了 @ 符号,这有什么作用呢?
这是个好问题啊,那我就展开来说说。@ 在公式中主要有 3 种用途。
案例 1:隐式交集找出下图 1 中 C 列的最大值,效果如下图 2 所示。
解决方案 1:标题看似跟案例毫不相关,为了便于大家理解,我先解释一下隐式交集的概念。
在低版本的 Excel 中,没有动态数组的概念,当公式有多个结果时,Excel 函数会自动执行隐式交集逻辑,仅返回一个值;
随着 365 版本中引入了动态数组,Excel 函数可以返回所有结果,也就不再自动执行隐式交集;
所以在 365 版本中,@ 作为隐式交集运算符横空出世,用于在动态数组中执行隐式交集;
在公式中加入 @ 符号,则 @ 右侧的公式部分返回的内容:
如果值为单个项,则直接返回;
如果值是一个区域,则返回公式同一行或列上的单元格中的值;
如果值是数组,则返回左上角的值。
接下来我们看一下 @ 在公式中的用法。
以 sortby 函数为例,如果不用 @ 是这样的。
1. 在 E2 单元格中输入以下公式 --> 回车:
=SORTBY(A2:C13,C2:C13,-1)
公式释义:
将区域 A2:C13 按照 C2:C13 降序排序
sortby 是 365 公式,返回的结果是动态数组。
接下来看下加了隐式交集运算符 @ 以后的公式结果。
2. 在公式前面加上 @ --> 回车
=@SORTBY(A2:C13,C2:C13,-1)
返回了结果区域中左上角的值。
那么回到该案例,如果要返回 C 列的最大值,就可以这样修改公式。
3. 在 E2 单元格中输入以下公式 --> 回车:
=@SORTBY(C2:C13,C2:C13,-1)
公式释义:
将 C2:C13 区域降序排序,并返回结果区域中的第一个值
案例 2:超级表字段名称在超级表中,公式的引用是像下面这样的。
解决方案 2:1. 选中数据表的任意单元格 --> 按 Ctrl+T --> 在弹出的对话框中点击“确定”
数据表就变成了超级表。
2. 在 D2 单元格中输入 = 后,用鼠标选择单元格,公式中所引用的单元格就会自动变成如下样式。
案例 3:文本占位符给下图 1 中的所有人名外面加上 【】,效果如下图 2 所示。
解决方案 3:1. 在 B2 单元格中输入以下公式 --> 下拉复制公式:
=TEXT(A2,"【@】")
公式释义:
在处理文本时,@ 可以作为文本占位符使用;
公式含义为:如果 A2 单元格的值为文本格式,则在其外面加上 【】 符号。