EXCEL中如何用公式得出一个数值的大写?

EXCEL中如何用公式得出一个数值的大写?,第1张

1、打开EXCEL表格。

2、选择一个单元格,输入数字。

3、再选择一个需要转换成数字大写的单元格,在此单元格输入此公式:

="大写人民币:"&IF(TRUNC(A1)=0,"",TEXT(TRUNC(A1),"[DBNum2]G/通用格式")&"元")&IF(TRUNC(A110)-TRUNC(A110,-1)=0,IF(TRUNC(A1100)-TRUNC(A1100,-1)<>0,"零",""),TEXT(TRUNC(A110)-TRUNC(A110,-1),"[DBNum2]G/通用格式")&"角")&IF(TRUNC(A1100)-TRUNC(A1100,-1)=0,"",TEXT(TRUNC(A1100)-TRUNC(A1100,-1),"[DBNum2]G/通用格式")&"分")&IF(TRUNC(A1100)-TRUNC(A1100,-1)=0,"整","")。

4、最后按Enter键,这个公式就编辑好了。

在EXCEL创建如下vba函数,然后可以把JEZH当内部函数使用。

Function

JEZH(X

As

Range)

If

X

>=

1

Then

If

Int(X)

=

X

Or

Round(X,

2)

=

Int(X)

Then

JEZH

=

ApplicationWorksheetFunctionText(Int(X),

"[DBNUM2]")

&

"元整"

ElseIf

Int(X

10)

=

X

10

Or

Int(X

10)

=

Round(X,

2)

10

Then

JEZH

=

ApplicationWorksheetFunctionText(Int(X),

"[DBNUM2]")

&

"元"

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"角"

ElseIf

Right(Int(X

10),

1)

<>

0

Then

JEZH

=

ApplicationWorksheetFunctionText(Int(X),

"[DBNUM2]")

&

"元"

&

ApplicationWorksheetFunctionText(Left(Right(Round(X,

2),

2),

1),

"[DBNUM2]")

&

"角"

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

Else

JEZH

=

ApplicationWorksheetFunctionText(Int(X),

"[DBNUM2]")

&

"元"

&

ApplicationWorksheetFunctionText(Left(Right(Round(X,

2),

2),

1),

"[DBNUM2]")

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

End

If

ElseIf

X

=

0

Then

JEZH

=

ApplicationWorksheetFunctionText(Int(X),

"[DBNUM2]")

&

"元"

ElseIf

X

<

1

And

X

>

0

Then

If

Int(X

10)

=

X

10

Then

JEZH

=

ApplicationWorksheetFunctionText(Right(X,

1),

"[DBNUM2]")

&

"角整"

ElseIf

Right(Int(X

10),

1)

<>

0

Then

JEZH

=

ApplicationWorksheetFunctionText(Left(Right(Round(X,

2),

2),

1),

"[DBNUM2]")

&

"角"

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

Else

JEZH

=

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

End

If

ElseIf

X

<=

-1

Then

If

Int(X)

=

X

Or

Round(Abs(X),

2)

=

Int(Abs(X))

Then

JEZH

=

"负"

&

ApplicationWorksheetFunctionText(Int(Abs(X)),

"[DBNUM2]")

&

"元整"

ElseIf

Int(X

10)

=

X

10

Then

JEZH

=

"负"

&

ApplicationWorksheetFunctionText(Int(Abs(X)),

"[DBNUM2]")

&

"元"

&

ApplicationWorksheetFunctionText(Right(X,

1),

"[DBNUM2]")

&

"角"

ElseIf

Right(Int(X

10),

1)

<>

1

Then

JEZH

=

"负"

&

ApplicationWorksheetFunctionText(Int(Abs(X)),

"[DBNUM2]")

&

"元"

&

ApplicationWorksheetFunctionText(Left(Right(Round(X,

2),

2),

1),

"[DBNUM2]")

&

"角"

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

Else

JEZH

=

"负"

&

ApplicationWorksheetFunctionText(Int(Abs(X)),

"[DBNUM2]")

&

"元"

&

ApplicationWorksheetFunctionText(Left(Right(Round(X,

2),

2),

1),

"[DBNUM2]")

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

End

If

ElseIf

0

>

X

>

-1

Then

ElseIf

Int(X

10)

=

X

10

Then

JEZH

=

"负"

&

ApplicationWorksheetFunctionText(Right(X,

1),

"[DBNUM2]")

&

"角整"

ElseIf

Right(Int(X

10),

1)

<>

1

Then

JEZH

=

"负"

&

ApplicationWorksheetFunctionText(Left(Right(Round(X,

2),

2),

1),

"[DBNUM2]")

&

"角"

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

Else

JEZH

=

"负"

&

ApplicationWorksheetFunctionText(Right(Round(X,

2),

1),

"[DBNUM2]")

&

"分"

End

If

End

Function

使用UPPER函数可以将文本转换成大写形式。

语法:UPPER(text)。

参数:Text为需要转换成大写形式的文本,它可以是引用或文字串。

实例:公式“=UPPER("apple")”返回APPLE。

  

中文数字

