excel公式技巧之连接数组运算

时间:2023-08-10 16:42:43 

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

如下图1所示,在单元格区域A2:C16中是源数据,在单元格区域E2:G10中是想要的交叉表报告,显示每种产品的L和R的数量。

excel公式技巧之连接数组运算

图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展示了一种改进方法,即在连接时在要连接的项目之间添加一个分隔符,这使得公式更为健壮。因为如果要查找的值都是数字的话,在连接后可能出现意想不到的结果。

excel公式技巧之连接数组运算

图2

使用DGET函数进行多条件查找

如果数据集带有字段名(即每列顶部的名称),那么DGET函数能够执行基于多条件的查找,如下图3所示。注意,条件单元格在相同的行表示AND条件,在不同的行表示OR条件。

excel公式技巧之连接数组运算

图3

使用DGET函数的缺点是,公式不能向下复制。

使用辅助列进行多条件查找

如下图4所示,添加了一个辅助列将要查找的值所在的列合并成一列,这样就可以实现使用VLOOKUP函数进行查找了。在单元格A3中的公式为:=B3&” “&C3,下拉至数据末尾构建辅助列。在单元格G4中的公式为:

=VLOOKUP($F4&” “&G$3,$A$3:$D$16,4,0)

向下向右拖拉即可。

excel公式技巧之连接数组运算

图4

使用数据透视表查找

对于上述示例,也可以使用数据透视表实现所需报表,如下图5所示。

excel公式技巧之连接数组运算

图5

对查找列进行排序并使用近似匹配查找

当进行双值查找时,如果可以对源数据中的列进行排序,那么查找时使用近似匹配比精确匹配更快。(因为精确匹配从头到尾遍历列,而近似匹配进行折半查找)如下图6所示,先对“L/R?”列进行升序排序,然后对“产品代码”列进行升序排序,在单元格F4中输入数组公式:

=INDEX($C$3:$C$16,MATCH($E4&F$3,$A$3:$A$16&$B$3:$B$16))

向下向右拖动至全部数据单元格。

excel公式技巧之连接数组运算

图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所示。

excel公式技巧之连接数组运算

图7

公式改进

INDEX函数能够获取整行或整列。决窍是将其row_num参数指定为0或者忽略,这将获取整列。这样,上文示例中的公式可以改进,无需按Ctrl+Shift+回车键,如下图8所示。

excel公式技巧之连接数组运算

图8

在单元格F4中的公式为:

=INDEX($C$3:$C$16,MATCH($E4&F$3,INDEX($A$3:$A$16&$B$3:$B$16,),0))

向下向右拖拉即可。

标签:DGET函数,excel公式,excel技巧,Excel教程
0
投稿

猜你喜欢

  • excel 工作表的使用方法图解教程

    2022-10-16 07:42:24
  • wps文本框与图形组合效果应该怎么设置

    2023-04-23 22:19:09
  • excel如何把不符合条件的数圈出来?

    2022-10-27 13:51:52
  • Win10 Mobile慢速预览版14342.100修复Bug和已知问题汇总

    2023-05-02 20:42:53
  • 使用代码设置Win10正式版暗黑皮肤主题的技巧

    2022-05-30 19:09:45
  • 在Word2003文档中用像素方式显示图片大小

    2023-12-09 14:46:45
  • XP电脑如何通过安全模式卸载被损坏的系统

    2022-03-23 12:28:27
  • 驱动人生和电脑管家冲突吗_驱动人生和电脑管家功能介绍

    2023-09-18 04:14:34
  • Movie Maker如何使用 Movie Maker使用教程

    2023-04-12 15:23:05
  • CAD多张图纸怎么批量打印?CAD批量打印图纸时要如何操作?

    2022-02-16 10:11:35
  • Win8系统中地图是英文转换为中文的方法图文介绍

    2022-05-06 05:56:58
  • word文档怎么转换成二维码

    2022-05-29 08:50:19
  • Excel如何将文本框与单元格对齐

    2022-03-02 00:40:56
  • 魔兽争霸3冰封王座 Warcraft III for Mac破解版

    2023-04-05 17:27:10
  • M1 Mac专用utm虚拟机安装Windows 11教程

    2022-06-27 18:48:18
  • wps怎么在图片中添加文字

    2022-05-30 16:13:59
  • iOS 12 beta10修复了哪些内容?iOS 12 beta10值得更新吗?

    2023-07-09 02:26:44
  • WPS表格中如何根据条件显示内容

    2022-06-11 06:06:31
  • excel利用VBA选择已定义名称的区域

    2023-10-08 07:11:39
  • excel如何利用数据有效性避免输入重复数据

    2022-04-10 23:20:37
  • asp之家 电脑教程 m.aspxhome.com