您所在的位置:Seago-Microsoft Windows>>Windows Client>> excel 字段等价数值

excel 字段等价数值

作者:admin 来源:新浪爱问 日期:2008-04-16 

若在A单元格中包涵某个字段,那么在B单元格中自动显示合计数值
例 黄瓜单价2.00元,土豆1.50元 茄子3.00元

若A中内容为:黄瓜,土豆,茄子 B中会自动显示6.50元

若A中内容为:黄瓜,茄子 B中会自动显示5.00元
若A中内容为:土豆,茄子 B中会自动显示4.50元

呵呵,不想每次都手动计算金额,内容多了就容易出错了。
感谢高手支招。

电脑问题网给出的最佳答案 用了SEARCH()函数,自动判定内容中是否含有指定字段,并且转换为值进行相加,详情参考附件.
希望能对你有帮助~ ^_^
附件:book.xls
其他回答   按照你的思路,基本办不到,
在A单元格中,黄瓜单价2.00元,土豆1.50元 茄子3.00元
建议你将这些种类分开,处理会好一些
分别放到三个单元格中

已用函数做好。请看附件。
附件:字段等价数值.xls
名称和单价应该分在不同的单元格,这样才好计算单价.
通过添加名称进行求和.
效果请参考附件.
虽然能自动显示单价的合计,但这个办法的确有点笨.
附件:Book1.xls
学习一下自定义函数吧,物品比较多的时候,普通公式是没办法兼顾的。

1、按“Alt F11”进入VBE;
2、“插入”-》“模块”;
3、在右侧编辑区域输入如下代码:

Option Explicit '要求变量声明

Function price(strTemp As String, Optional strSign As String)
Dim arrTemp, i%
arrTemp = Split(strTemp, strSign) '将物品按指定标志分割成明细数据
For i = 0 To UBound(arrTemp) '使用循环将对应的明细物品的金额进行累加
'查找明细物品对应的金额使用的是Excel内置函数Vlookup(),数据区域变化后可以修改Sheets(1).[A:B]
price = price Application.WorksheetFunction.VLookup(Trim(arrTemp(i)), Sheets(1).[A:B], 2, 0)
Next
End Function

好了,这个函数就可以用了,具体用法如附件所示:
附件:自定义函数.xls