Excel公式或VBA
我有一个超过400000行的工作表。A是客户编号,B是客户名称,同一编号的名称可能有两个或多个变体。我希望使名称相对于编号相同,因此在透视表中,每个客户编号只有一行。下面的数据示例 专栏:A 客户编号 迪尤999684 迪尤999684 迪尤999684 B栏“客户名称:” ZWICKAU-XX 兹维考 兹维考 为了方便起见,我按客户编号进行了排序,当“客户编号”发生变化且编号相等时,可以使用“客户名称”的第一个实例。所以上面的例子中所有的名字都可以是“ZWICKAU-XX” 我尝试了IF(和,但显然不起作用,例如…=IF(和)(A1=A2,B1=B2,B1,B2) 希望有人能帮我省去手工清理400000条记录的麻烦Excel公式或VBA,excel,vba,Excel,Vba,我有一个超过400000行的工作表。A是客户编号,B是客户名称,同一编号的名称可能有两个或多个变体。我希望使名称相对于编号相同,因此在透视表中,每个客户编号只有一行。下面的数据示例 专栏:A 客户编号 迪尤999684 迪尤999684 迪尤999684 B栏“客户名称:” ZWICKAU-XX 兹维考 兹维考 为了方便起见,我按客户编号进行了排序,当“客户编号”发生变化且编号相等时,可以使用“客户名称”的第一个实例。所以上面的例子中所有的名字都可以是“ZWICKAU-XX” 我尝试了IF(和,
谢谢,dkmanley在单元格C1中输入公式:
=FALSE
(我的意思是在C1中输入文本“FALSE”)
然后将其复制到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))
然后向下复制。数据不需要排序。公式将返回第一次出现的数字的名称,从顶部开始