打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
=A2&B2,如此简单的数据合并公式,为什么结果会出错?
NO.806-日期合并
作者:看见星光
 微博:EXCELers / 知识星球:Excel
HI,大家好,我是星光。
开门见山,给大家看一道函数培训群里的练习题。

A:C列是数据明细,需要将三列数据,合并到各行单元格中,并以分隔符'-'串联。
E列是模拟结果。
这是一个比较常见的字符串合并案例。很多朋友首先想到使用&,公式如下:
=A2&'-'&B2&'-'&C2
但公式会返回一个错误的结果▼

错误的原因是,日期本质是序列值性质的数值,在合并运算中会暴露本质,就变成了44193/44209这种鬼样子。
如何解决这个错误呢?有的朋友使用公式如下:
解法1:我切切切切 ▼
=YEAR(A2) &'-' &MONTH(A2) &'-' &DAY(A2)&'-'&B2&'-'&C2

使用YEAR/MONTH/DAY函数分别计算日期值中的年、月、日,再使用&运算符将各值合并。
还有的朋友使用TEXT函数,比较优秀:
解法2:整个容吧大胸弟 ▼
=TEXT(A2,'yyyy-m-d')&'-'&B2&'-'&C2
如果说单元格格式是给数据化个妆,把数值显示为日期形式,那么TEXT函数就是给数据整个容,直接将日期转换为了日期模样的文本值。
此时,如果你觉得反复输入&运算符体验不好,可以换CONCATENATE函数,该函数可以将多个参数合并为一个字符串:
解法3:CONCATENATE ▼
=CONCATENATE(TEXT(A2,'yyyy-m-d-'),B2,'-',C2)

以上是常规且最实用的解法,但作为一个 大 佬 蛇精病出没不定的群,自然还有一些其它的解法。
解法4:CONCAT ▼
=CONCAT(TEXT(A2:C2,'yyyy-m-d;-@'))

TEXT(A2:C2,'yyyy-m-d;-@'),该函数的第2参数是'yyyy-m-d;-@',有两个区间,意思是如果数据为大于等于0的数值,则转换为日期格式,如果是文本,则返回原值,并在前面添加一个短杠'-'。
和CONCATENATE函数不同,CONCAT函数支持数组运算,最后由它将TEXT函数的运算结果合并成为一个字符串。

TEXT函数里的@是文本占位符,yyyy、m、d也都是占位符;如果你问什么是占位符,什么是区间,我会向你发射我的爱并伴随一篇可以催眠的经典教程:魔术师——Excel单元格自定义格式详解


……

除了使用CONCAT函数外,也可以使用TEXTJOIN函数:
解法4:TEXTJOIN ▼
=TEXTJOIN('-',1,TEXT(A2:C2,'yyyy-m-d'))


如果你有一双善于发现细节的眼睛,会看出上面公式里的TEXT函数和CONCAT里的TEXT函数并不相同。它只有1个参数,表示只有一个区间。
——只有一个区间的意思是正数和0在区间内,会被转换为日期格式,其它都返回原值。最后再使用TEXTJOIN函数,以'-'为分隔符,串联成一个字符串。
……
没了,今天和大家分享的内容就这些,左上角点关注,右下角点个赞,有啥问题可以在会员群中提问交流,挥挥手,咱们明天再见。

案例文件下载百度网盘..▼

https://pan.baidu.com/s/1d0gEaY-UxbcRvt0AIW6m8Q 

提取码: 34gd

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel128 | CONCATENATE、CONCAT、TEXTJOIN文本连接函数集锦
CONCATENATE,PHONETIC,CONCAT,TEXTJOIN函数
Excel文本处理函数大全(下篇)
连接文本别再用&了,这三个函数,一个比一个好用
连接函数&、CONCATENATE、PHONETIC、CONCAT、TEXTJOIN
Excel中连接多个单元格的数据,至少有6种方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服