Excel 具有已知上限的缩放值
我在Excel中有一列值,需要通过比例因子进行修改。原始列示例:Excel 具有已知上限的缩放值,excel,math,scale,Excel,Math,Scale,我在Excel中有一列值,需要通过比例因子进行修改。原始列示例: | Value | |:-----:| | 75 | | 25 | | 25 | | 50 | | 0 | | 0 | | 100 | 比例系数:1.5 | Value | |:-----:| | 112.5 | | 37.5 | | 37.5 | | 75 | | 0 | | 0 | | 150 | 问题是我需要它们在0-100的范围内。我的第一个想法
| 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
,我不仅仅是在取消比例因子?假设数据从单元格A1开始,您可以使用以下公式:
=MIN(100,A1*1.5)
根据需要向下复制。您可以执行以下操作:
ScaledValue = (v - MIN(AllValues)) / (MAX(AllValues) - MIN(AllValues)) * (SCALE_MAX - SCALE_MIN) + SCALE_MIN
假设您的原始数据(也称为AllValue)的最小值为15到最大值为83,您希望将其缩放到0到100的范围。为此,您需要设置SCALE\u MIN=0
和SCALE\u MAX=100
。在上述等式中,v
是数据中的任何单个值
希望能有所帮助另一个选择是:
ScaledValue = PERCENTRANK.INC(AllValues, v)
与我之前的建议不同,(线性——保留数据点的相对间距),这保留了数据的顺序,但不保留间距。使用PERCENTRANK.INC
将产生这样的效果:稀疏数据将被压缩得更紧密,而聚集的数据将分散开来
你也可以将这两种方法进行加权组合——给线性方法一个权重,比如说0.5,这样相对间距就可以部分保留。将数字分布在0-100之间是非常容易的。您只需要确保100是最大值吗。看看
min(100,cell*1.5)
@shawnt00这可能就是我想要的,但我真的觉得应该有一种方法来调整数字,使最大的数字是100,但现在90可能更像97。你明白我的意思了吗?是的,你可以很容易地将最大值转换为100,然后将最小值转换为0,以及其余部分之间的比例差。@shawnt00但如果这些值已经设置在最大值0和100之间,那么比例差(这正是我要寻找的)不是完全相同的值?这似乎是循环的。是的,在那种情况下它们是一样的。