注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

网易考拉推荐

转:Excel汉字转阿拉伯数字("一"转"1")  

2012-03-26 14:19:50|  分类: 电脑知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

原文地址:http://surda.cn/2010/06/excel-hanzi-to-shuzhi/

 

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

2

2

3

3

4

4

5

5

6

6

7

7

8

8

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.

 

  评论这张
 
阅读(1976)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017