Excel函数名,用于将一个比率映射到另一个比率

Excel函数名,用于将一个比率映射到另一个比率,excel,function,range,Excel,Function,Range,我想不出搜索所需函数的术语: Anrduino有一个map(value、inLo、inHi、outLo、outHi)函数,该函数获取范围内的值,并返回映射到范围外的相同比率的值。 例如,map(5,0,6200380)返回350,因为0-6范围内的值5是5/6,200到380范围内的值5/6是350 我可以用Excel编写我自己的函数,但我猜里面有内置的东西。事实上,查尔斯·威廉姆斯的答案并没有完全解决等效的Arduino“Map”函数。 更正确的公式是:=((value inLo)/(inhi

我想不出搜索所需函数的术语:

Anrduino有一个map(value、inLo、inHi、outLo、outHi)函数,该函数获取范围内的值,并返回映射到范围外的相同比率的值。 例如,map(5,0,6200380)返回350,因为0-6范围内的值5是5/6,200到380范围内的值5/6是350


我可以用Excel编写我自己的函数,但我猜里面有内置的东西。

事实上,查尔斯·威廉姆斯的答案并没有完全解决等效的Arduino“Map”函数。
更正确的公式是:=((value inLo)/(inhi inLo))*(outhi outlo)

您的意思是正确的公式是:(来自arduino.cc/en/Reference/Map) 长映射(长x、长in_最小值、长in_最大值、长out_最小值、长out_最大值)


(你最后忘了+out\u min

詹姆斯·拉姆斯登给出了很好的解释:

基本上,如果一个比例是从a0到a1,另一个比例是从b0到b1,并且您希望将值a映射到b的某个值。方程式为:

用与原问题相同的措辞:


map(value,inLo,inHi,outLo,outHi)=outLo+(outHi-outLo)*(value-inLo)/(inHi-inLo)

非常确定此任务没有内置内容。您可以使用公式=value/(inHi-inLo)*(outHi outLo)+outLo
{return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;}