1

我设置了下表

Limit  Allocation  Yield    Ranking
$600    [to calc]   0.07%    7
$600                0.09%    6
$600                0.20%    1
$400                0.20%    1
$400                0.13%    4
$200                0.19%    3
$200                0.12%    5

此外,我有一个约束,我只能在这里的 7 行中分配总计2000 美元limit,根据它们的收益率排名(因此,如果 2000 美元的总额中有任何剩余,那么更高的收益率会将所有内容分配到该列)。

我想知道如何设置方程式以便它可以自动执行分配。谢谢!

4

2 回答 2

2

我将假设这张桌子从 A1 开始......

在 E1 中,输入您必须分配的金额

在 B2(然后复制到 B3...B8)中,使用以下公式

=MIN(A2,$E$1-SUMIF($D$2:$D$8,">"&D2,$B$2:$B$8))

这将计算出排名较高的玩家已经拿走了多少,然后拿走其余的,直到他们限制的较小数量,以及底池中剩下的东西。
这个方程有一个错误,你需要弄清楚如何处理:如果在分布的末尾有相等的等级,那么两者都会得到最终的数量。(例如,用 $2,001 试试这个,你会看到排名为1的 2 行都将要求最后一美元)

于 2013-07-16T16:08:16.033 回答
-2

回答以解决导致排名问题的关系。在排名列 D 中,添加排名 =rank(c2,$c$2:$c$8,0) + (.0000001 * row(a2)) 或您所在的任何行。然后将排名列格式化为显示整数。这样做会使排名中非常小的十进制加法成为决胜局,因此具有排名匹配整数的第一行将进行分配。由于您将其添加到排名中,因此不会影响任何总数。通过将列格式显示更改为整数,查看者将不会注意到决胜局。

于 2018-07-11T18:42:42.227 回答