开会了,没到的请举手!

文摘   教育   2024-11-14 20:01   上海  




欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路





小伙伴们好,今天来和大家分享一道文本题目。通过这道题目,今天要向大家介绍一个非常有用的小函数,虽然不出名,但是却很有用。

 

原题目是这样子的:





根据全员名单来列出未参会的人员名单。这个该怎么弄?所有文本都写在同一个单元格中,这样根本无法做任何操作。

 

因此首先要将所有的名单都提取出来。提取出来后再进行数据的对比,找出缺席者。


01

CODE函数的巧妙应用


将姓名提取出来,我们可以使用FILTERXML函数。之后我们要统计缺席者,却不能使用COUNTIF函数,因为它的第二参数不支持数组。可以考虑使用FREQUENCY函数。但是由于姓名都是文本,不能直接使用FREQUENCY函数,需要借助一个小函数来将文本转换为数字- -对,就是CODE函数。





在单元格D5中输入下列公式,确定后并向下拖曳即可。

=IFERROR(IF(FREQUENCY(CODE(FILTERXML("<a><b>"&SUBSTITUTE(B6,"、 ","</b><b>")&"</b></a>","a/b")),CODE(FILTERXML("<a><b>"&SUBSTITUTE($A$2,"、","</b><b>")&"</b></a>","a/b")))=0,FILTERXML("<a><b>"&SUBSTITUTE($A$2,"、","</b><b>")&"</b></a>","a/b"),#N/A),"")


思路:

  • 利用FILTERXML函数分别对单元格A2和单元格B5中的姓名提取出来,这里就不再详细介绍了,请参看相关的关于FILTERXML函数的帖子

  • 在它们的外侧,嵌套一个CODE函数。此函数专门将文本字符串的第一个字符转换为内码字符,成为一组数字

  • 这时候就可以利用FREQUENCY函数来进行计频了。没有被计频的就是未列席的名单

  • 利用IF函数和IFERROR函数将不需要的数据都转换为空值,结果是{"";"";"";"";"";"孙权";"关羽";""}

 

公式只能写到这里了。由于没有TEXTJOIN函数或者CONCATE函数,这里没有特别好的办法它们用公式合并在同一个单元格中。如果是在高版本中,这个操作非常的简单。


本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/1xKx3TnbfkbaS7j0178oM2w?pwd=d8uo

提取码:d8uo




好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!


-END-


长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助


我就知道你“在看”


推荐阅读

Excel应用之家
介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;分享各类图表、表格和模板;提供有偿代工服务。
 最新文章