高分悬赏关于Excel的问题.好的有追加分.

一列表格(报价单).N项.每项价格都要加点钱.不过得按数值来加...要求如下:<180+10元181-300+15元301-1000+30元1001-2000+50元20... 一列表格(报价单).N项.每项价格都要加点钱.不过得按数值来加...要求如下:
<180 +10元
181-300 +15元
301-1000 +30元
1001-2000 +50元
2001-3000 +100元
>3001 +120元
因本人office全系列近乎白菜.不过我想应该会有类似于公式,函数之类的办法可以批量更改的吧...请把过程表达的详细点.好的还有追加分100分.还有就是.数值中有类似 白XXX元 黑XXX元,这样操作起来会不会受影响
展开
 我来答
TAT萝卜
2012-06-14 · TA获得超过4972个赞
知道大有可为答主
回答量:3084
采纳率:66%
帮助的人:1109万
展开全部
完美方案:用VBA自定义函数
近乎白菜也无所谓,按以下步骤操作就行:
1、EXCEL里,按Alt+F11,打开VBA编辑窗口
2、点菜单“插入”-“模块”
3、把下面的代码复制过去

Public Function Newstr(str0 As String) As String
Dim str1, strNum, tmpA As String, tmpN As Integer

str1 = ""
strNum = ""

For i = 1 To Len(str0)

tmpA = Mid(str0, i, 1)

If tmpA >= "0" And tmpA <= "9" Then
strNum = strNum & tmpA

If i = Len(str0) Or (Mid(str0, i + 1, 1) < "0" Or Mid(str0, i + 1, 1) > "9") Then
tmpN = CInt(strNum)
Select Case tmpN
Case Is <= 180
tmpN = tmpN + 10
Case 181 To 300
tmpN = tmpN + 15
Case 301 To 1000
tmpN = tmpN + 30
Case 1001 To 2000
tmpN = tmpN + 50
Case 2001 To 3000
tmpN = tmpN + 100
Case Is >= 3001
tmpN = tmpN + 120
End Select

strNum = ""
str1 = str1 & tmpN

End If

Else
str1 = str1 & tmpA
End If
Next

Newstr = str1

End Function

4、关闭VBA窗口,返回EXCEL工作表
5、假如原数据在A1,在新单元格输入公式:
=newstr(A1)

就这样。。。。。。。。。。。。
追问
公式怎么输入。。。还有就是可以一次输入一列吗。。。求具体操作。OK马上给分
追答
第3条那些代码有没有复制到VBA里?
如果已经复制好了,就可以像EXCEL的其他公式一样使用。
即:在要在求值的单元格里输入:=newstr(A1)就行了(A1为存储原始数据的单元格,可根据实际情况调整)
其他单元格用复制单元格的方法就可以了。
聪啊明
2012-06-14 · TA获得超过623个赞
知道小有建树答主
回答量:817
采纳率:0%
帮助的人:244万
展开全部
选函数,选区域,然后设置下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友51ecdcd
2012-06-14 · TA获得超过658个赞
知道小有建树答主
回答量:1000
采纳率:66%
帮助的人:635万
展开全部
狂晕,楼主用EXCEL这样做表啊?这样做还不如用TXT算了,用什么电脑都能打开
以后,做表的时候,项目一列,价格一列,这样,再加价格的时候,直接用IF函数套用就改了,就算不改价格,做排序查找都比这样的方便
顺便把公式写一下吧
把处理好的数据另起一列粘贴,在粘贴的或者原来的价格列输入公式=if(b2<180,b2+10,if(b2<300,b2+15,if……)),b2是对应的单元格,可以自己换
后边的一样道理,自己添了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
财税燕子
2012-06-14 · 财税实务操作、财务管理分析、报表设计
财税燕子
采纳数:5490 获赞数:14509

向TA提问 私信TA
展开全部
设置条件公式:
=IF(AND(A1>=0,A1<=180),A1+10,IF(AND(A1>180,A1<=300),A1+15,IF(AND(A1>=300,A1<=1000),A1+30,IF(AND(A1>1000,A1<=2000),A1+50))))

太长了,我未设置完,你自己复制这部分条件来修改完IF(AND(A1>1000,A1<=2000),A1+50
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b9f94389
2012-06-15 · TA获得超过1974个赞
知道小有建树答主
回答量:746
采纳率:100%
帮助的人:425万
展开全部
商品按价位,分几个工作表中。
然后,各自加入公式。
这样,公式简单,也好理解。
lienhao2004@163.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sjiang5
2012-06-15 · TA获得超过2074个赞
知道小有建树答主
回答量:1618
采纳率:66%
帮助的人:695万
展开全部
A1为商品名称 A2为商品价格(必须是数字格式)。
=if(A2>3000,A2+120,IF(A2>2000,A2+100,IF(A2>1000,A2+50,IF(A2>300,A2+30,IF(A2>180,A2+15,A2+10)))))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式