将合同分配给所有者

时间:2016-03-11 18:00:55

标签: excel vba

我是VBA的新人,请耐心等待。我有一份合同清单,需要将每个独特的合同分配给某人,如果合同在另一个单元格中重复,则应将其分配给同一个人。我不知道该怎么做。所以基本上,它只是针对A列中的每个唯一值,从列B中的列表中插入C列中的值

Column A            Column B            Column C
MXAACIX             Alice
MXAAFO5             Carolina
MXAAFO5             Jefferson
MXAAFO5             Erik
MXAAFO5
MXAAB3T
MXAAB96
MXAAFDE
MXAAFDE
MXAAFDE
MXAAEK7
MXAAEK7

1 个答案:

答案 0 :(得分:2)

有一个标准的工作表公式可以实现这一目标。在C2中,

=IFERROR(INDEX(C$1:C1, MATCH(A2, A$1:A1, 0)),
         INDEX(B$2:B$5, MOD(SUMPRODUCT(1/COUNTIF(A$2:A2, A$2:A2))-1, 4)+1))

为了使合同的数量和种类以及所有者的数量真正具有动态性,公式变得有点复杂。

=IFERROR(INDEX(C$1:C1, MATCH(A2, A$1:A1, 0)),
         INDEX(B$2:INDEX(B:B, MATCH("zzz",B:B )),
                  MOD(SUMPRODUCT(1/COUNTIF(A$2:A2, A$2:A2&""))-1, 
                      COUNTA(B$2:INDEX(B:B, MATCH("zzz",B:B ))))+1))

contract_to_owner

有关单个工作表函数的详细文档可以在Excel function (by category)找到。