excel学习库

excel表格_excel函数公式大全_execl从入门到精通

TEXTJOIN函数太强了,轻松解决合并、查找2大Excel难题

学员的问题,要将日期合并在一个单元格用分隔符号隔开。

估计很多人第一反应是用&,可是使用后会发现达不到预期效果,跟卢子来看看。

直接合并,发现日期变成数字。

=B2&","&D2&","&F2

于是套上TEXT将数字转变成日期,新的问题又来了,空单元格显示1900/1/0。

=TEXT(B2,"e/m/d")&","&TEXT(D2,"e/m/d")&","&TEXT(F2,"e/m/d")

其实,有一个更完美的解决公式。输入公式后,按Ctrl+Shift+Enter三键结束。

=TEXTJOIN(",",1,IF($B$1:$F$1="日期",TEXT(B2:F2,"e/m/d;;"),""))

直接看有点复杂,我们先将公式拆分来看。

将内容合并到一个单元格。第二参数1代表忽略空单元格。

=TEXTJOIN("",1,A1:E1)

如果要将内容按分隔符号隔开,第一参数写上分隔符号就可以。

=TEXTJOIN(",",1,A1:E1)

如果是日期,套了TEXT合并,发现依然有1900/1/0存在。

=TEXTJOIN(",",1,TEXT(A1:E1,"e/m/d"))

其实,空单元格在这里等同于0,只要让0显示空白就行,而TEXT可以的第二参数可以对各种数字进行设置,规则:正数;负数;零,如果不写就显示空白。

=TEXTJOIN(",",1,TEXT(A1:E1,"e/m/d;;"))

空白解决了,那就来看日期判断,如果标题是日期,就显示对应的值,否则显示空白,这个就是IF函数了。这是一个数组公式,显示多个内容,单元格无法直接显示,要靠想象。

=IF($B$1:$F$1="日期",TEXT(B2:F2,"e/m/d;;"),"")

将所有公式组合起来,就是最终结果。

=TEXTJOIN(",",1,IF($B$1:$F$1="日期",TEXT(B2:F2,"e/m/d;;"),""))

最后,再来看下的问题,巩固一下语法。

如果有多个对应值,VLOOKUP函数只能查找到第一个,而TEXTJOIN函数可以将所有结果合并到一个单元格。比如查找同一个省份的所有人员。

=TEXTJOIN(",",1,IF($A$2:$A$5=D2,$B$2:$B$5,""))

平常学习,要尝试将同类问题整理在一起,这样可以记得更牢固,以后才能以一举三。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接