excel - 如何计算条件单元格公式,相邻单元格公式取决于第一个单元格的计算值,而不是打印值?
问题描述
我正在尝试计算 Excel 公式,而 Google 没有帮助。我几乎有我想做的事情,但需要一个“虚拟”列,我在列单元格中进行数学运算。
这意味着什么:
1)我的工作:
单元格 A1,带有数学公式(我希望删除此“虚拟”单元格并将其合并到单元格 B1 中的公式中,请参阅下面的进一步说明)
=SUM((6.75*1)+(5.73*2)+3)
单元格 B1,具有单元格 A1 中的值,但限制为小于或等于 80 的整数
=IF(SUM(A1)>80, 80, SUM(A1))
单元格 C1,其值为查看单元格 B1 并在此单元格中输入 0 或任何大于 80 的整数
=IF(SUM(A1)>80,SUM(A1)-80,"0")
注意:这非常有效,我更改了单元格 A1 公式中的任何值,它正确反映在单元格 B1 和 C1 中。
2) 缺失的部分:
我想将单元格 A1 和 B1 中的上述两个公式合并到一个单元格中,并且对于每个单元格仍然具有上述相同的结果。
用另一种方式表达这一点是:
- 有一个带有数学公式的单元格,
- 计算该公式的结果,然后,
- 在公式结果的同一单元格中输入,
- 条件为 '小于等于 80'
- 而相邻单元格中的公式取决于第一个单元格的计算但未打印的值。
举个例子:
在电子表格中仅使用单元格 A1 和 B1,并结合上述工作公式(在 Excel 中对我不起作用),它看起来像这样:
单元格 A1:
=IF(SUM((6.75*10)+(5.73*7)+8.5)>80, 80, SUM(B21))
注意:上面的单元格 A1 公式,=SUM((6.75*1)+(5.73*2)+3),结合上面的单元格 B1 公式,=IF(SUM(A1)>80, 80, SUM(A1) )(用单元格 A1 公式替换单元格 B1 公式中的两个“A1”值)。
B1 单元格:
=IF(SUM(A1)>80,SUM(A1)-80,"0")
注意:与上面的 Cell C1 公式相同。
是否可以这样做,计算单元格公式的结果,而相邻单元格中的公式取决于第一个单元格的计算但未打印的值?
我意识到把它写出来,它比我最初预期的要复杂,这就解释了为什么谷歌没有把我带到任何地方。感谢您的任何提示。菲尔
解决方案
严格来说,这是不可能的。一个单元格只有 1 个值,这是所有计算的结果。IF 语句没有隐藏单元格的值。它正在改变价值。
一个公式到另一个单元格只能使用该单元格的最终值。它无法在另一个单元格中提取部分公式。即使 IF 语句中只有一个计算,Excel 也无法知道要提取哪个部分。
也就是说,在您的情况下可能有不同的解决方法......那就是通过自定义格式更改您的值的显示方式。公式会更改单元格的值,而格式会更改这些值的显示方式。
- 将公式放在单元格 A1 中:
=6.75*10+5.73*7+3
- 右键单击单元格 A1 并选择格式化单元格...
- 确保您在数字选项卡上
- 在类别列中,选择自定义
- 在类型框中输入此公式:
[>80]"80";[<=80]General
- 在 B1 中输入这个公式:
=IF(A1>80,A1-80,0)
- 检查B1的数字格式是否仍然是“General”或“Number”
结果是 A1 已经计算并存储了实际值,但如果它的值大于 80,则显示文本字符串“80”。然后您可以在其他公式中使用 A1 中的实际值。
注意:这种类型的自定义格式是非常糟糕的做法,因为它可能会变得非常混乱并且非常容易出错。单元格的值与其显示的不同,如果其他用户不知道,创建引用受影响单元格的新公式可能会在不知不觉中产生不正确和/或意外的结果。
特别是,Excel 试图提供帮助,如果它位于原始单元格旁边,或者如果它仅引用基本公式中的原始单元格,它可以自动将格式从一个单元格复制到另一个单元格。默认情况下,复制和粘贴也会复制格式。无意中将格式复制到其他单元格也会改变它们的显示方式。
另请注意,您不需要将 SUM() 放在已经包含加法运算符的公式周围;Excel 使用运算顺序,因此您不需要括号在加法之前进行乘法运算。
最后,您也可以只=MAX(A1-80,0)
在 B1 中使用。
推荐阅读
- excel - 带条件的 Excel sumif 函数
- c - C中结构的大小
- etl - 将 Google Cloud Composer 集群缩小到零节点?
- python - Paramiko 向伪 shell 发送文本
- tensorflow - Tensorflow 对象检测 API:对于带有自定义数据的 ssd + mobilenetv2,训练卡在 step=0
- vega-lite - 有遮挡时,vega-lite刻度z-index?
- firebase - FLUTTER Argument 不能分配给 Parameter 类型
- performance-testing - Octoperf - 指定自定义/第三方依赖项 - Octoperf 从哪里提取依赖项?
- swift - 如何创建基于计时器的“if”语句
- google-sheets - 谷歌表格:制作计数摘要(用于条形图),解析逗号分隔的数组,其中已经有逗号