名额分配Excel表格

用户:

目前正在使用excel表格进行尽可能公平的月度绩效名额分配,绩效一共分为4个等级,由高到低分别是Y1,Y2,Y3,Y4。原则上,Y1占10%,Y2占20%,Y3占40%,Y4占30%。当根据占比计算各档位人数,并对各档位人数进行四舍五入后,如果仍有人数剩余,则将剩余的名额分到Y3。

每个月给予一次绩效评级,因为人数较少,所以除了需要考虑每个月份的占比以外,还需要考虑到各档位月度累计人数的占比。

现在需要给一个10~40人的一个团队进行名额分配,该团队内有两个小组,小组的人数是动态变化的,比如a组1月份5人,2月份8人,3月份9人;b组1月份3人,2月份3人,3月份4人; 需要保证整个团队的分配尽可能的匹配绩效分配规则,同时也需要保证团队内的小组的分配尽可能地符合规则。不需要考虑到实际的业绩因素,假设每个人的业绩贡献都是一致的。

这个名额分配通过一个excel工具表完成:第一行是月份,然后由上到下分别是:a组的Y1名额,a组的Y2名额,a组的Y3名额,a组的Y4名额,a组的当月名额总额,b组的Y1名额,b组的Y2名额,b组的Y3名额,b组的Y4名额,b组的当月名额总额,团队当月的名额总额。每个月只需要在输入a组的当月名额总额和b组的当月名额总额,即可根据当月的名额以及之前月份的名额分配,完成当月其他行的计算

请帮我完成整个表格的公式设计,给出我需要录入的所有公式

ChatGPT:

首先,你需要在Excel中设置好你的表格。我将假设你的表格设置如下:

ABCDEFGHIJKLM
11月2月3月4月5月6月7月8月9月10月11月12月
2a组Y1
3a组Y2
4a组Y3
5a组Y4
6a组总额
7b组Y1
8b组Y2
9b组Y3
10b组Y4
11b组总额
12团队总额

我们将在a组总额和b组总额中输入每月的人数,然后根据这个人数来计算每个等级的人数。我们可以使用Excel的ROUND函数来进行四舍五入的计算,然后使用IF函数来处理剩余的人数。

以下是你需要录入的公式:

在B2(a组Y1)单元格中,录入以下公式并向右拖动到M2:

=ROUND(B6*10%, 0)

在B3(a组Y2)单元格中,录入以下公式并向右拖动到M3:

=ROUND(B6*20%, 0)

在B4(a组Y3)单元格中,录入以下公式并向右拖动到M4:

=B6-B2-B3-B5

在B5(a组Y4)单元格中,录入以下公式并向右拖动到M5:

=ROUND(B6*30%, 0)

在B7(b组Y1)单元格中,录入以下公式并向右拖动到M7:

=ROUND(B11*10%, 0)

在B8(b组Y2)单元格中,录入以下公式并向右拖动到M8:

=ROUND(B11*20%, 0)

在B9(b组Y3)单元格中,录入以下公式并向右拖动到M9:

=B11-B7-B8-B10

在B10(b组Y4)单元格中,录入以下公式并向右拖动到M10:

=ROUND(B11*30%, 0)

在B12(团队总额)单元格中,录入以下公式并向右拖动到M12:

=B6+B11

这样,只需要在每月的a组总额和b组总额中输入人数,就可以自动计算出每个等级的人数。如果计算后的总人数不等于输入的总人数,那么剩余的人数会被分配到Y3等级。

用户:

我还需要每个月的年度累加绩效名额分配贴近原则上的分配比例,我需要你在各行公式中加入修正项

ChatGPT:

了解你的需求。在这种情况下,我们需要先计算每个月的累计绩效名额,然后根据这个累计名额来调整每个月的绩效名额分配。

我们可以创建一组新的行来计算累计的绩效名额。假设在第14行开始,我们创建新的行来存储累计的绩效名额。这样,我们的表格将如下所示:

ABCDEFGHIJKLM
11月2月3月4月5月6月7月8月9月10月11月12月
2a组Y1
3a组Y2
4a组Y3
5a组Y4
6a组总额
7b组Y1
8b组Y2
9b组Y3
10b组Y4
11b组总额
12团队总额
13
14累计a组Y1
15累计a组Y2
16累计a组Y3
17累计a组Y4
18累计b组Y1
19累计b组Y2
20累计b组Y3
21累计b组Y4

在B14(累计a组Y1)单元格中,录入以下公式并向右拖动到M14:

=IF(B$1=1, B2, B14+C2)

在B15(累计a组Y2)单元格中,录入以下公式并向右拖动到M15:

=IF(B$1=1, B3, B15+C3)

在B16(累计a组Y3)单元格中,录入以下公式并向右拖动到M16:

=IF(B$1=1, B4, B16+C4)

在B17(累计a组Y4)单元格中,录入以下公式并向右拖动到M17:

=IF(B$1=1, B5, B17+C5)

在B18(累计b组Y1)单元格中,录入以下公式并向右拖动到M18:

=IF(B$1=1, B7, B18+C7)

在B19(累计b组Y2)单元格中,录入以下公式并向右拖动到M19:

=IF(B$1=1, B8, B19+C8)

在B20(累计b组Y3)单元格中,录入以下公式并向右拖动到M20:

