作用:Excel中去掉单元格首尾空格,保留字符串中间空格。
用到的Excel函数:MID,FIND,LEFT,RIGHT,TRIM,SUBSTITUTE,LEN
Excel公式:=MID(A1,FIND(LEFT(TRIM(A1)),A1),FIND("☆",SUBSTITUTE(A1,RIGHT(TRIM(A1)),"☆",LEN(A1) - LEN(SUBSTITUTE(A1,RIGHT(TRIM(A1)),""))))-FIND(LEFT(TRIM(A1)),A1)+1)
说明:设单元格为A1,值为:$$$ab$$aba$$$($代表空格)
1:求出A1中右边的第一个各非空格字符(rc : right char)
rc = RIGHT(TRIM(A1)) ----> rc = a
2:求出rc在A1中出现的次数
n = LEN(A1) - LEN(SUBSTITUTE(A1,rc,"")) ----> 3
SUBSTITUTE(A1,rc,"") : 将rc用空字符替换
3:将A1中最后一个rc替换为"☆"(因为"☆"不常用)(s : string)
s = SUBSTITUTE(A1,"☆",n) ----> 得到字符串 $$$ab$$ab☆$$$
4:求出"☆" 的位置 (即右边第一个非空格字符的位置)(rf : right first)
rf = FIND("☆",s) ----> 10
5:求左边第一个非空格字符的位置(lf : left first)
lf = FIND(LEFT(TRIM(A1)),A1) ----> 4
6:取A1中从lf开始共rf-lf+1个字符
= MID(A1,lf,rf-lf+1)