作者:乔山办公网日期:
返回目录:excel表格制作
1、打开需要操作的excel表格,然后需要在另一个来表匹配相应的信息。
2、接着,将鼠标光标定位在需要显示数据的单元格中B2。
3、然后源输入“= vl”,双击蓝色表格部分。
4、可以看到完整的VLOOKUP功能已经显示在B2了。
5、再选择第一列中需要匹百配度数据的单元格。
6、然后,返回第二个表,并选择所有数据。
7、因为我们在表2的第四列中返回班级信息,所以在公式中输入“4”(逗号是英语)。
8、按Enter键,显示匹配数据。
9、操作完成,最终结果如下。
1、公式无法完成复百制,在一定条件下可以实现引用,但源数据必须存度在。
2、可以编写一段VBA代码将EXCEL中符合条件的数据知复制到另一个工作表:
假设是要查找A列包含XXX的,查道到后将该行复制到另一个表。
sub test()
Dim i&,r&
r=cells(rows.count,1).end(xlup).row '定位A列最后一行专
k=1 'Sheet2 的起始行
for i=1 to r '从第属一行循环至第最后一行
if instr(cells(i,1),"XXX")>0 then '如果A列第i行单元中包含XXX,则将该行复制到表2
Range("A" & i & ":Z" &).Copy Sheet2.Range("A" & k) ‘复制第i行至表2
End if
next
End Sub
在sheet2工作表中插入以下VBA代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, j, k As Long
If Target.Address <> "$A$1" Or IsEmpty(Target) Then Exit Sub
Range("A3:D65536").ClearContents
i = Worksheets("Sheet1").Range("B65536").End(xlUp).Row
If i = 1 Then i = 2
st = Target.Value
k = 3
With Worksheets("Sheet1")
For j = 2 To i
If VBA.InStr(1, .Cells(j, 2), st, vbTextCompare) > 0 Then
Cells(k, 1) = .Cells(j, 1)
Cells(k, 2) = .Cells(j, 2)
Cells(k, 3) = .Cells(j, 3)
Cells(k, 4) = .Cells(j, 4)
k = k + 1
End If
Next
End With
End Sub
以上代码实现在 sheet2 的 A1 中输入字符e5a48de588b6e79fa5e98193332后会自动去 sheet1 中找相符的行填入 sheet2 第三行开始的行。
在表二的A2单元格输入:
数组公式,输入完成后百不要直接回车,要按三键 CTRL+SHIFT+回车 结束然度后右拉再下拉。
=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$E$2:$E$999="通知",ROW($2:$999),4^8),ROW(A1)))&""
我把文件传版上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。权