今天着重来给大家解下Excel中这个不为人知的「交叉运算符——空格」。
我们先来看一张图,来了解下在Excel中要实现「交叉查询」,使用INDEX、VLOOKUP、HLOOKUP、LOOKUP是有多麻烦:
别说是初学者小白了,使用多年的Excel老兵,稍有不注意就写错了。更加可怕的是多组函数之间的相互调用+混合引用,让函数的调试和错误检查变得非常困难。
如果觉得这些函数写不出来,就来试下「空格」运算吧:
交叉运算符的使用场景以及兼容性;
INDIRECT函数配合交叉运算符使用技巧;
Excel中剩余的 2 个引用运算符;
…
空格运算符,这是一个超高效率秒杀LOOKUP系列的技巧,并且逼格超高,兼容性超强,表情包也带走吧~
快来和小北一起学习这个鲜为人知的 Excel 交叉运算符吧~
– 01 –
引用运算符
在Excel中,其实共有 4 种运算符类型:算数、比较、文本、引用,本篇推文所学的就是「引用运算符」中的一种。
而「引用运算符」又可以被划分为 3 种,其中有 2 种又是你经常使用到的,如下:
冒号和逗号在这里我们就不做解,重点来看下「空格」是如何运算的,其含义是返回「共有单元格」。
那么公式 =B1:B8 B6:J6 的结果是哪个单元格呢?是不是它们的公共部分,也就是下方的B6单元格。
这就「交叉运算符」的基本运算规则,那么了解了它的原理之后,我们就来尝试下如何高效使用它。
– 02 –
空格+单元格命名
在前面的推文中,我们尝试利用了空格+单元格命名来获取交叉查询的数据,这里我们再次来巩固下。
首先将「二维表」快速,「选中」表格之后,点击「公式」选项卡下的「根据所选内容创建」。
最后勾选「首行」和「最左列」,点击确定即可,如下GIF演示:
这个时候,数据源的「最左列」和「最顶列」就会被自动添加到命名区域中,点击「名称管理器」即可快速查看。
接下来如何使用呢?非常简单,例如想查询“部门4的产品6销量”,直接使用公式“=部门4 产品6”,即可一键完成查询。
没错,中间就是使用空格连接两个词即可,效果如下:
回过头来对比下前面使用LOOKUP系列的公式,是不是瞬间简化了太多,没有对比就没有伤害:
继续对这个公式进行优化,细心的小伙伴可能已经发现了,B14和C14单元格不就是“部门4”和“产品6”么?
那么是否可以直接引用这两个单元格呢?例如:=B14 C14,能否返回正确结果?非常遗憾,答案是不可以的。
这是为啥呢?因为单元格的内容本质上是属于「文本」,而在编辑栏中直接写的一般都是「变量」。
两个看着一样,其实是不一样的!接下来我们将使用一个函数来解决这个问题,将文本转换为变量。
– 03 –
INDIRECT函数
INDIRECT函数的作用是返回文本字符串指定的引用,参数总共有2个,只需要理解第一个即可,也就是引用的字符串。
这句话听着可能非常绕口,还记得我们上面的公式么,对公式进行改造,变成:“=INDIRECT(B14) INDIRECT(C14)”:
这样子,我们就将字符串转换成了引用的变量,销量的结果可以随着部门和产品的改变而动态改变。
另外,还有一点需要主要的,如果定义的名称中存在以数字、字母C和字母R开头的,那么名称最前面会自动加上下划线。
例如:“1月”会被定义成“_1月”,这样我们在公式前引用也要变成“_1月”。
小小总结:如果并不是标题特殊,那么可以考虑使用“空格运算符”,如果需要动态引用单元格中的内容则使用INDIRECT函数。