我有一份问卷,里面有许多不同格式的答案。我希望范围介于-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 |
+---+--------+
等
答案 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
时