我們經(jīng)常在進(jìn)行數(shù)據(jù)處理的時候,經(jīng)常會遇到阿拉伯?dāng)?shù)字與中文數(shù)字之間的轉(zhuǎn)換,尤其遇到“錢”的問題時。而EXCEL提供的設(shè)置單元格格式,根本滿足不了這種需求。
今天跟大家利用NUMBERSTRING和TEXT函數(shù)實現(xiàn)數(shù)字在阿拉伯與中文格式之間的轉(zhuǎn)變。
以第一個公式:
“{=MAX((TEXT(ROW($1:$99999),”[dbnum1]”)=A2)*ROW($1:$99999))}”為例,來述實現(xiàn)方法。
本公式:
第一步計算ROW($1:$99999),此步的結(jié)果是返回1~99999之間的整數(shù);因為本示例要轉(zhuǎn)換的數(shù)字有五位,所以,用1~99999,如果有三位,可以用1~999,有六位,需要用1~999999;
第二步計算TEXT(ROW($1:$99999),”[dbnum1]”),將1~99999之間的整數(shù)轉(zhuǎn)換為“一萬二千三百四十五”格式的中文數(shù)字;
第三步計算TEXT(ROW($1:$99999),”[dbnum1]”)=A2,將1~99999之間格式為“一萬二千三百四十五”的中文數(shù)字與A2單元格的中文數(shù)字比較,如果相等,返回TRUE,如果不相等,返回FALSE。所以,此步返回的是由一個TRUE和99998個FALSE組成的數(shù)組;
第四部計算(TEXT(ROW($1:$99999),”[dbnum1]”)=A2)*ROW($1:$99999),由一個TRUE和99998個FALSE組成的數(shù)組,分別與對應(yīng)的1~99999相乘,TRUE相當(dāng)于1,F(xiàn)ALSE相當(dāng)于0,所以,此步的結(jié)果是返回1個阿拉伯?dāng)?shù)字與99998個0組成的數(shù)組,而該阿拉伯?dāng)?shù)字,就是與A2單元格相對應(yīng)的數(shù)字;
最后一步計算{=MAX((TEXT(ROW($1:$99999),”[dbnum1]”)=A2)*ROW($1:$99999))},在1個阿拉伯?dāng)?shù)字與99998個0組成的數(shù)組中取最大值,也就是與A2單元格相對應(yīng)的數(shù)字;
因為是數(shù)組計算,所以,以結(jié)束公式輸入。
又因為數(shù)組中的數(shù)據(jù)有99999個,所以公式運行稍有點慢。