Excel公式或VBA
问题描述:
我有一个包含超过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
答
在单元格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
答
您可以使用类似
=INDEX(B:B,MATCH(A1,A:A,0))
并复制下来。数据不需要排序。该公式将从顶部开始返回数字第一次出现的名称。