如何计算条件单元格公式,而相邻单元格公式取决于第一个单元格的计算出的非打印值?

时间:2019-03-31 06:17:22

标签: excel excel-formula formula

我正在尝试计算一个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")

注意:与上面的单元格C1公式相同。

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

我意识到将其写出来,它比我最初预期的要复杂,这解释了Google为什么无法带我到任何地方。 感谢您的任何提示。 菲尔

1 个答案:

答案 0 :(得分:1)

严格来说,这是不可能的。一个像元只有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的数字格式仍为“常规”或“数字”

enter image description here

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

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

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

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

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