基于输入数据的 Excel 公式?

问题描述 投票:0回答:2

我正在尝试创建一个公式,供应商可以在其中输入最少 6 或 12 个的盒子数量,然后在我的公式中将该输入按比例缩放 *2、*3、*4 等以比较另一列。

目前我有一个供应商的公式,其盒子数量是已知的,看起来像:

=IF(D9=0,0,IF(AND(D9>0,D9<=12),12,IF(AND(D9>12,D9<=24),24,D9)))

这个公式要大得多,最多 300 个盒子,我相信还有更好的方法来写这个公式,我只是没有花时间改进它,所以它不会那么长。

所以我试着改变它,现在盒子数量 12 是供应商可以输入数量的盒子。

=IF(D9=0,0,IF(AND(D9>0,D9<=(I9*2),12,IF(AND(D9>12,D9<=(I9*3),24,D9)))

这行不通,所以我想知道是否有更好的方法来编写这个公式,或者解决这个错误?

excel if-statement excel-formula match lookup
2个回答
1
投票

如果您将所有可能的值都放在 A 列中,此公式将给出比您在 D9 中输入的值下一个最高的数字。重要的是,A 列中的数字必须从大到小排序。

=IF(D9=0,0,INDEX(A:A,MATCH(D9,A:A,-1)))

-1
投票

您想取

D9
并将其四舍五入到最接近的
I9
的倍数,对吗?

没有一个函数可以四舍五入到最接近的 12 的倍数,但您也不需要查找或条件逻辑。相反,您可以通过除以

I9
来缩小您的数字,将其四舍五入到最接近的整数,然后将那个结果乘以
I9

=I9*ROUNDUP(D9/I9,0)

如果

D9
是订购的小部件数量,而
I9
是 12,因为您最多可以将 12 个小部件放入一个盒子中,

  • D9/I9
    D9
    转换为您理论上需要的确切数量的盒子,
  • 但是3.25个盒子没有意义,所以
    ROUNDUP(D9/I9,0)
    告诉你要用多少个盒子,然后,
  • 要确定有多少小部件可以装进那么多盒子,您将盒子的数量乘以12,即
    I9*ROUNDUP(D9/I9,0)
© www.soinside.com 2019 - 2024. All rights reserved.