web-dev-qa-db-ja.com

基数が負の数の場合にパーセンテージを計算するためのトリック

基数(時間1)が負で、結果の数値が正(時間2)の場合の変化率を計算しようとしています。

私の問題は、-4から+4への変化率です。

+4から-4に変更すると、-200%の変更が報告されます。ただし、A1/B1-1A1に等しく-4B2に等しい場合の同じ式4も-200%として報告されますが、200%増加するはずです。

ABS機能はこれを解決しません。誰かがこれの修正を作りましたか?

1
John H.

A1が古い値で、B1が新しい値の場合:

=(B1 - A1) / Abs(A1)
2
Axel Kemper

これをExcelで使用します。ここで、A1は新しい値で、B1は古い値です。

= IFERROR(IF(AND(A2 <0、B2 <0、A2> B2)、((A2-B2)/ B2)*-1、IF(AND(A2 <0、B2 <0、A2> B2)、 
((A2-B2)/ B2)、IF(AND(A2 <0、B2 <0)、((A2-B2)/ B2)*-1、IF(AND(A2> 0、B2 <0)、((A2-B2)/ B2)*-1、IF(B2 <A2、((A2-B2)
/B2)、IF(B2> A2、((A2-B2)/B2)、ABS(((A2-B2)/ B2))))))))* 100、 "")

説明:上記の数式は基本的にこの数式((A2-B2)/ B2)* 100ですが、正の数のみを計算します。ただし、すべての数値の変化率を知りたい場合は、指定した数式で問題が解決し、以下のすべてが処理されます。状況:

  1. A> 0、B> 0、A
  2. A> 0、B> 0、A> B
  3. A <0、B> 0、| A |
  4. A <0、B> 0、| A |> B
  5. A> 0、B <0、A <| B |
  6. A> 0、B <0、A> | B |
  7. A <0、B <0、| A | <| B |
  8. A <0、B <0、| A |> | B |