用TEXTJOIN函数查找所有符合条件的值并填写到一个单元格中
作者:老菜鸟来源:部落窝教育发布时间:2023-04-12 13:52:07点击:2089
编按:
怎么快速查到某人的所有报销项目和报销金额并汇总填入一个单元格中?或者说,怎么从考勤表中查某个员工一个月内的所有迟到情况,包括迟到日期、迟到时长等等,然后汇总在一个格子里展示?这实际就是查找多个值并合并成一个字符串。今天教大家两种方法。
怎么一次就查到所有数据并合并在一起填写到一个单元格中?譬如查某人的所有报销项目以及报销金额,然后将其全部填入一个单元格中进行展示。这实际就是根据条件查找多个值,然后把得到的每个值合并成一串字符,再填写到一个单元格中。有了office365版本和2021版本,用TEXTJOIN函数最方便。
有两种效果。
第一种,查找所有符合条件的报销项目和报销金额并在一个单元格中同行显示。
公式=TEXTJOIN(";",,IF($B$2:$B$40=F2,$D$2:$D$40&":"&$C$2:$C$40,""))
TEXTJOIN是一个合并函数,可以将指定的数据进行合并,并且添加指定的符号进行分隔。
函数有三个参数,第一参数的作用是用来分隔合并内容的符号,本例是用分号进行分隔。第二参数是一个逻辑值,表示是否忽略空白单元格(或空值),省略时表示忽略空值。第三参数最重要了,表示要合并的单元格是哪些,本例中结合IF函数实现了按条件指定要合并的内容。
公式中的IF($B$2:$B$40=F2,$D$2:$D$40&":"&$C$2:$C$40,"")首先判断$B$2:$B$40=F2是否成立,当条件成立时,也就是与指定的姓名相同时,返回$D$2:$D$40&":"&$C$2:$C$40,也就是“报销说明:报销金额”,当条件不成立时返回空值。
因为省略了第二参数,所以忽略空值,最后实现的效果就是当A列姓名与F2相同时,对报销说明、报销金额等数据进行合并,并且以分号隔开多个值。
第二种,查找所有符合条件的报销项目和报销金额并在一个单元格中分行显示。
公式=TEXTJOIN(CHAR(10),,IF($B$2:$B$40=F2,$D$2:$D$40&":"&$C$2:$C$40,""))
这种结果看起来更加直观。
与第一种的不同之处在于TEXTJOIN第一参数使用了CHAR(10)作为分隔符。
CHAR函数的作用是返回由代码数字指定的字符,10这个数字对应的是换行符。
需要说明的一点是,如果在公式中使用换行符,必须启用自动换行模式才能看到效果。
以上就是一次查到所有数据并合并填写到一个单元格中的方法。虽然看来是查询,但实际是按条件合并单元格数据,所以没有用Vlookup等查询函数,而用的是Textjoin数据合并函数。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
WPS表格教程:财务必学技能!手把手教你制作最实用的工资条!
版权申明:
本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。