乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何将<em>EXCEL</em>中符合条件的数据利用公式复制到另一个工作表

如何将<em>EXCEL</em>中符合条件的数据利用公式复制到另一个工作表

作者:乔山办公网日期:

返回目录: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)))&""


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。


相关阅读

关键词不能为空
极力推荐

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网