将值列表转换为-1到1之间

时间:2015-06-01 14:17:57

标签: excel statistics formula

我有一份问卷,里面有许多不同格式的答案。我希望范围介于-1和1之间。但是,并非所有范围都包含负数。

我需要创建一个excel公式,根据范围将值转换为以下值。

+---+--------+
| A |To this | 
+---+--------+
|-3 |  -1    |
|-2 | -0.66  |
|-1 | -0.33  |
| 0 |   0    |
| 1 |   1    |
+---+--------+

或者

+---+--------+
| A |To this | 
+---+--------+
| 0 |   0    |
| 1 |  0.25  |
| 2 |  0.5   |
| 3 |  0.75  |
| 4 |   1    |
+---+--------+

或者

+---+--------+
| A |To this | 
+---+--------+
| 1 |  0.2   |
| 2 |  0.4   |
| 3 |  0.6   |
| 4 |  0.8   |
| 5 |   1    |
+---+--------+

或者

+---+--------+
| A |To this | 
+---+--------+
|-2 |  -1    |
|-1 |  -0.5  |
| 0 |   0    |
| 1 |  0.5   |
| 2 |   1    |
+---+--------+

2 个答案:

答案 0 :(得分:3)

这个公式可以解决问题:

=IFERROR(IF(A1<=0,-1*A1/(MIN(A:A)+MIN(0,MAX(A:A))),A1/(MAX(A:A))),0)

自动填充时生成此示例输出:

-3  -1
-2  -0.666666667
-1  -0.333333333
 0   0
 1   0.2
 2   0.4
 3   0.6
 4   0.8
 5   1

注意:这包括0-1,0

两组的0,1

答案 1 :(得分:0)

如果输入数字的范围是有限的,即使是负数,也可以使用如下的一般范围映射公式。

如果输入数字的范围是[X1:X2]并且输出数字的范围是[Y1:Y2](在你的情况下是[-1:+1])那么数字x被映射到输出中的数字y范围使用以下公式:

y =(x - X1)*(Y2 - Y1)/(X2 - X1)+ Y1

X2-X1!= 0