A1
1;2;3;4;5;6;7;;;;10
現在想將A1根據";"進行分離,再講分離出來的一個值填到一個單元格中
=TRIM(MID(SUBSTITUTE($A$12,";",REPT(" ",99)),(ROW(A1)-1)*99+1,99))
次值為1
=TRIM(MID(SUBSTITUTE($A$12,";",REPT(" ",99)),(ROW(A1)-1+1)*99+1,99))
次值為2
=TRIM(MID(SUBSTITUTE($A$12,";",REPT(" ",99)),(ROW(A1)-1+2)*99+1,99))
次值為3
TRIM=去掉空格
MID=從一個文本字符串的指定位置開始,截取指定數目的字符。MID(A1,4,3),表示從A1單元格中的第4個字符開始提取,提取字符為3個
SUBSTITUTE=如果需要在一個文字串中替換指定的文本,可以使用函數SUBSTITUTE.
REPT函數可以按照定義的次數重復顯示文本,相當於復制文本
ROW=返回所選擇的某一個單元格的行數。
實例
如果A1=學習的革命、A2=電腦
則公式=SUBSTITUTE(A1,"的革命",A2,1)
返回“學習電腦”
REPT("*-", 3) // 字符串顯示 3 次 *-*-*-
=REPT("-",10) //短划線顯示 10 次 ----------
------------------------------------------------------------------------------------------------------------------
發現使用過程中上面的公式有時不准確,下面另外一種方法
G6:
0.1;2.56;一生一世;D;E;F;G;H
0.1=
=MID(G6,1,FIND("@",SUBSTITUTE(G6,";","@",1))-1)
2.56=
=MID(G6,FIND("@",SUBSTITUTE(G6,";","@",1))+1,FIND("@",SUBSTITUTE(G6,";","@",2))-FIND("@",SUBSTITUTE(G6,";","@",1))-1)
一生一世=
=MID(G6,FIND("@",SUBSTITUTE(G6,";","@",2))+1,FIND("@",SUBSTITUTE(G6,";","@",3))-FIND("@",SUBSTITUTE(G6,";","@",2))-1)
原理:
由於find只能獲取該字符串出現的第一個位置
0.1@2.56;一生一世;D;E;F;G;H 找到第一個;位置
0.1;2.56@一生一世;D;E;F;G;H 找到第二個;位置
Mid() 中間的數據數據就出來了
