昨天講人民幣阿拉伯?dāng)?shù)字轉(zhuǎn)中文大寫的公式,最后用兩個SUBSTITUTE函數(shù)替換“零角”為“零”,“零分”為“整”。今天,就有朋友問韓老師SUBSTITUTE函數(shù)的具體用法,那韓老師就來總結(jié)一下。
功能
在某一文本字符串中替換指定的文本。
SUBSTITUTE(text, old_text, new_text, [instance_num])
SUBSTITUTE 函數(shù)語法具有下列參數(shù):
文本 必需。 需要替換其中字符的文本,或?qū)形谋荆ㄐ枰鎿Q其中字符)的單元格的引用。
old_text 必需。 需要替換的文本。
new_text 必需。 用于替換 old_text 的文本。
Instance_num 可選。 指定要用 new_text 替換 old_text 的事件。 如果指定了 instance_num,則只有滿足要求的 old_text 被替換。 否則,文本中出現(xiàn)的所有 old_text 都會更改為 new_text。
特點(diǎn)
1、區(qū)分大小寫和全角半角:當(dāng)text中沒有包含 old_text指定的字符串時,函數(shù)結(jié)果與text相同;
2、當(dāng)?shù)谌齻€參數(shù)為空文本或是省略,而只保留參數(shù)前的逗號時,相當(dāng)于將 old_text替換;
3、當(dāng)?shù)谒膫€參數(shù)省略,text中與 old_text相同的文本將被替換;
4、如果第四個參數(shù)有指定,比如“2”,則只有第二次出現(xiàn)的old_text被替換。
以上四個特點(diǎn)舉例如下:
公式:=SUBSTITUTE(D1,'及','合'),把“不及格”統(tǒng)一改為“不合格”:
比如:火車票上的身份證號碼從第11位開始隱藏4位,實(shí)現(xiàn)公式:=SUBSTITUTE(C2,MID(C2,11,4),'****')
其中:
text:C2,身份證所在單元格;
old_text::MID(C2,11,4),用MID函數(shù)從身份證號碼的第11位取4位;
new_text::“****”。
公式為:=LEN(D2)-LEN(SUBSTITUTE(D2,6,))
其中:
LEN(D2):D2字符串的長度;
LEN(SUBSTITUTE(D2,6,)):替換掉了6以后字符串的長度。
在F11單元格輸入公式:
{=(AVERAGE(--SUBSTITUTE(F2:F10,'分',)))}
(CTRL SHIFT ENTER結(jié)束)
其中:
{=--SUBSTITUTE(F2:F10,'分',)},公式內(nèi)“--”稱為“減負(fù)運(yùn)算”,{=SUBSTITUTE(F2:F10,'分',)}的結(jié)果是一串文本,前面加一個“-”,是通過取負(fù)數(shù)將文本轉(zhuǎn)換成數(shù)值,再加一個“-”,即負(fù)負(fù)得正。
“--減負(fù)運(yùn)算”常用于公式中把文本轉(zhuǎn)換為數(shù)字。
比如下圖表中的員工姓名和業(yè)績擠在一個單元格里,要求統(tǒng)計業(yè)績最大值。
在C2單元格輸入公式:
{=MAX((SUBSTITUTE(B2,ROW($1:$100),)<>B2)*ROW($1:$100))},(TRL SHIFT RNTER結(jié)束)。
{=ROW($1:$100)}:
返回值是1-100組成的數(shù)組{1;2;3;4;5;6;7……98;99;100}
{=SUBSTITUTE(B2,ROW($1:$100),)}:
將B2內(nèi)的文本依次刪除1~100數(shù)值以后,返回100組文本組成的數(shù)組,如下圖:
關(guān)于SUBSTITUTE函數(shù)的用法參考昨天的文章:Excel | 數(shù)據(jù)輸入不規(guī)范,部分帶數(shù)量單位,怎么計算平均值?。
{=SUBSTITUTE(B2,ROW($1:$100),)<>B2}:
返回值是一組TURE與FALSE組成的100個邏輯值數(shù)組,將刪除了數(shù)字后的文本與B2單元格相對比,如果不等于B2返回TURE,如果等于B2返回FALSE。
{=(SUBSTITUTE(B2,ROW($1:$100),)<>B2)*ROW($1:$100)}:
將得到的一級邏輯值與1~100數(shù)值相乘,TURE相當(dāng)于1,F(xiàn)ALSE相當(dāng)于0,相乘以后得到的結(jié)果是一個數(shù)組,該數(shù)組由100個數(shù)值組成,分別是B2單元格中包含的所有數(shù)字和0。
最后用MAX函數(shù)對上述數(shù)組內(nèi)的數(shù)值求最大值。
聯(lián)系客服