如何分配行到Excel中的列表

我想把这项工作分配给可以从事这项工作的人数。

从左边的表(原始数据)中,我将input可用工作人员的姓名。 于是,右桌,这5人就被分配了3人。 每个人的工作是由用户决定的(如果自动计算分配给每个人平均分配得多,例如10个工作量到5个人= 2个工作量,每个100WL到5P = 20WL等等希望你得到的主旨)

在这里输入图像说明

我不熟悉excel,它可以做的过程和计算,但是我对VB6很熟悉,因为它似乎是excel的后端编码,所以我将沿着编码path执行该命令。 如果可能的话,如果能够给我一个excel样本,我将不胜感激,所以我可以学习,编辑和调整一点,因为我是新来的(第一次)在Excel中使用VB6。

这个公式将会做你所需要的。 在B2input并在列中填写:

 =INDEX(C:C,MOD(ROW()-2,COUNTA(C:C)-1)+2) 

打破它:

 INDEX(C:C,[row]) -- Return the value at [row] in column C 

其中[row]是:

 MOD(ROW()-2,COUNTA(C:C)-1)+2 

打破这个:

 ROW()-2 -- Current row number in column B - offset to zero-base COUNTA(C:C)-1 -- Number of workers in column C (-1 removes header) MOD() -- Converts B row number into value in range [0 - # of Workers) +2 -- Offsets [0-workers) to [2-workers+2) to account for positioning in col C 

如果您只希望名称出现在列B中(如果有任务要执行),则可以将公式包装在IF

 =IF(LEN(A2)>0,INDEX(C:C,MOD(ROW()-2,COUNTA(C:C)-1)+2),"") 

然后你可以填充这个公式下来成百上千的行,当你添加工作时,名字会自动添加。