我正在创建一个 if 语句,它有助于计算两个单元格之间的差异并以百分比形式显示差异 - 下面是我正在使用的代码示例 - =IF(D19=E19,"Values are accurate",(D19-E19)/E19)
问题出现在“E19 为 0 且 D19 中有值”时,单元格中会显示错误“#DIV/0!”。我知道错误发生是因为 0,但我希望我的电子表格保持一致并显示百分比差异,无论是正数还是负数。
有人可以帮忙吗?
好的,我明白它需要一个尺度,但是我如何确定尺度呢?
让我来描述一下我正在做的事情;我正在提供库存分析;第一个值 (D19) 表示系统上的数量,第二个数量 (E19) 表示实物库存。因此有时实物库存有时为 0 值,这就是问题所在。
答案1
你可以使用这个:
=IF(D19=E19,"Values are accurate",(D19-E19)/MAX(D19:E19))
这会将差额调整为 -100% 和 +100% 之间。因此,如果您有 3 个系统库存和 1 个实物库存,则其价值将为 +67%(而不是按照之前的公式为 +200%)。如果您可以接受这一点,那么此解决方案应该可行。
答案2
就像是 -
=IF(D19=E19,"accurate",IF(E19=0,magic formula,(D19-E19/E19))
但只有当你从数学上知道你的规模是绝对的,这个神奇公式才会起作用。
例如,从 1 到 2 的变化是 100%,从 -1 到 -2 的变化是 -100%。但是,如果比例为 0-100,则从 0 到 1 的变化仅为 10%。如果比例为 0-3,则为 33%,依此类推
您可能能够使用的一个神奇公式是(-1)(E19-F19
给出改变的单位数。
=if(D19=E19,"Values are accurate",IF(E19=0,(-1)(E19-F10)&" unit change",((D19-E19)/(E19))))