=IF(B$1=1, B9, B20+C9)

在B21(累计b组Y4)单元格中,录入以下公式并向右拖动到M21:

=IF(B$1=1, B10, B21+C10)

然后,我们需要根据这个累计的绩效名额来调整每个月的绩效名额分配。我们可以使用Excel的IF函数来判断是否需要调整。

在B2(a组Y1)单元格中,录入以下公式并向右拖动到M2:

=ROUND(B6*10%, 0) + IF(B14/B6 < 10%, 1, 0)

在B3(a组Y2)单元格中,录入以下公式并向右拖动到M3:

=ROUND(B6*20%, 0) + IF(B15/B6 < 20%, 1, 0)

在B4(a组Y3)单元格中,录入以下公式并向右拖动到M4:

=B6-B2-B3-B5

在B5(a组Y4)单元格中,录入以下公式并向右拖动到M5:

=ROUND(B6*30%, 0) + IF(B17/B6 < 30%, 1, 0)

在B7(b组Y1)单元格中,录入以下公式并向右拖动到M7:

=ROUND(B11*10%, 0) + IF(B18/B11 < 10%, 1, 0)

在B8(b组Y2)单元格中,录入以下公式并向右拖动到M8:

=ROUND(B11*20%, 0) + IF(B19/B11 < 20%, 1, 0)

在B9(b组Y3)单元格中,录入以下公式并向右拖动到M9:

=B11-B7-B8-B10

在B10(b组Y4)单元格中,录入以下公式并向右拖动到M10:

=ROUND(B11*30%, 0) + IF(B21/B11 < 30%, 1, 0)

这样,每个月的绩效名额分配将根据累计的绩效名额进行调整,以确保累计的绩效名额分配接近原则上的分配比例。

GPT

对不起,我明白了,我之前的建议存在问题。我们需要将累计的计算和单月的计算分离开来,以避免循环引用的问题。让我们重新设计一下公式。

首先,我们需要计算每个月每个组的Y1,Y2,Y3,Y4的名额,然后计算累计的名额。

在B2(a组Y1)单元格中,录入以下公式并向右拖动到M2:

=ROUND(B6*10%, 0)

在B3(a组Y2)单元格中,录入以下公式并向右拖动到M3:

=ROUND(B6*20%, 0)

在B4(a组Y3)单元格中,录入以下公式并向右拖动到M4:

=B6-B2-B3-B5

在B5(a组Y4)单元格中,录入以下公式并向右拖动到M5:

=ROUND(B6*30%, 0)

在B7(b组Y1)单元格中,录入以下公式并向右拖动到M7:

=ROUND(B11*10%, 0)

在B8(b组Y2)单元格中,录入以下公式并向右拖动到M8:

=ROUND(B11*20%, 0)

在B9(b组Y3)单元格中,录入以下公式并向右拖动到M9:

=B11-B7-B8-B10

在B10(b组Y4)单元格中,录入以下公式并向右拖动到M10:

=ROUND(B11*30%, 0)

然后,我们需要计算累计的名额。在B14(累计a组Y1)单元格中,录入以下公式并向右拖动到M14:

=SUM($B2:B2)

在B15(累计a组Y2)单元格中,录入以下公式并向右拖动到M15:

=SUM($B3:B3)

在B16(累计a组Y3)单元格中,录入以下公式并向右拖动到M16:

=SUM($B4:B4)

在B17(累计a组Y4)单元格中,录入以下公式并向右拖动到M17:

=SUM($B5:B5)

在B18(累计b组Y1)单元格中,录入以下公式并向右拖动到M18:

=SUM($B7:B7)

在B19(累计b组Y2)单元格中,录入以下公式并向右拖动到M19:

=SUM($B8:B8)

在B20(累计b组Y3)单元格中,录入以下公式并向右拖动到M20:

=SUM($B9:B9)

在B21(累计b组Y4)单元格中,录入以下公式并向右拖动到M21:

=SUM($B10:B10)

最后,我们需要根据这个累计的绩效名额来调整每个月的绩效名额分配。我们可以使用Excel的IF函数来判断是否需要调整。在B22(调整a组Y1)单元格中,录入以下公式并向右拖动到M22:

=IF(B14/B6 < 10%, B2+1, B2)

在B23(调整a组Y2)单元格中,录入以下公式并向右拖动到M23:

=IF(B15/B6 < 20%, B3+1, B3)

在B24(调整a组Y3)单元格中,录入以下公式并向右拖动到M24:

=B6-B22-B23-B25

在B25(调整a组Y4)单元格中,录入以下公式并向右拖动到M25:

=IF(B17/B6 < 30%, B5+1, B5)

在B26(调整b组Y1)单元格中,录入以下公式并向右拖动到M26:

=IF(B18/B11 < 10%, B7+1, B7)

在B27(调整b组Y2)单元格中,录入以下公式并向右拖动到M27:

=IF(B19/B11 < 20%, B8+1, B8)

在B28(调整b组Y3)单元格中,录入以下公式并向右拖动到M28:

=B11-B26-B27-B29

在B29(调整b组Y4)单元格中,录入以下公式并向右拖动到M29:

=IF(B21/B11 < 30%, B10+1, B10)

这样,每个月的绩效名额分配将根据累计的绩效名额进行调整,以确保累计的绩效名额分配接近原则上的分配比例。