2014-10-12 176 views
0

我有一个包含超过400,000行的工作表。 A是客户编号,B客户名称,可能有两个或更多的名称变体,编号相同。我想使名称与数字相同,因此在数据透视表中,每个客户号码只有一行。下面的数据示例。Excel公式或VBA

柱:A,

客户编号

DEEU9999684

DEEU9999684

DEEU9999684

列B “客户名称:”

ZWICKAU-XX

ZWICKAU

ZWICKAU

为了方便我的客户数量排序,可以使用“客户名称”时,那么“客户号”的变化以及该号码是相等的第一个实例。所以上面的例子中所有的名字都可以是“ZWICKAU-XX”

我试着组合IF(AND,但那显然不起作用,例如... = IF(AND(A1 = A2,B1 = B2,B1,B2)

希望有人能救我形成具有手动擦洗40万个记录

感谢,dkmanley

回答

0

在单元格C1中输入公式:=FALSE(我的意思是输入文字 “FALSE”在C1) 然后将其复制到列C:=IF(A2=A1;TRUE;FALSE)(从C2开始)

在D1单元格中输入公式:=A1 然后把它复制到列d:=IF(C2=FALSE;B2;D1)(从D2开始)

这里有一个例子:

1 a FALSE a 
1 a TRUE a 
1 a TRUE a 
1 x TRUE a 
1 x TRUE a 
2 b FALSE b 
2 b TRUE b 
2 b TRUE b 
2 bf TRUE b 
2 c TRUE b 
2 c TRUE b 
3 d FALSE d 
3 d TRUE d 
3 d TRUE d 
3 s TRUE d 
3 c TRUE d 
3 d TRUE d 
3 s TRUE d 
4 a FALSE a 
4 d TRUE a 
4 f TRUE a 
4 g TRUE a 
4 s TRUE a 
4 a TRUE a 
0

您可以使用类似

=INDEX(B:B,MATCH(A1,A:A,0)) 

并复制下来。数据不需要排序。该公式将从顶部开始返回数字第一次出现的名称。

enter image description here