Excel字符串处理需求:将#后至空格前内容移至字符串末尾
Excel公式实现将#开头的ID移至字符串末尾
适用于Excel 365/2021(支持动态数组函数)
使用TEXTBEFORE和TEXTAFTER简化公式:
=TRIM(TEXTBEFORE(A1,"#") & TEXTAFTER(A1," ",1) & " " & TEXTBEFORE(TEXTAFTER(A1,"#")," "))
公式拆解:
TEXTBEFORE(A1,"#"):提取#符号之前的文本内容TEXTAFTER(A1," ",1):提取#之后第一个空格往后的所有内容TEXTBEFORE(TEXTAFTER(A1,"#")," "):精准提取#到其后第一个空格之间的ID部分TRIM():自动去除拼接后产生的多余空格
兼容旧版Excel(无动态数组函数)
用传统字符串函数实现:
=TRIM(LEFT(A1,FIND("#",A1)-1) & MID(A1,FIND(" ",A1,FIND("#",A1))+1,LEN(A1)) & " " & MID(A1,FIND("#",A1),FIND(" ",A1,FIND("#",A1))-FIND("#",A1)))
公式拆解:
LEFT(A1,FIND("#",A1)-1):截取#之前的文本MID(A1,FIND(" ",A1,FIND("#",A1))+1,LEN(A1)):定位#后的第一个空格,截取该空格之后的所有内容MID(A1,FIND("#",A1),FIND(" ",A1,FIND("#",A1))-FIND("#",A1)):提取#到第一个空格之间的ID片段TRIM():清理拼接过程中产生的多余空格
验证示例
- 原文本:
ALMINE #6186 3 WAY EM/BRD→ 处理后:ALMINE 3 WAY EM/BRD #6186 - 原文本:
JOY #197 BD LG GLOW RED→ 处理后:JOY BD LG GLOW RED #197
内容的提问来源于stack exchange,提问作者Ricardo Aponte
相关产品推荐
相关产品推荐

