不懂就问,Excel公式前面加个@有什么作用?

Excel学习世界 2024-09-16 16:48:57

有网友提问:公式中有时会看到加了 @ 符号,这有什么作用呢?

这是个好问题啊,那我就展开来说说。@ 在公式中主要有 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 单元格的值为文本格式,则在其外面加上 【】 符号。

0 阅读:9

Excel学习世界

简介:Excel 学习交流