如何在Excel中进行线性转换?

时间:2016-04-23 17:11:50

标签: excel

我需要一些帮助才能在Excel中进行线性转换。

范围内的高数字 - 1800,转换为100 范围内的数字较小 - 2,转换为1

Y = A +b⋅x x是原始值 y是转换后的值

1800必须变为100.因此第一个等式是100 = a +b⋅1800。

2必须变为1.第二个等式是1 = a +b⋅2。

现在我们可以将它用于方程式二计算a和b的值。

使用此等式,723的原始值将转换为40.70的值。

我如何在Excel中执行此操作?

2 个答案:

答案 0 :(得分:1)

你的方程式不适合线性函数。请参阅https://en.wikipedia.org/wiki/Linear_function_(calculus):基本等式为f(x) = ax + b

因此,您的示例中的ab可以按照我的图片中所示进行计算:

enter image description here

然后获得普遍适用的特殊示例将导致B1中的公式向下:

=((MAX(A:A)/MIN(A:A)-100)/(MAX(A:A)/MIN(A:A)-1)-1)/-MIN(A:A)*A1+(MAX(A:A)/MIN(A:A)-100)/(MAX(A:A)/MIN(A:A)-1)

答案 1 :(得分:1)

如果您在桌面上添加一些额外字段,则可以进一步简化Axel给出的公式。为了便于阅读,我通常会给这些字段命名(使用<cntrl-F3>),如&#34; min&#34;,&#34; max&#34;,&#34; a&#34;和&#34; b&#34;。然后表格看起来很简单:

    [A]     [B]         [c] [D]        // showing the formulae ...
[1]  min    =MIN(A:A)   a   =1-min*b
[2]  max    =MAX(A:A)   b   =99/(max-min)
[3]  1800   =a+b*A3     
[4]  1700   =a+b*A4     
[5]  1300   =a+b*A5     
[6]  723    =a+b*A6     
[7]  400    =a+b*A7     
[8]  200    =a+b*A8     
[9]  20     =a+b*A9     
[10] 2      =a+b*A10        

或者,显示实际值,您将得到:

    [A]     [B]         [c] [D]        // showing the values ...
[1]  min    =2          a   =0.889877642
[2]  max    =1800       b   =0.055061179
[3]  1800   =100    
[4]  1700   =94.49388209    
[5]  1300   =72.46941046    
[6]  723    =40.69911012    
[7]  400    =22.91434928    
[8]  200    =11.90211346    
[9]  20     =1.991101224    
[10] 2      =1