中英文怎么算 字符长度_如何将混合了中英文及不同数量空格的文本,快速拆分成多列...
前段時間學(xué)員小D咨詢到:有什么簡便的方法,可以將將混合了中英文及不同數(shù)量空格的文本,快速拆分成多列?下圖所示是小D的問題:
小D需要將這列數(shù)據(jù)拆分成如下圖所示的4列數(shù)據(jù):
剛一開始看到這個表格的時候,我說用“數(shù)據(jù)-分列”用空格作為分隔符來拆分就可以了吧。仔細(xì)一想,不行,前面的英文單詞不一定是一個詞,有些兩個詞中間也有空格,每一列的長度都是不固定的。
我們一起來思考一下,這個問題的解決方案。我們在處理Excel問題的時候,一定要分析數(shù)據(jù)的規(guī)律。
比如這個案例中,我們可以觀察到,前面的英文單詞、詞類和中文解釋中間都是一個空格間隔的,而中文解釋和英文解釋中間的空格都是2個空格以上的。找到了特定的規(guī)律之后,我們就可以分段來提取了。
提取第4部分
我們可以先把最后一部分的英文解釋先提取出來。這里我們需要先利用FIND函數(shù)查詢2個空格的位置,再用MID函數(shù)截取出來指定位置和指定長度的字符。我們先來看看這相關(guān)函數(shù)的語法:
查詢一個字符串在一個單元格的起始位置:FIND(要找的字符串,包含查詢字符串的單元格)從中間取字符:MID(文本,從第幾位開始取,取多少位)除文本首尾空格:TRIM(文本)
組合的函數(shù):=TRIM(MID(A1,FIND(" ",A1),200))
A1就是要拆分的列的第一個文本所在的單元格地址。最里面一層函數(shù)通過FIND函數(shù)查找兩個空格所在的起始位置,用這個起始位置作為MID函數(shù)的第二個參數(shù),向后截取長度為200的字符。因為不確定后面的英文解釋有多少個字符,所以輸入了一個比較大的數(shù)字。最后再用TRIM清除截取出來的文本的首尾空格。
提取第3部分
接著再來提取第3部分:中文解釋。中文解釋可以用MID函數(shù)從.所在的下一個字符開始,原始文檔中的中文解釋不超過10個字,所以截取的長度我直接輸入了10,如果實際數(shù)據(jù)無法確定多少個字符,可以用兩個空格的位置減去圓點的位置來就計算。
組合函數(shù):=TRIM(MID(A1,FIND(".",A1)+1,10))
提取第2部分
接著來提取第2部分:詞類。由于前面的英文單詞有些是一個詞,有些是兩個詞,此類的長度也不確定,我想到的方法是查找最后一個空格的位置,相關(guān)的函數(shù)包括:
可以按照定義的次數(shù)重復(fù)顯示文本:REPT(文本,重復(fù)的次數(shù))
在某一文本字符串中替換指定的文本:SUBSTITUTE(文本,舊字符,新字符)
左取字符:LEFT(文本,取多少位)
右取字符:RIGHT(文本,取多少位)
組合函數(shù):TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND(".",A1))," ",REPT(" ",99)),99))
先用LEFT函數(shù)將從最左側(cè)截取到圓點的位置的所有字符,比如這段字符:lateral line n. 側(cè)線 A line of pressure-sensitive cells on the sides of bony fish.
就得到了這個部分的文本lateral line n.
接著用SUBSTITUTE函數(shù)將每個單詞中間的一個空格替換成REPT形成的99個空格,再用RIGHT函數(shù)從右側(cè)取出99個字符,最后用TRIM清除首尾空格。
提取第1部分
最后來提取第1部分:英文單詞,使用了LEFT函數(shù)從文本的左側(cè)提取,提取的長度用小圓點的位置減去了詞類的長度,最后用TRIM清除首尾空格。
計算文本長度:LEN(文本)
組合函數(shù):TRIM(LEFT(A1,FIND(".",A1)-LEN(C1)))
到此4列就拆分完畢了。如果對這個案例感興趣,可以在“快樂享用Office”公眾號后臺輸入關(guān)鍵字"拆分列",領(lǐng)取作業(yè)文件。最后匯總一下本文中使用到的相關(guān)函數(shù):
- 查詢一個字符串在一個單元格的起始位置:FIND(要找的字符串,包含查詢字符串的單元格)
- 從中間取字符:MID(文本,從第幾位開始取,取多少位)
- 左取字符:LEFT(文本,取多少位)
- 右取字符:RIGHT(文本,取多少位)
- 清除文本首尾空格:TRIM(文本)
- 可以按照定義的次數(shù)重復(fù)顯示文本:REPT(文本,重復(fù)的次數(shù))
- 在某一文本字符串中替換指定的文本:SUBSTITUTE(文本,舊字符,新字符)
- 計算文本長度:LEN(文本)
總結(jié)
以上是生活随笔為你收集整理的中英文怎么算 字符长度_如何将混合了中英文及不同数量空格的文本,快速拆分成多列...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 和功率的计算公式_电机电流的计算公式是什
- 下一篇: pandas将df赋值到另一个df_Py