有两个EXCEL比较棘手的问题~~高分求助~~~

情况是这样的~~~~我们公司制作的发票申请表格中,小写金额填写的地方不是把金额写在一个单元格内,而是分了万、千、百、十、个、角、分每一个都用了一个单元格~而大写金额是写在... 情况是这样的~~~~我们公司制作的发票申请表格中,小写金额填写的地方不是把金额写在一个单元格内,而是分了 万、千、百、十、个、角、分 每一个都用了一个单元格~而大写金额是写在同一个单元格内,我想问一下,有没有办法在不同的单元格内填写小写金额,而在大写金额处根据小写金额自动在那一个单元格内生成金额大写~~~求助~~谢谢~~!!

另外还有一个问题,在两个不同的单元格都设置了那种能下拉的菜单,有没有什么办法能选第一个单元格下拉菜单中的内容,而另一个单元格内会自动出现的相匹配的内容~~~
例如:A1里的下拉菜单里有250ML、700ML B1下拉菜单里有2.5元 、6.0元
我在A1选250ML的时候,B1会自动生成2.5元 选700ML的时候B2就会生成6.0元

就这两个问题~~~望达人解答~~~谢谢~~~~
麻烦说的详细点~~谢谢~~
展开
 我来答
乐乐888依依
2009-08-14 · TA获得超过1104个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:293万
展开全部
第一个答案:用筛选功能.
位置在 数据——筛选——自动筛选。

第二个答案:用VLOOKUP函数

在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。

在 VLOOKUP 中的 V 代表垂直。

语法

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 为需要在数组第一列中查找的数值。Lookup_value 可以为数值、引用或文本字符串。

Table_array 为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。

如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。

通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。

Table_array 的第一列中的数值可以为文本、数字或逻辑值。

文本不区分大小写。

Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。

Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。

说明

如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。
如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。

从帮助中选取示例。

按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
该示例使用 1 个大气压的空气值。

