前沿拓展:
除了使用查找替換功能來(lái)批量替換字符,還可以使用替換類函數(shù)將字符串中的部分或全部?jī)?nèi)容替換成新的字符串。
如圖 5-74 所示,A 列是一些從系統(tǒng)導(dǎo)出的內(nèi)容,同一個(gè)單元格內(nèi)包含有科目代碼和各級(jí)科目名稱,不同項(xiàng)目之間使用“/”間隔,需要將這些內(nèi)容分別拆分到右側(cè)各列中。
B2 單元格輸入以下公式,將公式**填充到 B2:E25 單元格區(qū)域。
=TRIM(MID(SUBSTITUTE($A2,"/",REPT(" ",99)),COLUMN(A1)*99-98,99))
公式中用到了多個(gè)文本類函數(shù)的組合。
REPT 函數(shù)的作用是根據(jù)指定的次數(shù)重復(fù)顯示字符。
TRIM 函數(shù)的作用是清除字符中的多余空格。
COLUMN 函數(shù)的作用是返回參數(shù)的列號(hào),如果省略參數(shù),則返回公式所在單元格的列號(hào)。本例中的“COLUMN(A1)*99-98”部分,先使用 COLUMN 函數(shù)返回 A1 單元格的列號(hào)1,再用 COLUMN 函數(shù)的結(jié)果乘以 99 減 98,即 1*99-98,結(jié)果仍然是 1。當(dāng)公式向右**時(shí),COLUMN 函數(shù)會(huì)依次得到 B1、C1……的列號(hào),再將這些列號(hào)乘以 99 減 98,即相當(dāng)于 2*99-98、3*99-98……,最終得到按 99 遞增的序號(hào) 1、100、199……,以此作為 MID函數(shù)的第二參數(shù)。
SUBSTITUTE 函數(shù)的作用是將字符串中的指定字符替換為新的字符,函數(shù)第一參數(shù)是需要替換字符的文本或單元格引用。
第二參數(shù)指定要替換哪些字符。
第三參數(shù)指定要將原有字符替換成什么內(nèi)容,如該參數(shù)為空文本或僅保留參數(shù)之前的逗號(hào)時(shí),相當(dāng)于將需要替換的字符刪除。
第四參數(shù)是可選參數(shù),當(dāng)?shù)谝粎?shù)中包含有多個(gè)要替換的字符時(shí),該參數(shù)指定要替換第幾個(gè)。省略該參數(shù)時(shí),則表示全部替換。
公式中的“SUBSTITUTE($A2,"/",REPT(" ",99))”部分,先使用“REPT(" ",99)”將空格重復(fù) 99 次,最終得到 99 個(gè)空格。再使用 SUBSTITUTE 函數(shù)將 A2 單元格中的每一個(gè)分隔符“/”都替換為 99 個(gè)空格,使其變成以下樣式的新字符串。
"119301 往來(lái)中轉(zhuǎn) 通賠"
接下來(lái)使用 MID 函數(shù),從 SUBSTITUTE 函數(shù)返回的字符串中提取字符,提取的起始位置是“COLUMN(A1)*99-98”得到的序號(hào) 1,提取長(zhǎng)度為 99 個(gè)字符,結(jié)果如下。
"119301 "
最后使用 TRIM 函數(shù)清除字符串中的多余空格,得到科目代碼“119301”。
當(dāng)公式向右**時(shí),MID 函數(shù)分別從 SUBSTITUTE 函數(shù)返回字符串中的第 1 位、第100 位、第 199 位……依次提取出 99 個(gè)字符,并使用 TRIM 函數(shù)清除多余空格,最終得到不同的科目代碼和科目名稱。
公式中的 99 可以是其他一個(gè)較大的數(shù)字,目的是增加原有字符串中各個(gè)科目之間的間隔寬度,以便于 MID 函數(shù)分段截取出帶空格的字符。
推薦閱讀北京大學(xué)出版社Excel數(shù)據(jù)處理與分析應(yīng)用大全
拓展知識(shí):
substitute函數(shù)
1、第一打開函數(shù)計(jì)算器。
2、第三在函數(shù)計(jì)算器中找到“符號(hào)”按鈕點(diǎn)擊。
3、最后在“符號(hào)”中找到“下劃線”按鈕點(diǎn)擊后返回輸入頁(yè)面輸入substitute函數(shù)公式即可。
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請(qǐng)注明出處:http://xiesong.cn/100253.html