學(xué)習(xí)啦>學(xué)習(xí)電腦>工具軟件>辦公軟件學(xué)習(xí)>Excel教程>Excel2007教程>

Excel數(shù)組公式怎么提取單元格內(nèi)的字符串

時間: 錦暉1117 分享

  有時需要在Excel中提取單元格內(nèi)文本第一個漢字前的字符串,如果各單元格文本中首個漢字前的字符串長度不等,可用下面的一些數(shù)組公式。以下是學(xué)習(xí)啦小編為您帶來的關(guān)于Excel數(shù)組公式提取單元格內(nèi)第一個漢字前的字符串,希望對您有所幫助。

  Excel數(shù)組公式提取單元格內(nèi)第一個漢字前的字符串

  例如字符串在下圖所示的A列單元格中,在B列 提取第一個漢字前的字符串。

  要提取第一個漢字前的字符串,首先要確定文本中第一個漢字的位置。確定文本中第一個漢字位置的公式有許多,如下面的幾個公式,假如文本在A2單元格中:

  =MATCH(2,LENB(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),)

  或:

  =MATCH(TRUE,MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)>"吖",)

  上述兩個公式為數(shù)組公式,需按Ctrl+Shift+Enter結(jié)束,下同。

  說明:

  1.第一個公式先用MID函數(shù)將單元格內(nèi)文本的各個字符放置到一個數(shù)組,再用LENB函數(shù)判斷各字符的長度,LENB函數(shù)對于單字節(jié)字符返回“1,”,而對于漢字(雙字節(jié))返回“2”。最后用MATCH函數(shù)判斷第一個“2”的位置,即第一個漢字的位置。

  2.第二個公式中,先用MID函數(shù)將單元格內(nèi)文本的各個字符放置到一個數(shù)組,然后將每個字符與“吖”字比較。對于常用漢字,比較后的結(jié)果會返回 “TRUE”,因為在Excel中漢字也如同其他單字節(jié)字符一樣可以進(jìn)行比較,“吖”字在常用漢字中“最小”,因而用其與其他漢字比較。如

  ="吖"<"一"

  返回TRUE。

  最后用MATCH函數(shù)判斷第一個“TRUE”的位置,即第一個漢字的位置。

  對于一些特殊的文本,例如文本的右側(cè)全部為漢字,如上圖A10單元格,可用下面的簡單公式得到第一個漢字的位置:

  =2*LEN(A10)-LENB(A10)+1

  說明:“2*LEN(A10)-LENB(A10)”返回A10單元格文本中單字節(jié)字符的數(shù)量。

  如果第一個漢字前的字符串中不包含空格,下面的數(shù)組公式也可返回第一個漢字的位置,例如A2:A7區(qū)域中的文本。對于A2單元格,數(shù)組公式:

  =MATCH(" ",MIDB(A2,ROW(INDIRECT("1:"&LEN(A2))),1),)

  將返回“4”。

  說明:MIDB函數(shù)對于漢字(雙字節(jié))按“2”計數(shù),即按字節(jié)計數(shù)。MIDB函數(shù)對漢字每個字節(jié)會返回一個空格字符,如下面的公式:

  =MIDB("一",1,1)

  返回空格字符。而公式:

  =MIDB("一",1,2)

  返回漢字本身,即“一”字。

  公式最后用MATC函數(shù)返回第一個空格字符的位置,即第一個漢字的位置。

  取得第一個漢字的位置后,用LEFT函數(shù)即可提取第一個漢字前的字符串,如A2單元格,可用下面的數(shù)組公式:

  =LEFT(A2,MATCH(2,LENB(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),)-1)

猜你喜歡:

1.怎么提取Excel單元格小數(shù)點后第N位數(shù)字

2.Excel中單元格內(nèi)頓號分內(nèi)容提出來的操作方法

3.excel表格內(nèi)單元格加寬的方法

4.excel如何提取單元格數(shù)據(jù)

5.excel如何使用數(shù)組公式

Excel數(shù)組公式怎么提取單元格內(nèi)的字符串

有時需要在Excel中提取單元格內(nèi)文本第一個漢字前的字符串,如果各單元格文本中首個漢字前的字符串長度不等,可用下面的一些數(shù)組公式。以下是學(xué)習(xí)啦小編為您帶來的關(guān)于Excel數(shù)組公式提取單元格內(nèi)第一個漢字前的字符串,希望對您有所幫助
推薦度:
點擊下載文檔文檔為doc格式

精選文章

3741250