本质上,C24 中的值取决于 C18 中的值。
如果 C18 中的值为2230 以下。
如果 C18 中的值为正好是 2950。
如果 C18 中的值为正好是3100。
随着 C18 的值增加(从 2230 -> 2950 -> 3100),C24 的值以均匀的速率上升。想象一下,好像这是在图表上,并且为这 3 个值画了一条直线。具体来说,想象一下,如果 C24 的值是 X,而 C18 的值是 Y。这是一条直线,所以我希望公式能够根据 Y 点(C18 的值)计算出 X(在本例中是 C24 的值)
因此,在从 2230 到 2950 的情况下,差值为 720。根据我的计算,C24 中的值以 0.00903 递增,而 C18 中的值以 1 递增,直到达到 2950。然后,该值以 0.00867 递增。这些值是四舍五入的。如果 excel 可以自行进行此计算,那就太理想了(即公式不应规定值增加 0.00903,而是根据 C18 中的值以均匀的速率(即图表上的直线)上升,知道 C24 中的值应该是多少)。
最终,表格上的所有最终值都将四舍五入到百分位。
我很感激任何有关此事的帮助。谢谢!
答案1
由于它实际上并不是之前矛盾所述的三点之间的直线,因此您需要一种与简单的线性计算略有不同的方法。
所以:
=IF(C18<2230, "You didn't specify what happens if C18<2230.", IF(C18<=2950, 33+(6.5*(C18-2230)/(2950-2230)), IF(C18<=3100, 33+6.5+(1.3*(C18-2950)/(3100-2950)), "You didn't specify what happens if C18>3100.")))
您没有指定如果 C18 超出范围(低或高)会发生什么,因此是第一个和最后一个条件。
然后使用IF
,只需使用简单的“基值加上部分的完整上升乘以部分距离的比率”(即标准的“基值加上插值”方法)处理实际上是直线的每个部分。由于我已经从“低于您指定的第一个值”的可能性开始,因此我“向上”遍历了该范围,处理低于低值、较低范围、较高范围,最后是高于高值。如果您觉得这更“正确”或某些外部原因值得,您也可以轻松地朝相反的方向走。
然而,跳跃(比如说……高于直线部分,然后是低范围线,然后是所有部分下方,然后是高范围线)需要经过深思熟虑并写下的公式。为什么有人会想要那样呢?
我已经写出了公式中的所有部分,以防您想轻松地将“硬编码”值(如“2950”)更改为包含这些值的单元格,以便轻松更改它们。如果愿意,您不需要这样做,然后可以例如计算 (2950-2230) 并输入 720 而不是 (2950-2230)。