Excel 公式中复杂条件下的数字舍入

发布于 2024-10-21 01:10:13 字数 476 浏览 7 评论 0原文

我需要根据三个条件向上/向下舍入数字(最后 2 位数字,无小数):

  1. 如果 00,则 -1;
  2. 如果 01 到 49,则向上舍入到 50;
  3. 如果 51 到 98,则向上舍入到 99 个

示例:

  • 如果号码是 1251,则为 1299
  • 如果号码为 1298,则为 1299
  • 如果号码为 4874,则为 1299
  • 如果号码为 1433,则为 4899 如果号码为 1880,则为 1450
  • ,则为 1899
  • 如果号码为 1301 ,那么
  • 如果数字是1200,那么它是1350,那么
  • 如果数字是1250,那么它是1299,那么它是1250(不变)
  • 如果数字是1299,那么它是1299(不变)

........................ ……

I need to round up/down the numbers (last 2 digits, no decimal) based on three conditions:

  1. if 00, then -1
  2. if 01 to 49, then round up to 50
  3. if 51 to 98, then round up to 99

examples:

  • if the number is 1251, then it's 1299
  • if the number is 1298, then it's 1299
  • if the number is 4874, then it's 4899
  • if the number is 1433, then it's 1450
  • if the number is 1880, then it's 1899
  • if the number is 1301, then it's 1350
  • if the number is 1200, then it's 1299
  • if the number is 1250, then it's 1250 (unchanged)
  • if the number is 1299, then it's 1299 (unchanged)

..................

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无远思近则忧 2024-10-28 01:10:13

假设值在a1中

=IF(MOD(A1,100)=0,A1-1,IF(MOD(A1,100)<51,A1+50-MOD(A1,100),A1+99-MOD(A1,100)))

assume value is in a1

=IF(MOD(A1,100)=0,A1-1,IF(MOD(A1,100)<51,A1+50-MOD(A1,100),A1+99-MOD(A1,100)))
我最亲爱的 2024-10-28 01:10:13

试试这个。 (除了 0 情况最后的软糖之外,它非常好):

=(CEILING(A1/50,1)*50)-IF(MOD(FLOOR((A1-1)/50,1),2)=1,1,0)

解释:

  1. (CEILING(A1/50,1)*50) 四舍五入到下一个 50
  2. IF(MOD(FLOOR(A1/50,1)) ,2)=1,1,0) 如果数字大于 50 的奇数倍则取 1

Try this. (Its quite nice apart from the fudge at the end for the 0 case):

=(CEILING(A1/50,1)*50)-IF(MOD(FLOOR((A1-1)/50,1),2)=1,1,0)

In explanation:

  1. (CEILING(A1/50,1)*50) rounds up to the next 50
  2. IF(MOD(FLOOR(A1/50,1),2)=1,1,0) takes off 1 if the number is large than an odd multiple of 50
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文