如何从含文本字符串的单元格生成单单元格列表且不影响X400行
Excel单单元格拆分构建列表(保留X400段完整)
你之前尝试的公式不生效的核心原因是:TEXTJOIN、CONCATENATE本身是多值合并函数,直接传入单个完整字符串不会对内容做自动拆分,因此达不到预期效果。
解决方法
1. Excel 365/2021及以上版本(公式一键处理)
如果需要空格分隔的水平列表,直接使用以下公式,将其中的A1替换为你存储输入字符串的单元格位置即可:=LET(str,A1,arr,TEXTSPLIT(str,";",,TRUE),pos,XMATCH("X400:*",arr,2),smtp_part,TEXTJOIN("; ",TRUE,FILTER(arr,ROW(arr)<pos))&"; ",x400_part,SUBSTITUTE(TEXTJOIN(";",TRUE,FILTER(arr,ROW(arr)>=pos)),"A= ;","A=;")&";",smtp_part&x400_part)
如果需要每个条目单独换行的垂直列表,将公式中TEXTJOIN("; ",里的; 替换为;"&CHAR(10),再选中输出单元格,点击「开始」选项卡的「自动换行」按钮即可正常显示。
2. 旧版Excel(无新函数,手动替换处理)
不需要写公式,用系统自带的替换功能即可完成:
- 按
Ctrl+H调出替换窗口,查找内容填;smtp:,替换为; smtp:,点击「全部替换」 - 第二次替换,查找内容填
;SMTP:,替换为; SMTP:,点击「全部替换」 - 若需要清理X400段中A=后面的多余空格,第三次替换,查找内容填
A= ;,替换为A=;,点击「全部替换」即可。
内容的提问来源于stack exchange,提问作者NeoTheNerd
相关产品推荐
相关产品推荐

