前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Excel公式练习58: 获取与查找值相对应的多个值

Excel公式练习58: 获取与查找值相对应的多个值

作者头像
fanjy
发布2020-04-22 17:32:06
发布2020-04-22 17:32:06
3.2K0
举报
文章被收录于专栏:完美Excel完美Excel

导语:本文所讲的案例在第一季公式练习中有相似的例子,这里再巩固一下。只要知道要在公式中使用的函数,没有Excel解决不了的问题!

本次的练习是:如下图1所示,单元格区域A1:B7中存放着数据,要求使用公式查找单元格D2中的分类对应的名称。例如,单元格D2中是“水果”,则从列B中获取是水果的名称并放置在列E中。

图1

要求在E2中输入公式,向下拖拉以获取全部满足条件的数据。

先不看答案,自已动手试一试。

公式

在单元格E2中输入数组公式:

=IF(COUNTIF(A:A,$D$2)<ROWS($E$2:E2),"",INDEX(B:B,SMALL(IF($A$2:$A$7=$D$2,ROW($A$2:$A$7)),ROW(A1))))

向下拖拉至出现空单元格。

公式解析

公式中的:

COUNTIF(A:A,$D$2)<ROWS($E$2:E2)

用来计算符合条件的结果数,并与已放置值的单元格数(已返回的值)相比较,以确定在单元格中输入的值。

公式中的:

INDEX(B:B,SMALL(IF($A$2:$A$7=$D$2,ROW($A$2:$A$7)),ROW(A1)))

转换为:

INDEX(B:B,SMALL(IF({"水果";"水果";"蔬菜";"蔬菜";"水果";"蔬菜"}="水果",ROW($A$2:$A$7)),ROW(A1)))

转换为:

INDEX(B:B,SMALL(IF({TRUE;TRUE;FALSE;FALSE;TRUE;FALSE},ROW($A$2:$A$7)),ROW(A1)))

转换为:

INDEX(B:B,SMALL(IF({TRUE;TRUE;FALSE;FALSE;TRUE;FALSE},{2;3;4;5;6;7}),ROW(A1)))

转换为:

INDEX(B:B,SMALL({2;3;FALSE;FALSE;6;FALSE},ROW(A1)))

转换为:

INDEX(B:B,SMALL({2;3;FALSE;FALSE;6;FALSE},1))

转换为:

INDEX(B:B,2)

得到单元格B2中的值:

苹果

当向下拖拉时,ROW(A1)将更新为ROW(A2)、ROW(A3)……,得到值2、3……等,从而可以获取相应位置的值。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档