伙伴云客服论坛»论坛 S区 S产品资讯 查看内容

4 评论

0 收藏

分享

excel如何一个条件匹配多个数据?

回复

举报 使用道具

相关帖子
全部回复 (4)
查看全部
非要用Excel的话,TRANSPOSE函数就可以
不过很麻烦就是了,我讲的详细一些,
但是事实上也有更快的解决方法,比如用伙伴云,3秒就能搞定!还不需要编程函数哦!
伙伴云体验入口——团队20人以内免费使用,快来体验
下面,我分别用两种方法对比操作下,看完就能明白我说的了~
一、Excel:TRANSEPOSE函数(有亿点点麻烦)

我自己建了个表,用这个样表做示范好了

excel如何一个条件匹配多个数据?-1.jpg

自创样表

Step1. 写好名字以后,多拉几行空格

把负责人的名字给写好以后,拉几行空格在后面,方便后续数据录入


excel如何一个条件匹配多个数据?-2.jpg

Step2.输入第一层函数TRANSPOSE,第二层函数FLITER


直接在输入框里输入就好,这样比较省事儿。

excel如何一个条件匹配多个数据?-3.jpg
Step3.在FILTER函数范围内,先选中项目那一列


excel如何一个条件匹配多个数据?-4.jpg
Step4. 逗号隔开,再选中姓名那一列


excel如何一个条件匹配多个数据?-5.jpg
Step5.最后输入一个“=”,选中你新建的名称“小明”

【图中绿色的“小明”那一格】

excel如何一个条件匹配多个数据?-6.jpg
Step6. 非常重要的一步!要同时摁下control+shift+enter就好啦~


excel如何一个条件匹配多个数据?-7.jpg
这已经是最简单最小白的方法了,直接套函数就行。
不过,层层叠叠的函数是不是已经开始麻了哈哈哈哈哈哈~
所以你为啥2022年不换一个更加好使的工具呀!
比如今天的宝藏软件伙伴云!
两步就可以完成上述所有操作!

二、伙伴云:分组操作(两步搞定,无需函数)


小白不会函数也没关系!!!
因为我还帮你准备了——
比Excel上手更加简单,不用套用任何函数的超酷应用:伙伴云!
用它操作,3秒就能搞定!!!
以下就是在伙伴云里实现的效果哦~

excel如何一个条件匹配多个数据?-8.jpg
也想上手体验的伙伴,戳下方链接即可用哟~
伙伴云体验入口>>团队20人以内免费使用,快来体验
1、创建/导入表格数据

注册登陆伙伴云后,点击表格-创建表格,创建一张含有姓名(文本字段)、项目(文本字段)两个字段的表格。

excel如何一个条件匹配多个数据?-9.jpg
如果你已经在excel上创建了数据,还可以选择【导入excel】,将已有的excel直接导入进伙伴云的表格中,如下图所示。


excel如何一个条件匹配多个数据?-10.jpg
如果您是手动创建表格的话,进入表格,点击【创建】按钮,可以直接添加数据;如果是导入excel,那就会直接呈现带数据的表格了,如下图所示。

excel如何一个条件匹配多个数据?-11.jpg
2、分组操作。

选择分组,添加分组字段:姓名,大功告成!

excel如何一个条件匹配多个数据?-12.jpg
题主想要的1个条件匹配多个数据的表格,就呈现在眼前了!


呜呜呜~(老激动了),这难道不比动不动就写复杂函数还容易出错的Excel香呀!
最最关键的是!!!!!伙伴云这款宝藏软件,20人以内的小团队或个人都可以免费使用哦~
还不快速速戳链接,用起来~
伙伴云体验入口——团队20人以内免费使用,快来体验
以上,记得关注 @伙伴云 哦~

举报 回复 支持 反对 使用道具

针对这种一对多去查找匹配的情况,有一个专门的函数Textjoin可是实现。这个函数什么意思呢?我们知道,Text是文本的意思,join是连接的意思,那顾名思义,Textjoin就是连接文本的意思。
那它的语法是怎样的呢?也就是怎么来用这个函数呢?对于一个新的函数,我推荐你可以调出【函数参数】来学习(怎么调出,我前面也分享过,这里就不重复啰嗦了)。


