我在Excel中有一列值,我需要通过比例因子进行修改。原始列示例:
| Value |
|:-----:|
| 75 |
| 25 |
| 25 |
| 50 |
| 0 |
| 0 |
| 100 |
比例因子:1.5
| Value |
|:-----:|
| 112.5 |
| 37.5 |
| 37.5 |
| 75 |
| 0 |
| 0 |
| 150 |
问题是我需要它们在0
- 100
的范围内。我的第一个想法就是将它们作为100的百分比,然后很快就意识到这将是围成一圈的。
我是否可以使用某种数学方法或Excel公式来处理这个问题,以便我实际对值进行有意义的更改,以便在修改这些数字时,150
为100
但是37.5
可能不是25
,而且我不只是取消了我的比例系数?
答案 0 :(得分:2)
假设您的数据在单元格A1中开始,您可以使用以下公式:
=MIN(100,A1*1.5)
根据需要向下复制。
答案 1 :(得分:0)
您可以执行以下操作:
var canvas = document.querySelector('#mycanvas'),
ctx = canvas.getContext('2d', {alpha: false});
function run() {
ctx.clearRect(0, 0, size.width, size.height);
ctx.drawImage(bg, 0, 0, size.width, size.height);
draw();
update();
requestAnimationFrame(run);
}
假设您的原始数据(也称为AllValues)范围从MIN为15到MAX为83,并且您希望将其缩放到0到100的范围。为此,您需要设置ScaledValue = (v - MIN(AllValues)) / (MAX(AllValues) - MIN(AllValues)) * (SCALE_MAX - SCALE_MIN) + SCALE_MIN
和{ {1}}。在上面的等式中,SCALE_MIN = 0
是数据中的任何单个值。
希望有所帮助
答案 2 :(得分:0)
另一种选择是:
ScaledValue = PERCENTRANK.INC(AllValues, v)
与我之前的建议相反,(线性---保留数据点的相对间距),这保留了数据的顺序,但不保留间距。使用PERCENTRANK.INC
会使稀疏数据更加紧密地压缩在一起,并且聚集的数据将会散开。
你也可以对这两种方法进行加权组合---给线性方法一个0.5的权重,使相对间距部分保留。