如何计算条件单元格公式,相邻单元格公式取决于第一个单元格的计算值,而不是打印值?
How to calculate conditional cell formula, with adjacent cell formula dependent on 1st cell's calculated, not printed value?
我正在尝试计算 Excel 公式,但 Google 没有帮助。
我几乎完成了我想做的事情,但需要一个 'dummy' 列,我在列单元格中进行数学计算。
这意味着什么:
1) 我的工作:
单元格 A1,带有数学公式(我希望删除此 'dummy' 单元格并将其合并到单元格 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 中的上述两个公式合并到一个单元格中,并且每个单元格的结果仍然与上述相同。
另一种表达方式是:
- 有一个包含数学公式的单元格,
- 计算该公式的结果,然后,
- 在与公式结果相同的单元格中输入,
- 条件为'less than or equal to 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 个值,这是所有计算的结果。 IF 语句不是隐藏 单元格的值。 改变值。
对另一个单元格的公式只能使用该单元格的最终值。它无法提取其他单元格中的部分公式。 Excel 无法知道要提取哪一部分,即使 IF 语句中只有一个计算也是如此。
也就是说,您的情况可能有不同的解决方法...那就是通过自定义格式更改您的值的显示方式。公式会更改单元格的值,而格式会更改这些值的显示方式。
- 将公式放在单元格 A1 中:
=6.75*10+5.73*7+3
- 右键单击单元格 A1 并 select 设置单元格格式...
- 确保您在“数字”选项卡上
- 在类别列中,select自定义
- 在类型框中输入此公式:
[>80]"80";[<=80]General
- 在B1中输入这个公式:
=IF(A1>80,A1-80,0)
- 检查B1的数字格式还是"General"或者"Number"
结果是 A1 已经计算并存储了实际值,但如果它的值大于 80,则显示文本字符串“80”。然后您可以在其他公式中使用 A1 的实际值。
注意: 这种类型的自定义格式是非常糟糕的做法,因为它会变得非常混乱并且很容易出错。单元格的值与其显示的不同,如果其他用户不知道,创建引用受影响单元格的新公式可能会无意中产生不正确的 and/or 意外结果。
特别是,Excel 会尽力提供帮助,并且可以自动将格式从一个单元格复制到另一个单元格(如果它与原始单元格相邻或仅引用基本公式中的原始单元格)。默认情况下,复制和粘贴也会复制格式。无意中将格式复制到其他单元格也会改变它们的显示方式。
另请注意,您不需要将 SUM() 放在已经包含加法运算符的公式周围;并且 Excel 使用运算顺序,因此您不需要括号在加法之前进行乘法运算。
最后,您也可以只在 B1 中使用 =MAX(A1-80,0)
。
我正在尝试计算 Excel 公式,但 Google 没有帮助。 我几乎完成了我想做的事情,但需要一个 'dummy' 列,我在列单元格中进行数学计算。
这意味着什么:
1) 我的工作:
单元格 A1,带有数学公式(我希望删除此 'dummy' 单元格并将其合并到单元格 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 中的上述两个公式合并到一个单元格中,并且每个单元格的结果仍然与上述相同。
另一种表达方式是:
- 有一个包含数学公式的单元格,
- 计算该公式的结果,然后,
- 在与公式结果相同的单元格中输入,
- 条件为'less than or equal to 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 个值,这是所有计算的结果。 IF 语句不是隐藏 单元格的值。 改变值。
对另一个单元格的公式只能使用该单元格的最终值。它无法提取其他单元格中的部分公式。 Excel 无法知道要提取哪一部分,即使 IF 语句中只有一个计算也是如此。
也就是说,您的情况可能有不同的解决方法...那就是通过自定义格式更改您的值的显示方式。公式会更改单元格的值,而格式会更改这些值的显示方式。
- 将公式放在单元格 A1 中:
=6.75*10+5.73*7+3
- 右键单击单元格 A1 并 select 设置单元格格式...
- 确保您在“数字”选项卡上
- 在类别列中,select自定义
- 在类型框中输入此公式:
[>80]"80";[<=80]General
- 在B1中输入这个公式:
=IF(A1>80,A1-80,0)
- 检查B1的数字格式还是"General"或者"Number"
结果是 A1 已经计算并存储了实际值,但如果它的值大于 80,则显示文本字符串“80”。然后您可以在其他公式中使用 A1 的实际值。
注意: 这种类型的自定义格式是非常糟糕的做法,因为它会变得非常混乱并且很容易出错。单元格的值与其显示的不同,如果其他用户不知道,创建引用受影响单元格的新公式可能会无意中产生不正确的 and/or 意外结果。
特别是,Excel 会尽力提供帮助,并且可以自动将格式从一个单元格复制到另一个单元格(如果它与原始单元格相邻或仅引用基本公式中的原始单元格)。默认情况下,复制和粘贴也会复制格式。无意中将格式复制到其他单元格也会改变它们的显示方式。
另请注意,您不需要将 SUM() 放在已经包含加法运算符的公式周围;并且 Excel 使用运算顺序,因此您不需要括号在加法之前进行乘法运算。
最后,您也可以只在 B1 中使用 =MAX(A1-80,0)
。