Excel中基于输入数据的公式?

Formula in Excel based of input data?

提问人:Logan Gordon 提问时间:5/4/2023 最后编辑:bonCodigoLogan Gordon 更新时间:5/6/2023 访问量:56

问:

我正在尝试创建一个公式,供应商可以在其中输入他们的最小盒子数量 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-语句 excel-formula 匹配 查找

评论

1赞 Solar Mike 5/4/2023
查找表和 vlookup() 呢?
0赞 Mayukh Bhattacharya 5/4/2023
如果您确定箱数,那么为什么不创建一个参考表并使用或或近似匹配。这样一来,它就会更快,而且不会硬编码,也没有多个嵌套的LOOKUP()VLOOKUP()XLOOKUP()IF()
2赞 Solar Mike 5/4/2023
查看 stackoverflow.com/q/42877228/4961700
1赞 bonCodigo 5/4/2023
欢迎来到 StackOverflow!您是否在网站上搜索过类似的问题?请根据此处的指南提供一个最小的可重复示例。仅供参考:对于垂直表查找,比 VLOOKUP 有用。INDEX MATCH
1赞 bonCodigo 5/4/2023
这回答了你的问题吗?Excel - VLOOKUP 与 INDEX/MATCH - 哪个更好?

答:

1赞 kevin 5/4/2023 #1

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

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

评论

0赞 bonCodigo 5/4/2023
在我们向他们提供直接的解决方案之前,让 OP 自由地欣赏现场提供的建议。
-1赞 JSmart523 5/4/2023 #2

你想把它四舍五入到最接近的倍数,对吧?D9I9

没有单个函数可以四舍五入到最接近的 12 的倍数,但您也不需要查找或条件逻辑。相反,您可以通过将 除以 来缩小数字,将其四舍五入到最接近的整数,然后将结果乘以 。I9I9

=I9*ROUNDUP(D9/I9,0)

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

  • D9/I9转换为您理论上需要的确切数量的盒子,D9
  • 但是 3.25 个盒子没有意义,所以告诉你你会使用多少个盒子,然后,ROUNDUP(D9/I9,0)
  • 要确定有多少小部件可以放入这么多框中,您需要将框数乘以 12,即I9*ROUNDUP(D9/I9,0)