如何将行分配给 excel 中的列表
How to allocate rows to a list in excel
我想将工作分配给可以完成任务的人数。
从左边table(原始数据),我将输入可用工人的姓名。然后结果,对table,然后5个人每人分配了3个。每个人的工作由用户决定,(如果自动计算平均分配给每个人会更好,例如10个工作量对5个人=每个人2个工作量,100WL到5P = 20WL每个等等。希望你明白要点)
我不熟悉excel,它能做的过程和计算,但我对VB6很熟悉,因为它似乎是excel的后端编码,所以我会去沿着编码路径执行此命令。如果可能的话,如果有人能在 excel 中向我提供示例,我将不胜感激,这样我就可以更好地研究、编辑和调整它,因为我是新手(第一次)在 excel 中使用 VB6 ].
这个公式可以满足您的需要。在B2
中输入并向下填写:
=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),"")
然后您可以将此公式填入数百行,名称将在您添加工作时自动添加。
我想将工作分配给可以完成任务的人数。
从左边table(原始数据),我将输入可用工人的姓名。然后结果,对table,然后5个人每人分配了3个。每个人的工作由用户决定,(如果自动计算平均分配给每个人会更好,例如10个工作量对5个人=每个人2个工作量,100WL到5P = 20WL每个等等。希望你明白要点)
我不熟悉excel,它能做的过程和计算,但我对VB6很熟悉,因为它似乎是excel的后端编码,所以我会去沿着编码路径执行此命令。如果可能的话,如果有人能在 excel 中向我提供示例,我将不胜感激,这样我就可以更好地研究、编辑和调整它,因为我是新手(第一次)在 excel 中使用 VB6 ].
这个公式可以满足您的需要。在B2
中输入并向下填写:
=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),"")
然后您可以将此公式填入数百行,名称将在您添加工作时自动添加。