Excel汉字转阿拉伯数字("一"转"1")
上午有群友问在Excel中将“五”转换成“5 “?看到这个问题我第一反映居然想到用choose()函数,细想不对。choose()处理数值转文本比较合乎,这属逆转。
过不多久有群友给出了个组合函数:
=match(B12,text(row(1:20),"[dbnum1]"),0)
此为一数组函数输入公式后按SHIFT+CTRL+ENTET,OK,单个转换成功。但公式填充出错,没有细究。问题应该是出在row(1:20)公式向下填充,数组发生了变化。
于是surda想通过数组参数来实现,经测试成功。效果如下:
| A | B | |
| 1 | 一 | 1 |
| 2 | 二 | 2 |
| 3 | 三 | 3 |
| 4 | 四 | 4 |
| 5 | 五 | 5 |
| 6 | 六 | 6 |
| 7 | 七 | 7 |
| 8 | 八 | 8 |
| 9 | 九 | 9 |
| 10 | 十 | #N/A |
| 11 | 一十 | 10 |
| 12 | 一十一 | 11 |
| 13 | 一十二 | 12 |
公式:B1=MATCH(A1,TEXT({1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20},"[dbnum1]"),0)
输入完公式按SHIFT+CTRL+ENTER。
公式分析:利用match()函数返回A1在数组参数text({1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20},"[dbnum1]")中的位置。这里为什么要用到TEXT()输出,因为必须用到!如果不用text()输出,那可以把数组参数写成{一;二;三;四;五;六;七;八;九;......}。
使用函数公式其实不是非常方便,例用宏还是比较简易的。方法在此就不细说,网上很多教程。~_^
看到这,可能还有童鞋对text({1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20},"[dbnum1]")不是特别理解。那就简单介绍下吧:follow me!
相信函数text(value,format_text)根据指定的数值格式(format_text)将数字转成文本。这个用法都会,可针对format_text参数可能了解不多。接下举例说明一下三个与数字转换相关的format_text参数,先看下表:
| A | B | C | D | E | F | |
| 1 | 一 | 1 | 一 | 壹 | 1 | 1 |
| 2 | 二 | 2 | 二 | 贰 | 2 | 2 |
| 3 | 三 | 3 | 三 | 叁 | 3 | 3 |
| 4 | 四 | 4 | 四 | 肆 | 4 | 4 |
| 5 | 五 | 5 | 五 | 伍 | 5 | 5 |
| 6 | 六 | 6 | 六 | 陆 | 6 | 6 |
| 7 | 七 | 7 | 七 | 柒 | 7 | 7 |
| 8 | 八 | 8 | 八 | 捌 | 8 | 8 |
| 9 | 九 | 9 | 九 | 玖 | 9 | 9 |
| 10 | 十 | #N/A | #N/A | #N/A | #N/A | #N/A |
| 11 | 一十 | 10 | 一十 | 壹拾 | 1十 | 10 |
| 12 | 一十一 | 11 | 一十一 | 壹拾壹 | 1十1 | 11 |
| 13 | 一十二 | 12 | 一十二 | 壹拾贰 | 1十2 | 12 |
数字1-12通过text()带不同format_text参数,输出的格式完全不一样。B列是正常的汉字数值、C列是大写的数值(常用于书写人民币格式)、E列(F列)输入全角阿拉伯数值。各公式SHOW:
C1=TEXT(B1,"[dbnum1]")
D1=TEXT(B1,"[dbnum2]")
E1=TEXT(B1,"[dbnum3]")
F1=TEXT(B1,"[dbnum3]0")
可以看到关键是在"[dbnum1]"、"[dbnum2]"、"[dbnum3]"、"[dbnum]0",为了直观表达,举个实例。
| G | H | I | |
| 7 | 数据源 | 结果 | 公式 |
| 8 | 19850210 | 壹仟玖佰捌拾伍万零贰佰壹拾 | =TEXT(G8,"[dbnum2]") |
| 9 | 19850210 | 壹玖捌伍零贰壹零 | =TEXT(G9,"[dbnum2]0") |
| 10 | 19850210 | 一千九百八十五万○二百一十 | =TEXT(G10,"[dbnum1]") |
| 11 | 19850210 | 一九八五○二一○ | =TEXT(G11,"[dbnum1]0") |
| 12 | 19850210 | 1千9百8十5万02百1十 | =TEXT(G12,"[dbnum3]") |
| 13 | 19850210 | 19850210 | =TEXT(G13,"[dbnum3]0") |
Ps:有意思的是Excel不认“十”,“10”要表达成“一十”,看来MS还需要更了解中文。~_^.测试平台MS EXCEL2010.

![酷歪人主机,优惠码[surda.cn]](http://img.surda.cn/ads/yculer.jpg)

广州鞋批发市场在哪里?
广州男鞋批发市场
广州女鞋批发市场
女鞋批发
博百优
A wonderful job. Super helpful inoframiton.