如何判定和标记连续出现多次的数据?用TEXTJOIN!
作者:ITFANS来源:部落窝教育发布时间:2023-03-09 14:14:03点击:1717
编按:
TEXTJOIN 函数可以根据需要添加特定分隔符并连接字符串,配合其他函数可以解决很多问题。今天介绍3种TEXTJOIN 函数的经典功能。譬如,查询是否有连续多次出现的数据。这里的重点是连续出现,而非单纯的重复出现。再譬如查找整行重复的数据、按条件合并同类数据到一个单元格中(相当于一对多查找)等等。
Excel 2016开始具备TEXTJOIN函数。该函数基本用法就是把字符串连接起来并添加特定分隔符(也可以不添加)。配合其他函数如FIND、COUNTIF、IF等,可以做一些特别统计,如查找整行相同的数据、查找连续出现多次的数据、合并同类数据到一个单元格(相当于一对多查找)等等。
下面我们结合三个实例来介绍TEXTJOIN函数的经典用法。
TEXTJOIN函数经典用法1:查找连续出现多次的数据并标记
如图所示,员工连续两次不合格,就需要添加警告标记。
在B2输入公式=IFERROR(IF(FIND("不合格/不合格",TEXTJOIN("/",,C2:J2))>1,"警告"),""),下拉填充即可。
函数解释:
1.先使用TEXTJOIN函数将判定结果连接起来,将其作为FIND函数的查找区域。
2.将FIND函数查找结果作为IF函数的判断条件,如果在其中找到“不合格/不合格”,即连续两次判定结果(大家可以根据实际情况要改为其他字符如签到,迟到等作为连续数据判断),那么就显示“警告”字样。
3.如果未找到,默认会显示“#VALUE!”错误值,在外层使用IFERROR函数强制显示为空值。
同理,如果想查找连续出现三次及以上的数据并做标记,都可以用此方法。
TEXTJOIN函数经典用法2:快速找出整行重复的数据并删除
比如下面表格,数据是多个员工分别收集最后整合在一起的。现在需要将其中整行完全相同的重复数据找出来并删除。大家先想一想,该怎么判断整行重复?
1. 连接行数据
在G2单元格输入公式=TEXTJOIN("/",,A2:F2),然后下拉填充,完成数据列的连接。这里将A2:F2的数据使用“/”分隔符连接起来,将其作为一个单元格的数据以方便后续的比较。
2. 根据逐次出现数据判定是否需要删除
我们逐个统计G列中数据从上到下第几次出现,并将除第1次出现外的所有数据标记为“重复出现,需删除”。
在H2单元格输入公式=IF(COUNTIF($G$2:G2,G2)>1,"重复出现,需删除",""),下拉填充即可。
公式解释:
COUNTIF函数的统计区域使用“$G$2:G2”格式,下拉后会依次变为“$G$2:G3”、“$G$2:G4”……形式,实现数据从上到下第几次出现的统计。
3. 筛选数据并删除
选中H列,点击“数据→筛选”,为其添加筛选按钮后。接着展开筛选选项,勾选“重复出现,需删除”;接着选中筛选后的各行数据,右击选择“删除行”;最后再次切换到筛选,勾选“全选”,这样就完成重复行的删除操作了。
TEXTJOIN函数经典用法3:按条件合并同类数据到一个单元格中(一对多查询)
譬如下面,需要将同组的人员合并到一个单元格中。
在E2输入公式=TEXTJOIN(",",,IF($A$2:$A$13=D2,$B$2:$B$13,""))下拉填充即可。(注意:如果版本低,公式输入结束时需要按Ctrl+shift+Enter。)
函数解释:
1. IF($A$2:$A$13=D2,$B$2:$B$13,"")部分是数组运算,得到一个数组:一组成员数据和空值数据。
2. TEXTJOIN函数第2参数省略,表示忽略空值,如此将一组成员连接起来并添加了逗号分隔符。
CONCAT函数也可以实现该功能,具体可以查看《CONCAT函数经典用法:将文字或者字符串语序颠倒》。
这种按条件合并同类数据的做法也可以理解为一对多查询,将符合查询条件的所有值在一个单元格中展示。
更多Excel实用教程,欢迎到部落窝教育了解学习。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
版权申明:
本文作者ITFANS;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。