我有一大堆数字要转换为0到10比例。
我使用以下公式将最大值转换为10,将最小值转换为0,
=IF(A1="-","0",MIN(MAX((A1-MIN(A:A))/((MAX(A:A)-MIN(A:A))/11),0),10))
但是,我在转换系列时遇到一些问题,其中最大值应为0,最小值应为10.例如,如果列A具有值,
1 4 6 7 8
然后8的值应为0,1的值应为10.
谢谢!
答案 0 :(得分:3)
只需使用公式= 10-B1,其中B1是包含您提到的公式的单元格。
请注意,您的公式存在以下缺陷:
这是错的。如果你使用三个数字1,2,3进行测试,那么对应于2的值得到5.5。显然正确的答案应该是5.这个错误是由你用来划分的数字11引起的(MAX(A: A)-MIN(A:A))。把它改成10,一切都会好起来的!
返回#DIV / 0!如果A列中只有一个数字。
这是低效的,因为它在包含该公式的每个单元格中调用时间昂贵的函数MAX(A:A)和MIN(A:A)。由于这两个函数不依赖于包含公式的单元格,因此请考虑在其他单元格中仅使用它们一次,然后修改公式,使其包含指向这些外部单元格的链接,而不是函数本身。
难以维护和/或可读。我花了一段时间来了解你的配方是如何运作的。考虑将它分成有意义的碎片,将碎片放入单独的单元格中,最后简单地将碎片连接在一起,形成一些最终 - 更小 - 的公式。
这是不必要的错综复杂的。根据以下内容,有一个更容易实现相同的公式:
= 10 * B1 / C1,
其中B1包含“距离最小值的距离”,即A1-MIN(A:A),C1包含数字范围的总长度,即MAX(A:A)-MIN(A:A)< / p>