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

我有许多不同格式的问卷调查问卷。 我希望范围在-1和1之间。但是,并不是所有的范围都包含负数。

我需要创build一个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 | +---+--------+ 

等等

这个公式应该可以做到这一点:

 =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 

注意:对于-1,00,1这两个集合都包括0

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

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

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

X2-X1!= 0时