【问题标题】:Using IFS with a negative number使用带负数的 IFS
【发布时间】:2020-11-20 18:54:52
【问题描述】:

当客户要求更改时,我正在尝试计算价格差异。计量单位是 E 表示每个,C 表示每百分之一,M 表示每千分之一。我的公式使每个结果都为负数或正数,没有考虑 F 列中提到的变化。我还尝试了 Col E 结果的 IF 大于 Col D 的公式,else 乘以 -1,反之亦然。如果需要更多信息,我很乐意提供。

=IF(F2

【问题讨论】:

  • 您对 Product() 函数的使用使公式变得不必要地庞大且难以阅读。你有什么理由不简单地使用乘法运算符*
  • 如果 C2 包含文本“M”,您的公式想要乘以该单元格??或者这是一个错字,你想要 B2,就像其他条件一样?
  • 实际上是什么问题?你想达到什么目的,而公式又做了什么?您描述了“我的公式使每个结果都为负或正” - 这是预期的结果吗?因为这不是公式现在所做的。它将使任何结果为正,永远不会返回负数。请编辑您的问题并描述所需的结果。那么我们可以看看使用什么公式来实现这一点。
  • 目标是在对行项目进行数量更改后计算新的采购订单总额。使用三种不同的测量单位,我必须将 B*F 相乘,然后根据需要除以 100 或 1000。
  • 我需要它来计算数量减少的负数,以及订单数量增加或增加的正数

标签: excel ifs


【解决方案1】:

我认为在公式中乘以 C2 是一个错字,因为 C2 包含文本。我假设你的意思是 B2。

当一个正数与一个负数相乘时,结果是负数。这只是简单的数学。因此,如果您只想进行乘法运算,然后将结果分成 100 或 1000,则可以使用类似于

=(B2*$F2)/IFS(C2="e",1,C2="c",100,C2="m",1000)

但是,如果您想将每个结果都转换为正结果,则可以将结果包装在 ABS() 函数中,该函数返回绝对值,即始终为正值

=ABS((B2*$F2)/IFS(C2="e",1,C2="c",100,C2="m",1000))

但是,如果您希望结果始终是完全相反的符号,即您希望所有负面结果都显示为正面,而所有正面结果都显示为负面,那么您需要翻转符号。这可以通过将公式的最终结果乘以 -1 来完成,如下所示:

=((B2*$F2)/IFS(C2="e",1,C2="c",100,C2="m",1000))*-1

我从未见过实际使用中的 Product() 函数。我假设它在 Excel 中是为了与旧软件兼容,就像 Concatenate() 函数一样。

乘法运算符* 比将运算包装到Product() 中更容易阅读,这是Excel 中的约定。除非特别需要使用 Product() 函数,否则您可能想尝试坚持下去。

【讨论】:

    【解决方案2】:

    我通过为新行总数和净变化添加列来解决此问题:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-12
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多