等級(jí):初學(xué)者
-
積分:0
-
財(cái)富值:0.00
-
身份:普通用戶
在Excel中會(huì)經(jīng)常用到分列功能,可以將同一單元格內(nèi)的數(shù)據(jù)分割到多列中,非常方便。實(shí)際上,用公式也能實(shí)現(xiàn)類似分列的功能,如下面的一些公式。
一、固定寬度分列
在分列時(shí)的“文本分列向?qū)А睂?duì)話框中有兩個(gè)選項(xiàng),分別是“固定寬度”和“分隔符號(hào)”。假如A1單元格中包含文本“甲乙丙丁戊己”,分列的寬度相同。
分列的寬度為1個(gè)字符時(shí),在B1單元格中輸入公式:
=MID($A$1,COLUMN(A1),1)
分列的寬度為2個(gè)字符時(shí),在B2單元格中輸入公式:
=MID($A$1,COLUMN(A1)*2-1,2)
分列的寬度為3個(gè)字符時(shí),在B3單元格中輸入公式:
=MID($A$1,COLUMN(A1)*3-2,3)
然后分別向右填充公式,即可得到按不同字符寬度分列后的數(shù)據(jù)。
下面的多單元格數(shù)組公式將A1單元格中的數(shù)據(jù)按1-3個(gè)字符寬度“分列”到一行多列的內(nèi)存數(shù)組中:=MID(A1,COLUMN(INDIRECT("1:"&LEN(A1))),1)
=MID(A1,COLUMN(INDIRECT("1:"&LEN(A1)))*2-1,2)
=MID(A1,COLUMN(INDIRECT("1:"&LEN(A1)))*3-2,3)
選擇一個(gè)一行多列的區(qū)域,如B5:G5,輸入上述公式,然后按Ctrl+Shift+Enter,即可得到分列后的數(shù)據(jù)。
二、按分隔符號(hào)分列
例如A1單元格中包含用頓號(hào)分割的文本“足球、籃球、沙灘排球、羽毛球、網(wǎng)球、乒乓球”,用下面的公式將頓號(hào)分隔的數(shù)據(jù)分列到一行中:
在某個(gè)單元格,如A4單元格輸入公式:
=TRIM(MID(SUBSTITUTE($A$1,"、",REPT(" ",LEN($A$1))),(COLUMN(A1)-1)*LEN($A$1)+1,LEN($A$1)))
然后拖動(dòng)填充柄向右填充公式即可。
下面的多單元格數(shù)組公式將A1單元格中的文本“分列”到一個(gè)一行多列的區(qū)域:
=TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",LEN(A1))),LEN(A1)*(COLUMN(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))+1))-1)+1,LEN(A1)))
選擇一個(gè)一行多列的區(qū)域,如B6:F6,輸入上述公式,然后按Ctrl+Shift+Enter,即可得到分列后的數(shù)據(jù)。
下面的數(shù)組公式將A1單元格中的數(shù)據(jù)“分列”到一個(gè)一行多列的內(nèi)存數(shù)組,公式輸入完畢后按Ctrl+Shift+Enter結(jié)束:
=TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",LEN(A1))),LEN(A1)*(TRANSPOSE(ROW(INDIRECT("A1:A"&LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))+1))-1))+1,LEN(A1)))
公式返回“{"足球","籃球","沙灘排球","羽毛球","網(wǎng)球","乒乓球"}”。
又如A1單元格為用“/”分隔的數(shù)值“33.5/25.7/3.1/25”,要得到這些數(shù)值的和:
=SUM(--TRIM(MID(SUBSTITUTE(A1,"/",REPT(" ",LEN(A1))),LEN(A1)*(TRANSPOSE(ROW(INDIRECT("A1:A"&LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))+1))-1))+1,LEN(A1))))