ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: makelot

[求助] 分段函数灵活轻巧的解决办法

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-26 20:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

非常感谢,不过您的结果也不正确,忘了累加。另外 Option Base 1 时报错!

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-26 20:40 | 显示全部楼层
grf1973 发表于 2024-4-26 16:22
楼主原来代码虽然逻辑很清晰,但一旦计费标准发生改变,代码改变量很大。

这个评论很中肯,非常感谢!

TA的精华主题

TA的得分主题

发表于 2024-4-26 22:28 来自手机 | 显示全部楼层
makelot 发表于 2024-4-26 20:37
非常感谢!您的思路很好,但是结果不正确,麻烦您再完善一下,多谢!

我跟你原来的函数同步测试过,好像没问题啊

TA的精华主题

TA的得分主题

发表于 2024-4-26 22:42 | 显示全部楼层
一个简单的公式,全部搞定,附了一系列测试数据,有图有真相。
诉讼费.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-4-27 00:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
makelot 发表于 2024-4-26 20:37
非常感谢!您的思路很好,但是结果不正确,麻烦您再完善一下,多谢!

v = 50 /10000  '每件50元必须交

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-4-27 09:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 tcdatongye 于 2024-4-27 09:47 编辑


Sub myCostTest()
  Debug.Print 分段记费(2010)
End Sub
Function 分段记费(s) '万元输入,结果为元。
y = IIf(s > 0, 50, 0)
arr = Array(0, 1, 10, 20, 50, 100, 200, 500, 1000, 2000, -1)
brr = Array(0, 250, 200, 150, 100, 90, 80, 70, 60, 50, -1)
   For i = 0 To UBound(arr) - 1
     If s > arr(i + 1) And arr(i + 1) <> -1 Then
       y = y + (arr(i + 1) - arr(i)) * brr(i)
       ElseIf s > arr(i) Or brr(0) = 0 Then
       分段记费 = y + (s - arr(i)) * brr(i)
       Exit Function
     End If
   Next i
End Function

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-27 09:40 | 显示全部楼层
一招秒杀 发表于 2024-4-26 22:42
一个简单的公式,全部搞定,附了一系列测试数据,有图有真相。

非常感谢!不过貌似您的公式不正确,比方说当诉讼请求金额为16万时,诉讼费应该为3500元才对。

TA的精华主题

TA的得分主题

发表于 2024-4-27 09:48 | 显示全部楼层
[url=通过学习个税公式,理解超额累进公式计算过程 https://club.excelhome.net/thread-1469239-1-1.html (出处: ExcelHome技术论坛)]超额累进[/url]

学函数的时候,学过超额累进。可以有通用的求解过程,函数看上去比较复杂,不过基础规则不变的话,转为代码比函数好写

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-27 09:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
tcdatongye 发表于 2024-4-27 09:20
Sub myCostTest()
  Debug.Print 分段记费(2010)
End Sub

非常感谢!测试结果没问题,只是当 Option Base 1 时下标越界。

TA的精华主题

TA的得分主题

发表于 2024-4-27 09:59 | 显示全部楼层
本帖最后由 tcdatongye 于 2024-4-27 10:13 编辑

删除Option Base 1 ,或者i=1即可。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 05:50 , Processed in 0.040053 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表