1
2
3
4
5
6
7
8
9
10
A B C
密度 粘度 温度
.457 3.55 500
.525 3.25 400
.616 2.93 300
.675 2.75 250
.746 2.57 200
.835 2.38 150
.946 2.17 100
1.09 1.95 50
1.29 1.71 0
公式 说明(结果)
=VLOOKUP(1,A2:C10,2) 在 A 列中查找 1,并从相同行的 B 列中返回值 (2.17)
=VLOOKUP(1,A2:C10,3,TRUE) 在 A 列中查找 1,并从相同行的 C 列中返回值 (100)
=VLOOKUP(.7,A2:C10,3,FALSE) 在 A 列中查找 0.746。因为 A 列中没有精确地匹配,所以返回了一个错误值 (#N/A)
=VLOOKUP(0.1,A2:C10,2,TRUE) 在 A 列中查找 0.1。因为 0.1 小于 A 列的最小值,所以返回了一个错误值 (#N/A)
=VLOOKUP(2,A2:C10,2,TRUE) 在 A 列中查找 2,并从相同行的 B 列中返回值 (1.71)
本司皮风2L
2009-08-14 · TA获得超过669个赞
知道答主
回答量:89
采纳率:0%
帮助的人:34.2万
展开全部
答案:用VLOOKUP函数

在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。

在 VLOOKUP 中的 V 代表垂直。

语法

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 为需要在数组第一列中查找的数值。Lookup_value 可以为数值、引用或文本字符串。

Table_array 为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。

如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。

通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。

Table_array 的第一列中的数值可以为文本、数字或逻辑值。

文本不区分大小写。

Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。

Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。

说明

如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。
如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。

从帮助中选取示例。

按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
该示例使用 1 个大气压的空气值。

1
2
3
4
5
6
7
8
9
10
A B C
密度 粘度 温度
.457 3.55 500
.525 3.25 400
.616 2.93 300
.675 2.75 250
.746 2.57 200
.835 2.38 150
.946 2.17 100
1.09 1.95 50
1.29 1.71 0
公式 说明(结果)
=VLOOKUP(1,A2:C10,2) 在 A 列中查找 1,并从相同行的 B 列中返回值 (2.17)
=VLOOKUP(1,A2:C10,3,TRUE) 在 A 列中查找 1,并从相同行的 C 列中返回值 (100)
=VLOOKUP(.7,A2:C10,3,FALSE) 在 A 列中查找 0.746。因为 A 列中没有精确地匹配,所以返回了一个错误值 (#N/A)
=VLOOKUP(0.1,A2:C10,2,TRUE) 在 A 列中查找 0.1。因为 0.1 小于 A 列的最小值,所以返回了一个错误值 (#N/A)
=VLOOKUP(2,A2:C10,2,TRUE) 在 A 列中查找 2,并从相同行的 B 列中返回值 (1.71) 一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宿锋LK
2009-08-14 · TA获得超过1.9万个赞
知道大有可为答主
回答量:3708
采纳率:50%
帮助的人:4473万
展开全部
第一个问题:

1、假如从A1-G1为“万、千、百、十、个、角、分”,再在H1输入“合计”,I1输入“大写金额”。

2、A2-G2为填入的数据,H2的公式为:=A2*10000+B2*1000+C2*100+D2*10+E2*1+F2*0.1+G2*0.01

3、最关键的一步,在I1中填入公式: =IF(INT(H2)/10=INT(INT(H2)/10),IF(ROUND(H2,2)>=1,IF(OR(H2=INT(H2),ROUND(H2,2)=1),TEXT(INT(ROUND(H2,2)),"[DBNum2]G/通用格式")&"元",IF(10*INT(H2)=INT(H2*10),TEXT(INT(ROUND(H2,2)),"[DBNum2]G/通用格式")&"元",TEXT(INT(ROUND(H2,2)),"[DBNum2]G/通用格式")&"元零")),""),IF(H2>=1,TEXT(INT(ROUND(H2,2)),"[DBNum2]G/通用格式")&"元",""))&IF(LEN(MID(TEXT(ROUND(IF(H2>=1,H2-INT(H2),H2),2),"[DBNum2]G/通用格式"),3,2))=2,IF(LEFT(MID(TEXT(ROUND(IF(H2>=1,H2-INT(H2),H2),2),"[DBNum2]G/通用格式"),3,2),1)="零",MID(TEXT(ROUND(IF(H2>=1,H2-INT(H2),H2),2),"[DBNum2]G/通用格式"),3,2)&"分",LEFT(MID(TEXT(ROUND(IF(H2>=1,H2-INT(H2),H2),2),"[DBNum2]G/通用格式"),3,2),1)&"角"&RIGHT(MID(TEXT(ROUND(IF(H2>=1,H2-INT(H2),H2),2),"[DBNum2]G/通用格式"),3,2),1)&"分"),IF(LEN(MID(TEXT(ROUND(IF(H2>=1,H2-INT(H2),H2),2),"[DBNum2]G/通用格式"),3,2))=1,MID(TEXT(ROUND(IF(H2>=1,H2-INT(H2),H2),2),"[DBNum2]G/通用格式"),3,2)&"角整",IF(ROUND(H2,2)<>0,"整","金额为零")))

这个公式是目前我觉得最完美的一个“Excel求大写金额的公式”。你可以用“303000.03”验证一下。

第二个问题:

需要达到两个单元格都设置了下拉菜单,然后通过选择一个来自动匹配另一个我还没有想到方法。
但是可以只设置一个单元格,而让另外一个单元格自动匹配。

1、C1输入“250ML”,C2输入“700ML”,D1输入“2.5元”,D2输入“6.0元”。

2、假如A1、A2为设置下拉菜单的单元格,A1,A2的数据有效性为序列C1:C2。

3、B1输入公式:=VLOOKUP(A1,$C$1:$D$2,2),然后下拉复制公式到B2。

4、这样在A1或A2中用下拉菜单选择了值的话,B1或B2就会自动出来匹配值。如果A1或A2没有选择值则B1或B2为“#N/A”。

当然我这里只是举例子,你需要根据自己的实际情况来调整操作的。

祝你好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szjcyxt
2009-08-14 · TA获得超过1万个赞
知道大有可为答主
回答量:5958
采纳率:83%
帮助的人:6511万
展开全部
建议在表格范围之外的单元格先按正常输入金额(一个单元格输入整个数字),然后在表内的亿元格内输入以下公式,再向右拉到分单元格为止。
=LEFT(RIGHT(" "&$M8*100,12-COLUMN(A2))) (M8请改为你实际输入数字的单元格。)
至于大写一个单元格可输入公式:
=SUBSTITUTE(SUBSTITUTE(TEXT(INT(FIXED(F15)),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(F15),2),"[dbnum2]0角0分;;"&IF(F15>1%,"整",)),"零角",IF(F15<1,,"零")),"零分","整")
其中F15也改为你实际输入小写的单元格。
至于第二个问题,用VLOOKUP函数就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyc0530
2009-08-17
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
="金额(大写):"&NUMBERSTRING(G21,2)&"拾"&NUMBERSTRING(H21,2)&"万"&NUMBERSTRING(I21,2)&"仟"&NUMBERSTRING(J21,2)&"佰"&NUMBERSTRING(K21,2)&"拾"&NUMBERSTRING(L21,2)&"圆"&NUMBERSTRING(M21,2)&"角"&NUMBERSTRING(N21,2)&"分"&"整"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式