前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >精通Excel数组公式006:连接数组运算

精通Excel数组公式006:连接数组运算

作者头像
fanjy
发布2020-07-07 10:45:37
1.5K0
发布2020-07-07 10:45:37
举报
文章被收录于专栏:完美Excel完美Excel完美Excel

学习Excel技术,关注微信公众号:

excelperfect

连接运算符是:&,可以将两个或多个项目连接成一个项目,这些项目可以是数字、文本(使用引号括起来)、公式结果,等等。

如下图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))

向下向右拖拉即可。

《Ctrl+Shift+Enter:MasteringExcel Array Formulas》学习笔记

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档