棘手的计数公式

时间:2015-10-04 16:42:48

标签: excel excel-vba count vba

我的数据看起来像这样

1|1|1|1 101
1|1|1|2 101
1|1|1|3 101
1|1|2|1 102
1|1|2|2 102
1|1|3|1 103
1|1|3|2 103
1|1|3|3 103
1|1|3|4 103
1|1|3|5 103
1|1|4|1 104
1|1|4|2 104
1|1|4|3 104  <--- my eq works till here
1|2|1|1 105  <--- my eq needs to return 105 but all my eq modifications have failed
1|2|1|2 105
1|2|2|1 106
1|2|3|1 107
2|1|1|1 201  <--- my eq figures this switch out without issue
2|1|1|2 201
2|1|2|1 202
2|2|1|1 203  <--- my eq fails here
2|2|1|2 203
2|2|1|3 203
2|2|2|1 204
2|2|2|2 204

我正在尝试找到一个公式或宏,这将导致最右边的列(101,102,103等)。我目前的公式采用Col 1和Col 3并将它们组合在一起。挑战是当Col 1相同但第二列开关时我需要继续计数。

我尝试过find,index(匹配,匹配),search,max above。我找不到正确的组合(Excel功能,还没试过宏,因为我不太确定如何得到我想要的)功能,使这项工作请帮助。如果需要额外的列,我发现我无法更改前四列。

2 个答案:

答案 0 :(得分:1)

使用以下数据布局:

enter image description here

您可以在E2中使用以下公式并向下拖动:

=100*A2+IF(A2<>A1,1,MOD(E1,100)+(C2<>C1))

如果您没有列标题,请在E1中使用您的公式。

答案 1 :(得分:0)

将数据放在A,B,C,D列中。 把数字&#34; 101&#34;在单元格E1中。 将该公式放入单元格E2:= IF(AND(A2 = A1; C2 C1); E1 + 1; E1)并将其拖下来。