如何分配行到Excel中的列表
我想把这项工作分配给可以从事这项工作的人数。
从左边的表(原始数据)中,我将input可用工作人员的姓名。 于是,右桌,这5人就被分配了3人。 每个人的工作是由用户决定的(如果自动计算分配给每个人平均分配得多,例如10个工作量到5个人= 2个工作量,每个100WL到5P = 20WL等等希望你得到的主旨)
我不熟悉excel,它可以做的过程和计算,但是我对VB6很熟悉,因为它似乎是excel的后端编码,所以我将沿着编码path执行该命令。 如果可能的话,如果能够给我一个excel样本,我将不胜感激,所以我可以学习,编辑和调整一点,因为我是新来的(第一次)在Excel中使用VB6。
这个公式将会做你所需要的。 在B2
input并在列中填写:
=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),"")
然后你可以填充这个公式下来成百上千的行,当你添加工作时,名字会自动添加。