excel如何一个条件匹配多个数据?-1.jpg
在这个界面,我们可以看到这个函数的作用以及语法。所以,我们可以看到,Textjoin函数基本的是有3个参数构成。
第1个参数是用来连接文本的分隔符,比如【,逗号】、【;分号】甚至可以是空白,但这个参数是必须要有的,不能缺省。第2个参数是逻辑值,默认是True,表示忽略空单元格的意思。第3个参数,需要连接的文本,这些文本可以是直接获取的,也可以是借助其他函数嵌套获取的。当然,如果有多组文本,也可以有第4个参数、第5个参数......
好,明白了Textjoin这个函数的用法,我们就来写这个例子的公式:

excel如何一个条件匹配多个数据?-2.jpg
现在看这个公式应该不难理解,其中第3个参数,就用到了if条件函数,来获取查找匹配的文本。这样一讲,是不是觉得很简单呢?
当然,有一点需要提醒你,Textjoin这个函数是Excel2016版以上才有的。所以,如果你的Excel版本太低,是没有这个函数的。那要怎么办呢?最简单的办法,请你升级Excel版本,升级你的硬件,才是提升工作效率、解放你大脑的不二法宝。
对了,最后还想跟你分享下,我最近还做了一个课程《Excel学习就从数据规范开始》,是专门教你做表的。如果你还不懂怎么做一张表,或者说你做的表总是很乱,数据处理时让你晕头转向,老是返工老是出错,效率低下不断加班,那么可以好好学学这个课程。
它会教你从一张规范的数据表开始,开启像老手一样灵活驾驭Excel的大门。这是具体的课程大纲:

excel如何一个条件匹配多个数据?-3.jpg

在这门课程中,我系统讲了10个规范标准。每一个规范标准,我都详细跟你讲明白了到底是什么意思,以及为什么要这样规范,如果不这样规范会带来什么后果,最后当然还有对于不规范的数据要如何规范的方法。
在规范标准后,我还讲了两个综合案例,来带你完整演绎Excel数据规范的过程,也就是如何将一张凌乱无序的表,变成一张的表的过程。
学完这个课程,至少会让你有以下4个收获:

excel如何一个条件匹配多个数据?-4.jpg
好,今天的分享就到这里。如果看完对你有收获,可以点赞收藏,或者转发分享给更多的朋友。如果有什么疑问或者还想看什么内容,可以留言或者私信我。

举报 回复 支持 反对 使用道具

可以用数据透视表(姓名+项目透视),然后如果有数值则在某列连续写值。
或者用软件实现,然后对项目进行分列,可获得需要的多列文件。

excel如何一个条件匹配多个数据?-1.jpg

举报 回复 支持 反对 使用道具

可以使用INDEX+SMALL+IF+COLUMN组成的数组公式实现,外面再套一个IFERROR函数屏蔽错误值。
考虑到可能会有新手看见这个答案,我写得详细一点。
1、实现效果

excel如何一个条件匹配多个数据?-1.jpg

2、示例公式
=IFERROR(INDEX($B$2:$B$16,SMALL(IF($D2=$A$2:$A$16,ROW($A$2:$A$16)-1),COLUMN(A:A))),"")
*输入到E2单元格,数组公式需要三键结束输入(CTRL+SHIFT+ENTER),输入完毕后再填充到E2:G7区域。
*公式中有相对、混合和绝对引用,输入公式时要注意。

3、公式分析
本示例使用的就是可以“根据单条件或多条件查询多值”的固定套路(INDEX+SMALL+IF+ROW或者INDEX+SMALL+IF+COLUMN),俗称“万金油”。
下面以从E2单元格“曹操的第1个项目”开始进行分步分析:
①判断条件
根据D2的条件“曹操”,生成条件数组,是“曹操”则返回TRUE,不是“曹操”则返回FALSE。

公式:
=$D2=$A$2:$A$16
*这个数组公式有15个结果。
*选中E2:E16区域,输入公式并三键结束输入(CTRL+SHIFT+ENTER),该数组公式的15个结果会依次填充到这15个单元格内。
*为了数据更清晰,图中手动标记了颜色。

