A:C列是数据明细,需要将三列数据,合并到各行单元格中,并以分隔符'-'串联。这是一个比较常见的字符串合并案例。很多朋友首先想到使用&,公式如下:错误的原因是,日期本质是序列值性质的数值,在合并运算中会暴露本质,就变成了44193/44209这种鬼样子。
=YEAR(A2) &'-' &MONTH(A2) &'-' &DAY(A2)&'-'&B2&'-'&C2
使用YEAR/MONTH/DAY函数分别计算日期值中的年、月、日,再使用&运算符将各值合并。=TEXT(A2,'yyyy-m-d')&'-'&B2&'-'&C2
如果说单元格格式是给数据化个妆,把数值显示为日期形式,那么TEXT函数就是给数据整个容,直接将日期转换为了日期模样的文本值。
此时,如果你觉得反复输入&运算符体验不好,可以换CONCATENATE函数,该函数可以将多个参数合并为一个字符串:
=CONCATENATE(TEXT(A2,'yyyy-m-d-'),B2,'-',C2)
以上是常规且最实用的解法,但作为一个 大 佬 蛇精病出没不定的群,自然还有一些其它的解法。
=CONCAT(TEXT(A2:C2,'yyyy-m-d;-@'))
TEXT(A2:C2,'yyyy-m-d;-@'),该函数的第2参数是'yyyy-m-d;-@',有两个区间,意思是如果数据为大于等于0的数值,则转换为日期格式,如果是文本,则返回原值,并在前面添加一个短杠'-'。和CONCATENATE函数不同,CONCAT函数支持数组运算,最后由它将TEXT函数的运算结果合并成为一个字符串。除了使用CONCAT函数外,也可以使用TEXTJOIN函数:=TEXTJOIN('-',1,TEXT(A2:C2,'yyyy-m-d'))
如果你有一双善于发现细节的眼睛,会看出上面公式里的TEXT函数和CONCAT里的TEXT函数并不相同。它只有1个参数,表示只有一个区间。——只有一个区间的意思是正数和0在区间内,会被转换为日期格式,其它都返回原值。最后再使用TEXTJOIN函数,以'-'为分隔符,串联成一个字符串。没了,今天和大家分享的内容就这些,左上角点关注,右下角点个赞,有啥问题可以在会员群中提问交流,挥挥手,咱们明天再见。https://pan.baidu.com/s/1d0gEaY-UxbcRvt0AIW6m8Q
提取码: 34gd
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。