依赖下拉 + 固定公式和计算

Dependent drop down + fixed formulas&calculations

我这里有一个 sheet 和一些手动输入的计算。在第一个上部 table(命名为 XYZ),您得到了一个固定的概述,系统的一些规格,其中第 6 行是系统类型,对于下一步实际上很重要。

在第二个 table 上,从 B16(下拉字段)开始是使用手动定义的第一个 Table (XYZ) 和第三个 Table (ABC) 组合的值您可以在第 21 行和第 22 行中看到的公式:

ROW 21 (3,14*($C^2)/4*SUM(C18:C20)/1000)  Volume (L)

ROW 22 $C-C21  Remaining Volume (L)

事实是,这仅适用于一种类型的系统(CC025),并且在所有系统(来自xyz upper table)上的整体table填充一次。 B16 行下拉。我用的是嵌套的IF函数:

=IF($B="CC025";(3,14*($C^2)/4*SUM(C18:C20)/1000);IF($B="CC070";(3,14*($D^2)/4*SUM(C18:C20)/1000);IF($B="CC100";(3,14*($E^2)/4*SUM(C18:C20)/1000);IF($B="CC200";(3,14*($F^2)/4*SUM(C18:C20)/1000);IF($B="CSM015";(3,14*($G^2)/4*SUM(C18:C20)/1000);IF($B="CSM025";(3,14*($H^2)/4*SUM(C18:C20)/1000);IF($B="CSM065";(3,14*($I^2)/4*SUM(C18:C20)/1000);IF($B="CSM125";(3,14*($J^2)/4*SUM(C18:C20)/1000);IF($B="CSM195";(3,14*($K^2)/4*SUM(C18:C20)/1000))))))))))

或者更新版本 =IFS

=IFS(B16="CC025";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CC070";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CC100";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CC200";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CSM015";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CSM025";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CSM065";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CSM125";(3,14*($C^2)/4*SUM(C18:C20)/1000);B16="CSM195";(3,14*($C^2)/4*SUM(C18:C20)/1000))

但总的来说没问题,它可以工作但是有没有其他方法可以缩短这个计算时间? 这首先是我的想法,但我必须向一些 excel 不太好的同事展示这个,一旦这样展示就会 "WTF" 它看起来很复杂 - 即使它不是=) 有什么想法可以用另一种可能更短的方式编写并获得相同的结果吗?

谢谢

这个公式可能是您需要的:

  • 3.144*SUM(C18:C20)/1000
  • 等公式中的const不需要重复
  • 因为结果是一个数字,所以我将使用 sumproduct 而不是 if,只需将数组相乘

.

 =3.14*SUMPRODUCT((B16={"CC025","CC070","CC100","CC200","CSM015","CSM025","CSM065","CSM125","CSM195"})*$C:K8^2)/4*SUM(C18:C20)/1000