我正在尝试创建一个公式,供应商可以在其中输入最少 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)))
这行不通,所以我想知道是否有更好的方法来编写这个公式,或者解决这个错误?
如果您将所有可能的值都放在 A 列中,此公式将给出比您在 D9 中输入的值下一个最高的数字。重要的是,A 列中的数字必须从大到小排序。
=IF(D9=0,0,INDEX(A:A,MATCH(D9,A:A,-1)))
您想取
D9
并将其四舍五入到最接近的 I9
的倍数,对吗?
没有一个函数可以四舍五入到最接近的 12 的倍数,但您也不需要查找或条件逻辑。相反,您可以通过除以
I9
来缩小您的数字,将其四舍五入到最接近的整数,然后将那个结果乘以I9
。
=I9*ROUNDUP(D9/I9,0)
如果
D9
是订购的小部件数量,而 I9
是 12,因为您最多可以将 12 个小部件放入一个盒子中,
D9/I9
将 D9
转换为您理论上需要的确切数量的盒子,ROUNDUP(D9/I9,0)
告诉你要用多少个盒子,然后,I9*ROUNDUP(D9/I9,0)