首页 > 解决方案 > 如何计算条件单元格公式,相邻单元格公式取决于第一个单元格的计算值,而不是打印值?

问题描述

我正在尝试计算 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 中的上述两个公式合并到一个单元格中,并且对于每个单元格仍然具有上述相同的结果。

用另一种方式表达这一点是:

举个例子:

在电子表格中仅使用单元格 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 公式相同。

是否可以这样做,计算单元格公式的结果,而相邻单元格中的公式取决于第一个单元格的计算但未打印的值?

我意识到把它写出来,它比我最初预期的要复杂,这就解释了为什么谷歌没有把我带到任何地方。感谢您的任何提示。菲尔

标签: excelexcel-formulaformula

解决方案


严格来说,这是不可能的。一个单元格只有 1 个值,这是所有计算的结果。IF 语句没有隐藏单元格的值。它正在改变价值。

一个公式到另一个单元格只能使用该单元格的最终值。它无法在另一个单元格中提取部分公式。即使 IF 语句中只有一个计算,Excel 也无法知道要提取哪个部分。

也就是说,在您的情况下可能有不同的解决方法......那就是通过自定义格式更改您的值的显示方式。公式会更改单元格的值,而格式会更改这些值的显示方式。

  1. 将公式放在单元格 A1 中:=6.75*10+5.73*7+3
  2. 右键单击单元格 A1 并选择格式化单元格...
  3. 确保您在数字选项卡上
  4. 在类别列中,选择自定义
  5. 在类型框中输入此公式:[>80]"80";[<=80]General
  6. 在 B1 中输入这个公式:=IF(A1>80,A1-80,0)
  7. 检查B1的数字格式是否仍然是“General”或“Number”

在此处输入图像描述

结果是 A1 已经计算并存储了实际值,但如果它的值大于 80,则显示文本字符串“80”。然后您可以在其他公式中使用 A1 中的实际值。

注意:这种类型的自定义格式是非常糟糕的做法,因为它可能会变得非常混乱并且非常容易出错。单元格的值与其显示的不同,如果其他用户不知道,创建引用受影响单元格的新公式可能会在不知不觉中产生不正确和/或意外的结果。

特别是,Excel 试图提供帮助,如果它位于原始单元格旁边,或者如果它仅引用基本公式中的原始单元格,它可以自动将格式从一个单元格复制到另一个单元格。默认情况下,复制和粘贴也会复制格式。无意中将格式复制到其他单元格也会改变它们的显示方式。

另请注意,您不需要将 SUM() 放在已经包含加法运算符的公式周围;Excel 使用运算顺序,因此您不需要括号在加法之前进行乘法运算。

最后,您也可以只=MAX(A1-80,0)在 B1 中使用。


推荐阅读