excel公式技巧之连接数组运算
发布时间:2023-08-10 16:42:43
连接运算符是:&,可以将两个或多个项目连接成一个项目,这些项目可以是数字、文本(使用引号括起来)、公式结果,等等。
如下图1所示,在单元格区域A2:C16中是源数据,在单元格区域E2:G10中是想要的交叉表报告,显示每种产品的L和R的数量。
图1
可以看出,每个查找的结果都是基于两个查找值。例如,单元格F4中得到的数量30是在源数据中查找同时满足单元格E4中的产品代码2A35-2A36和单元格F3中的L的结果。实现这种双值查找的一种方法是在公式中连接两个查找值和源数据表中的被查找的两个列。在单元格F4中的数组公式为:
=INDEX($C$3:$C$16,MATCH($E4&F$3,$A$3:$A$16&$B$3:$B$16,0))
其中,MATCH函数用来获得要查找的值在源数据中的相对位置,其第一个参数lookup_value的值是$E4&F$3(使用混合引用使得公式能够向下向右扩展),将两个查找值连接为单个值;第二个参数lookup_array的值是$A$3:$A$16&$B$3:$B$16,将源数据中被查找的值所在的列连接起来。
下图2展示了一种改进方法,即在连接时在要连接的项目之间添加一个分隔符,这使得公式更为健壮。因为如果要查找的值都是数字的话,在连接后可能出现意想不到的结果。
图2
使用DGET函数进行多条件查找
如果数据集带有字段名(即每列顶部的名称),那么DGET函数能够执行基于多条件的查找,如下图3所示。注意,条件单元格在相同的行表示AND条件,在不同的行表示OR条件。
图3
使用DGET函数的缺点是,公式不能向下复制。
使用辅助列进行多条件查找
如下图4所示,添加了一个辅助列将要查找的值所在的列合并成一列,这样就可以实现使用VLOOKUP函数进行查找了。在单元格A3中的公式为:=B3&” “&C3,下拉至数据末尾构建辅助列。在单元格G4中的公式为:
=VLOOKUP($F4&” “&G$3,$A$3:$D$16,4,0)
向下向右拖拉即可。
图4
使用数据透视表查找
对于上述示例,也可以使用数据透视表实现所需报表,如下图5所示。
图5
对查找列进行排序并使用近似匹配查找
当进行双值查找时,如果可以对源数据中的列进行排序,那么查找时使用近似匹配比精确匹配更快。(因为精确匹配从头到尾遍历列,而近似匹配进行折半查找)如下图6所示,先对“L/R?”列进行升序排序,然后对“产品代码”列进行升序排序,在单元格F4中输入数组公式:
=INDEX($C$3:$C$16,MATCH($E4&F$3,$A$3:$A$16&$B$3:$B$16))
向下向右拖动至全部数据单元格。
图6
可以看到,公式中的MATCH函数省略了参数match_type,默认为执行近似匹配。
如果可以对查找列进行排序,那么可以使用LOOKUP函数处理数组操作,而无需按Ctrl+Shift+回车键。
使用LOOKUP函数
如果对查找列进行了排序,那么就可以使用LOOKUP函数。LOOKUP函数执行近似匹配查找,且能够处理数组操作。对于上面的示例,在单元格F4中使用LOOKUP函数的公式为:
=LOOKUP($E4&F$3,$A$3:$A$16&$B$3:$B$16,$C$3:$C$16)
结果如下图7所示。
图7
公式改进
INDEX函数能够获取整行或整列。决窍是将其row_num参数指定为0或者忽略,这将获取整列。这样,上文示例中的公式可以改进,无需按Ctrl+Shift+回车键,如下图8所示。
图8
在单元格F4中的公式为:
=INDEX($C$3:$C$16,MATCH($E4&F$3,INDEX($A$3:$A$16&$B$3:$B$16,),0))
向下向右拖拉即可。


猜你喜欢
- Csrrs.exe是W32.Gaobot.AO蠕虫相关程序。该木马允许攻击者访问你的计算机,窃取密码和个人数据。该蠕虫通过网络共享和WInd
- 上月底,苹果提前带来了 iOS 13.1 第一个测试版,今天凌晨,苹果又带来了 iOS 13.1 beta 2,版本号
- 在Vista系统中只要打开某文件夹,就出现 Windows 主进程 (Rundll32) 已停止工作在Vista系统中只要打开某文件夹,就出
- 在使用WPS表格制作表格的时候,常常需要添加序号。比较常用的两种方法是按住shif键进行添加,或者手动添加。但是,这两种添加方式,都有一个共
- word打字后面的字消失怎么办Word是比较常用的打字工具。在用这个软件打字的时候,小伙伴们相信有时候会遇到这种情况,就是word打字时后面
- 当我们系统使用久了就会产生许多垃圾,这些垃圾容易造成我们的系统卡顿之外,还会产生许多大大小小的问题,有的用户觉得重装系统的话太过麻烦,那就可
- 百度输入法具有海量的词库和华丽的界面,因此一直深受用户们的喜爱。不过,一些win7系统用户觉得使用百度输入法打字,速度并没有想象中快,因此就
- 系统部落Win7系统自带有远程协助功能,当于QQ远程协助,可以远程操控好友的电脑,帮助用户完成一些系统操作。不过一部分用户不知道如何运行Wi
- 许多用户在选择电脑的时候都会选择笔记本电脑,因为非常方便携带。但是最近有的小伙伴发现自己的笔记本电脑屏幕进灰了,遇到这种情况我们要怎么解决呢
- 有N个数,如果想知道哪些数加起来等于1000,这个就需要用“规划求解”来解决。【例】如下图所示,需要找出A列哪些数字加在一起等于目标值100
- wps文字在安装时会默认设置文档保存的格式,如果我们想要修改其默认的保存格式,应该如何操作,其实办法有很多,下面就让小编告诉你怎样修改wps
- 1、为word文本加注解如果你想为word的某个文本(如一个新名词、一个英文缩写等)加以注释,而又不想让注释出现的文档中,下面三种方法中的任
- 淘宝人生是淘宝新推出的一款非常好玩的游戏,在APP里,我们可以打造属于自己的3D虚拟形象,那你知道淘宝人生怎么捏脸的吗?接下来我们一起往下看
- 按照微软的规划,Windows 10 Redstone 5正式版的预览将于今年秋期推送。而明年春季,则会发布代号为“19H1”的新一代Win
- 作为微软最经典的windows系统,win7深受广大用户所喜爱,还有很多用户想要安装win7系统,但是不清楚win7配置要求,所以小编在这里
- 众所周知Windows系统中都是自带多种不同的模式,而卓越模式便是其中可以提高电脑性能的一个模式,那么Win11要如何去开启卓越模式呢?下面
- 今天一个朋友问:我想做一个跟我做好的一页图表内容一样但是数据不同的一个图表,当我把这一页图表全选黏贴到新的空白页后,图表的数据源还是指向原表
- Excel中的拆分单元格是相对于合并单元格的,而只有合并过的单元格才能进行拆分,单个单元格是无法继续拆分的!因为在Excel中,单个单元格是
- 当工作簿中的工作表不多时,我们只需要单击底部的工作表名到达想要操作的工作表。然而,当有很多工作表时,要找到想要的工作表就需要边单击滚动按钮边
- 一些朋友发现Win10电脑底部的任务栏不见了,这是怎么回事?系统部落小编告诉大家,很可能是因为设置了自动隐藏,下面来教大家把任务栏修改为固定