我正在尝试创建一个资源计算器,可以告诉我每个部分需要放多少人,具体取决于当前正在等待和工作的工作。优先考虑工作最多的部分。
Upper Limit Allocation Prod Ranking
12 [to calc] 28% 1
15 18% 2
5 17% 3
4 8% 4
2 6% 5
3 .2% 6
4 .2% 6
与其他问题类似,我有一个约束,我只有很多分配。对于此示例,我们将使用38作为要分配的金额。
我使用了另一个答案中的公式:
=MIN(A2,$E$1-SUMIF($D$2:$D$8,"<"&D2,$B$2:$B$8))
其中E1包含要分配的总数。
我对这个公式有两个问题: 1)我遇到的问题是我需要在每个部分中至少有至少1人的值。
我尝试使用max函数来设置此值,但这会导致分配的资源超过总量。 我需要使用哪个等式来说明分配的可用总额,每个基金的最低要求以及每个基金的最高限额。
2)它只返回实数整数,是否可以通过将其更改为%分布来检索更精确的结果?
UL Alloc Rank Capacity Lower Limit
2 1 15 93 1
3 1 15
4 1 15
6 6 8
1 1 15
2 1 15
4 4 9
2 2 7
4 4 4
15 15 2
12 12 10
12 12 1
1 1 11
13 13 5
6 6 6
5 1 15
5 5 3
1 1 14
2 2 13
3 3 12
3 1 15
参考:Using the Excel's Rank() function to calculate allocations based on ranking and constraints
答案 0 :(得分:0)
只需减去所有方面的100并分别添加:
=MIN(A2-100,($E$1-100*COUNTA($A$2:$A$8))-(SUMIF($D$2:$D$8,"<"&D2,$B$2:$B$8)-COUNTIF($D$2:$D$8,"<"&D2)*100))+100
返回的内容取决于您在A列和E1中的条目。您可以根据百分比分布更改A列,公式将返回相应的值。
修改:
如果您将下限阈值设置为F2,则使用此公式将约束条件设置为E2
=MIN(A2-$F$2,($E$2-$F$2*COUNTA($A$2:$A$8))-(SUMIF($D$2:$D$8,"<"&D2,$B$2:$B$8)-COUNTIF($D$2:$D$8,"<"&D2)*$F$2))+$F$2
结果如下: