需要奇怪的公式(反向公式)

时间:2017-06-14 19:34:57

标签: excel excel-formula

我在excel中创建了一个计算器,用于确定正分数与总分数的百分比,如下所示:

B10 = positive points
B12 = Negative points
B13 = `SUM(B10:B12)`
B14 = `(B10-B13)/B13`

在以下实例中,这是我得到的:

B10 = 319
B11 = 18
B12 = 8
B13 = 345
B14 = 91%

我需要什么: 我希望能够(在一个单独的单元格中) - 利用在单元格B10:B14上获得的信息 - 请求excel我需要多少“正”点(不应该添加额外的负点)才能到达更高的百分比。

我在单元格C10上有一个数据验证列表,其下拉百分比从90%到99%。

我希望在C11中有一个公式可以看到我在C10上从百分比下拉列表中做出的选择,并计算我需要向B10添加多少点数为了达到这个百分比并以所需的点数返回。

在上面展示的这个示例中,如果我从C10的下拉列表中选择“94%”选项,则Excel会在单元格C11上给我= 180(因为应该没有更多的负面因素,百分比需要额外增加180个积分才能达到94%。

希望这不是非常混乱!但是我肯定会很感激帮助,因为我一直在绞尽脑汁找到一个有效的公式!

4 个答案:

答案 0 :(得分:1)

在C11中写:
=Round((B12+(B11+B12)*C10)/(1-C10),0)-B10

C10应该是94%而不是94的百分比 Round将删除小数
如果您需要差额,则需要扣除B10初始值

答案 1 :(得分:0)

这只是一个代数问题。

r is your desired rate
n is negative points
p is positive points
You start with r = p/(p + n), right?
rp + rn = p
rn = p - rp
rn = p(1 - r)
p = rn/(1 - r)

有人应该检查我的数学,但你应该能够通过负数的数量将你想要的比率加倍并除以一个减去你想要的比率。

答案 2 :(得分:0)

这是一种蛮力方法。使用此数组公式:

=MIN(IF(ROUND(IFERROR((B10+ROW(INDIRECT("1:1000"))-B12)/(B13+ROW(INDIRECT("1:1000"))),-1E+99),2)>=C10,ROW(INDIRECT("1:1000"))))

作为数组公式,需要在退出编辑模式时使用Ctrl-Shift-enter而不是Enter来确认。如果操作正确,那么Excel会将{}放在公式周围。

这个公式实际上是通过向值中加1到1000来迭代,直到达到所需的百分比。

如果您认为1000太低,您可以将所有这些更改为更高的数字。

enter image description here

答案 3 :(得分:0)

[PosPoints] / [PossibleScore] = [Percent] / 100

所以你想知道的是

([PosPoints] + X) / [PossibleScore + X] = [NewPercent] / 100

如果你解决X问题,你会得到:

X = ((100 * [PosPoints]) - ([NewPercent] * [PossibleScore])) / ([NewPercent] - 100)

所以你的新分数是

[PossibleScore] + X