excel - 相关下拉+固定公式和计算
问题描述
我这里有一张带有一些手动输入计算的表格。在第一个上表(命名为 XYZ)上,您得到了一个固定的概述,其中第 6 行是系统类型的系统的一些规格,这对于下一步实际上很重要。
在第二个表中,从 B16(下拉字段)开始是使用手动定义的公式组合第一个表 (XYZ) 和第三个表 (ABC) 的值,如第 21 行和第 22 行所示:
ROW 21 (3,14*($C$8^2)/4*SUM(C18:C20)/1000) Volume (L)
和
ROW 22 $C$11-C21 Remaining Volume (L)
问题是,这仅适用于一种类型的系统 (CC025),当在 B16 行的下拉列表中选择时,应为所有系统(来自 XYZ 上表)填充整个表。我使用的是嵌套的 IF 函数:
=IF($B$16="CC025";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CC070";(3,14*($D$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CC100";(3,14*($E$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CC200";(3,14*($F$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CSM015";(3,14*($G$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CSM025";(3,14*($H$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CSM065";(3,14*($I$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CSM125";(3,14*($J$8^2)/4*SUM(C18:C20)/1000);IF($B$16="CSM195";(3,14*($K$8^2)/4*SUM(C18:C20)/1000))))))))))
或者只是较新的版本 =IF S
=IFS(B16="CC025";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CC070";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CC100";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CC200";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CSM015";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CSM025";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CSM065";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CSM125";(3,14*($C$8^2)/4*SUM(C18:C20)/1000);B16="CSM195";(3,14*($C$8^2)/4*SUM(C18:C20)/1000))
但一般来说它很好,它可以工作,但有没有其他方法可以缩短这个计算时间?这首先是我的想法,但我必须向一些在 excel 方面不太好的同事展示这个,一旦这样展示将是“WTF”,它看起来很复杂 - 即使它不是 =) 任何想法我如何可以用另一种可能更短的方式编写并获得相同的结果吗?
解决方案
推荐阅读
- angular - 如何延迟加载Angular Material Stepper的表单内容
- tkinter - 如何在 tkinter 中更改图像的位置
- sql - 什么 SQL 查询可用于通过参数值限制连续周期,然后计算其中的 datediff?
- android - 如何使用 Actions Builder 或 Actions SDK 告诉 Google Assistant 自动打开 Android 应用程序?
- python - 使用python将多列标题转换为单列?
- ios - Swift JSONDecoder 在构建期间抛出错误
- r - R脚本排名
- html - 如何简单地对 HTML 中的代码块进行颜色编码?
- javascript - RuntimeError:'线程'Stream'中没有当前事件循环'
- c# - linux 上的 C# .NET 核心,DONTLINGER 的 GetSocketOption 失败