小写可以使用Ctrl+1设置单元格格式中的“特殊”→“转换成中文大写”或中文小写形式即可。

使用工具:wps2019

1、新建excel文档,随机输入一栏数据。

2、选择第一个数据,点击右键选择“设置单元格格式”。

3、在“单元格格式”框,选择“数字”-“特殊”,右侧类型选择“人民币大写”,点击确定,原数据修改为大写金额。

4、下方数据可使用复制格式修改。点击右下角下拉数据,系统默认“复制单元格” *** 作,需要手动选择“仅填充格式”。

5、如图所示,原数据自动生成大写金额。

=SUBSTITUTE(SUBSTITUTE(IF(A1=0,"",IF(TRUNC(A1)=0,"",IF(A1-TRUNC(A1)=0,TEXT(TRUNC(A1),"[DBNum2]")&"元整",TEXT(TRUNC(A1),"[DBNum2]")&"元")))&IF(TRUNC(A110)-TRUNC(A110,-1)<>0,TEXT(TRUNC(A110)-TRUNC(A110,-1),"[DBNum2]")&"角",IF(TRUNC(A1100)-TRUNC(A1100,-1)=0,"",IF(AND(TRUNC(A1)<>0,TRUNC(A1100)-TRUNC(A1100,-1)<>0),TEXT(TRUNC(A110)-TRUNC(A110,-1),"[DBNum2]"),"")))&IF(TRUNC(A1100)-TRUNC(A1100,-1)=0,"",TEXT(TRUNC(A1100)-TRUNC(A1100,-1),"[DBNum2]")&"分"),"-","负",1),"-","")

要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2] G/通用格式“元””来实现。

要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2] G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,05009只能转换为“陆仟零伍拾零玖圆”。那么用Excel能不能解决这一先天不足呢?告诉大家其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,05009)。

一、在三个连续的同行单元格中转换

1 B2中输入公式 “=IF(B1<0,"金额为负无效",INT(B1))”,计算结果为¥6,05000,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。

2 C2中输入“=IF(B1<0,"",INT(B110)-INT(B1)10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。

3 D2中输入“=IF(B1<0,"",INT(B1100)-INT(B110)10)”,同样D2改为:[DBNum2]G/通用格式“分”, D2显示:“玖分”。

这样在连续的三个同行单元格中实现了大写金额格式的转换。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。

二、用Excel提供的函数转换

个位为0,则不显示;不为0,显示“XXX元”;不为0、且角位和分位均为0,显示“XXX元整”;元角分位均为0,则显示“零元整”。

小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示“零”;不为0,显示“X角”。

小数点后面第二位为0,则显示“整”;不为0,显示“X分”。

根据以上思路在B2中输入公式:

“IF(B1<0,"金额为负无效",IF(OR(B1=0,B1=""),"(人民币)零元整"));

IF(B1<1,"(人民币)",TEXT(INT(B1),"[dbnum2](人民币)G/通用格式")&&"元")&&IF(INT(B110)-INT(B1)10=0);

IF(INT(B1)(INT(B1100)-INT(B110)10)=0,"","零"),TEXT(INT(B110)-INT(B1)10,"[dbnum2]")&&"角")&&IF((INT(B1100)-INT(B110)10)=0,"整",TEXT((INT(B1100)-INT(B110)10),"[dbnum2]")&&"分")))”。

确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。

excel小写变大写——字母转换

  excel小写变大写相关的三个函数:PROPER函数、Lower函数、UPPER函数。

  具体的可以参考文章:《excel英文大小写转换函数用法及实例介绍》

  除了在excel里用函数实现以外,也可以在Word中实现小写变大写。把内容复制到word里面,然后转换之后,复制回excel。

  Word里转换大小写的快捷键是:Shift+F3。选中字母然后按一次,小写变大写;再按一次,大写变小写。如果选中的是大小写混排的字母,则转换效果依次为:首字母大写 ->全部大写 ->全部小写。

excel小写变大写——数字转换

  excel小写变大写的第一种方法,比如在A1输入:4512365,然后按ctrl+1,打开“设置单元格格式”对话框,单击数字——特殊——中文大写数字。即可实现小写变大写。如下图所示:

  这种excel小写变大写的方法只适用于转换整数数值,小数部分无法按照中文逻辑正确转换。

用内置函数numbeistring,或者用代码定义数字格式都可以达到把阿拉伯数字转换成大写数字的目的。

1、numbeistring的用法如下,假设需要转换的数字位于A1,公式为=numberstring(A1,2),要注意的是,numberstring转换成数字不包括小数点后数字的转换,如10015,转换后显示为壹佰,缺失小数点后数字。

2、用代码的形式配合文本函数text可用于财务上的阿拉伯数字转换成大写数字,具体如下,假设A1单元格中数字为10015,设置公式为=TEXT(A1100,"[DBnum2]0万0仟0佰0拾0元0角0分"),显示结果为"零万零仟壹佰零拾伍元壹角伍分"。

两种转换方法都视需求而使用,也可以通过上述的两种函数,另外增加转换之后输入的数字格式。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12176906.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存