Excel中有3列数据,A列中包含所有B列的数据,C列是B列的附属列。在A列不动的情况下,怎么自动对齐A、B列?

在A列不动的情况下,怎么自动对齐A、B列? B列中的数字全在A列中,但缺省一部分,怎么自动对齐 对齐后 效果如下:
A列 B列 C列 对齐后:A列 B列 C列
123 123 652464 123 123 652464
223 223 783575 223 223 783575
323 789 721600 323
456 500 252344 456
789 789 789 721600
500 500 500 252344

第1个回答  2012-03-07
把B、C列剪到另一个EXCEL里,然后在原先的工作表的B列和C列分别用VLOOKUP套过来,把出现#N/A的内容清空就行了。
B列:用VLOOKUP公式:
第一项内容Lookup_value:选择本工作表的A栏
第二项内容Table_array:选择另一个工作表的B列内容,因为我不知道你会把B列放在哪一栏。
第三项内容Col_indes_num:输入1
第四项内容Range_lookup:输入0
C列:用VLOOKUP公式:
操作同上,只是第二项内容改为同时选择B~C列内容,然后在第三项输入2。追问

谢谢你的回答。

第2个回答  2012-03-07

如图在对应单元格填入公式,并填充至整列

追问

谢谢你的回答。

第3个回答  2012-03-07
用宏
Sub ss()
Dim a() As Variant
Dim b() As Variant
Dim c() As Variant
Dim i As Integer
Dim j As Integer
Dim N As Integer
N = ActiveSheet.UsedRange.Rows.Count
ReDim a(N), b(N), c(N)
For i = 1 To N
a(i) = Cells(i, 1)
b(i) = Cells(i, 2)
c(i) = Cells(i, 3)
Next i
Columns("B:B").Select
Selection.ClearContents
Columns("C:C").Select
Selection.ClearContents
For i = 1 To N
For j = 1 To N
If b(j) = a(i) Then
Cells(i, 2) = b(j)
Cells(i, 3) = c(j)
End If
Next j
Next i
End Sub本回答被提问者采纳
第4个回答  2012-03-07
在辅助列D列录入公式:
D1
=VLOOKUP(A1,B:C,2,0)
下拉。
选中D列,按F5,定位条件:公式——错误,确定。按Delete删除。
复制D列,在C列右击,选择性粘贴,数值。
删除D列,B列等于A列的,也可以删除。追问

不好用。定位条件:公式——错误,确定 提示未找到单元格

追答

严格按步骤做。

追问

谢谢你的回答。

第5个回答  2012-03-07
D1公式:
=IF(COUNTIF(B:B,$A1),VLOOKUP($A1,B:C,COLUMN(A1),0),"")
向右(填充到E列)向下填充

(如果需要,再复制D、E两列选择性粘贴到B、C两列)
效果:

A列 B列 C列 D列 E列
123 123 652464 123 652464
223 223 783575 223 783575
323 789 721600
456 500 252344
789 789 721600
500 500 252344追问

谢谢你的回答。