excel如何一个条件匹配多个数据?-2.jpg
只有第2、12、15行显示为TRUE。

②生成序号
根据条件数组,生成“曹操”对应的行号,是“曹操”则返回当前行号,不是“曹操”则返回FALSE。

公式:
=IF($D2=$A$2:$A$16,ROW($A$2:$A$16))
*选中E2:E16区域,输入公式并三键结束输入(CTRL+SHIFT+ENTER),该数组公式的15个结果会依次填充到这15个单元格内。

excel如何一个条件匹配多个数据?-3.jpg
重点:我们得到了“曹操”对应的行号,但实际上我们需要的是“曹操”在目标区域A2:A16内对应的序号,因为目标区域是A2:A16,既第1个元素对应的行号是2、第2个元素对应的行号是3。。。第15个元素对应的行号是16,所以将“行号-1”就得到了对应的序号。

公式:
=IF($D2=$A$2:$A$16,ROW($A$2:$A$16)-1)
*选中E2:E16区域,输入公式并三键结束输入(CTRL+SHIFT+ENTER),该数组公式的15个结果会依次填充到这15个单元格内。

excel如何一个条件匹配多个数据?-4.jpg
在目标区域A2:A16中,“曹操”对应的序号为1、11、14。

③输出序号
利用SMALL和COLUMN函数依次输出对应的序号
=SMALL(IF($D2=$A$2:$A$16,ROW($A$2:$A$16)-1),COLUMN(A:A))
*数组公式,需要三键结束输入(CTRL+SHIFT+ENTER)。

excel如何一个条件匹配多个数据?-5.jpg
输入完毕后,将公式向右填充到F2:G2区域。

excel如何一个条件匹配多个数据?-6.jpg

在E2单元格引用的COLUMN(A:A)实际值为1,填充到F2、G2时变为COLUMN(B:B)、COLUMN(C:C),实际值分别为2、3。
再配合SMALL函数,E2、F2、G2分别返回了目标数组中第1、第2、第3个最小值1、11、14。

④输出结果
利用INDEX函数,输出目标序号所对应的内容。
=INDEX($B$2:$B$16,SMALL(IF($D2=$A$2:$A$16,ROW($A$2:$A$16)-1),COLUMN(A:A)))
*输入到E2单元格,三键结束输入(CTRL+SHIFT+ENTER),然后再填充到E2:G2区域。

excel如何一个条件匹配多个数据?-7.jpg
在上一步骤中,E2、F2、G2输出的结果分别是1、11、14,这一步分别返回了目标区域(B2:B16)中第1、11、14个元素“项目1”、“项目11”和“项目14”。

⑤屏蔽错误
将上一步的公式填充到目标区域E2:G7。

excel如何一个条件匹配多个数据?-8.jpg
右下角有三个位置没有匹配到对应的值,返回了错误值,这个错误值可以通过在外面套IFERROR函数来屏蔽。
=IFERROR(INDEX($B$2:$B$16,SMALL(IF($D2=$A$2:$A$16,ROW($A$2:$A$16)-1),COLUMN(A:A))),"")
*输入到E2单元格,三键结束输入(CTRL+SHIFT+ENTER),然后再填充到E2:G7区域。

excel如何一个条件匹配多个数据?-9.jpg
目标效果达成。

4、特别说明
①以上公式全部是数组公式,需要三键结束输入(CTRL+SHIFT+ENTER)。
②公式中有相对、混合和绝对引用,输入公式时要注意。
③因为同一个条件的不同数据是向右依次输出的,所以使用的是COLUMN(A:A),如果数据需要向下依次输出,则需要把COLUMN(A:A)换成ROW(1:1)。
④熟悉这个套路以后,还可以实现多条件查询多值功能。


有问题请留言。

举报 回复 支持 反对 使用道具

本版积分规则 高级模式
B Color Image Link Quote Code Smilies

清水煮岁月
注册会员
主题 19
回复 20
粉丝 0
|网站地图
快速回复 返回顶部 返回列表