EXCEL如何将满足某一条件所在行提取到另一个表中?

发布网友 发布时间:2022-02-27 12:35

我来回答

7个回答

懂视网 时间:2022-02-27 16:57

产品型号:ASUS S340MC

系统版本:Windows 10

软件版本:Microsoft Office Excel 2019

1、首先打开电脑中的excel表格,然后选择需要提取内容的表格,接着点击工具栏上方的数据,选择排序和筛选一栏里的高级。

2、选择弹窗中的将筛选结果复制到其他位置,设置列表区域、条件区域和复制到的区域,最后点击确定即可。

总结

1、首先打开电脑中的excel表格,然后选择需要提取内容的表格,接着点击工具栏上方的数据,选择排序和筛选一栏里的高级。

2、选择弹窗中的将筛选结果复制到其他位置,设置列表区域、条件区域和复制到的区域,最后点击确定即可。


热心网友 时间:2022-02-27 14:05

原来给的回答不见?

如图,简单模拟了一些数据,Sheet2引用Sheet1中F列包含“费用”数据。Sheet2中

A2=IFERROR(INDEX(Sheet1!A:A,SMALL(IF(ISNUMBER(FIND("费用",Sheet1!$F$2:$F$32)),ROW($2:$32)),ROW(1:1))),"")

同时按Ctrl+Shift+Enter三键 输入数组公式,右拉到G2,设置A2的单元格格式为日期,再一下下拉A2:G2到出现空白数据行。

突然想起来了,提交是提示“该问题已删除”,白白浪费了输入文字的时间。建议提问不要轻易删除,尊重别人的劳动。

热心网友 时间:2022-02-27 15:23

新表格的A2输入

=index(sheet1!a:a,small(if(isnumber(find("费用",sheet1!$f$2:$f$1000)),row($2:$1000),6^6),row(a1)))&""
同时按下CTRL+SHIFT+Enter三键,使数组公式出现{ },公式右拉再下拉到空值追问老师,按照老师这个公式可以取数,但是新表格的日期是几个数字,设置单元格格式也不能显示成日期,还有取出来的数字也不能合计

追答1,将A列带有日期的公式单独改一下
=text(index(sheet1!a:a,small(if(isnumber(find("费用",sheet1!$f$2:$f$1000)),row($2:$1000),6^6),row(a1))),"e-m-d")
2,CDE列不能计算是因为公式结果的数字是文本型,不能参与计算,如果要参与下一步计算,CDE列公式也应单独改一下,去掉公式的“尾巴”
=index(sheet1!a:a,small(if(isnumber(find("费用",sheet1!$f$2:$f$1000)),row($2:$1000),6^6),row(a1)))

热心网友 时间:2022-02-27 16:57

对F列进行筛选,文本筛选,选出包含“费用”的单元格,然后复制粘贴到新的sheet,比公式快。

追问因为表格是一直更新的 所以不可能每次都筛选复制

追答

I2单元格=INDEX($A:$F,SMALL(IF(LEFT($F$2:$F$9,2)="费用",ROW($2:$9),4^8),ROW($A1)),MATCH(I$1,$A$1:$F$1,0)&""),ctrl+shift+回车,向右向下填充。

如果是跨表的,就把公式里加上sheet的名称。假投原始表格名称为Sheet01,则在Sheet02的第一行填写表头,然后A2=INDEX(Sheet01!$A:$F,SMALL(IF(LEFT(Sheet01!$F$2:$F$9,2)="费用",ROW(Sheet01!$2:$9),4^8),ROW(Sheet01!$A1)),MATCH(A$1,Sheet01!$A$1:$F$1,0)&""),ctrl+shift+回车,向右向下填充。完成。


热心网友 时间:2022-02-27 18:49

用VBA做了一个 Subtest() Dimi,m,n Application.ScreenUpdating=False Fori=3To33 m=Sheets(i).Range("AS65536").End(xlUp).Row Ifm>5Then Forx=6Tom IfSheets(i).Range("AS"&x)>""Then n=Sheets(2).Range("AS65536").End(xlUp).Row+1 arr=Sheets(i).Range("AD"&x).Resize(1,40) Sheets(2).Range("AD"&n).Resize(1,40)=arr EndIf Next EndIf Next Application.ScreenUpdating=True EndSub实际效果看附件吧

热心网友 时间:2022-02-27 20:57

Sub test()

Sheet1.Copy after:=Sheet1

Dim i, irow

With ActiveSheet

irow = .Range("a65536").End(xlUp).Row

    For i = irow To 2 Step -1

        If .Range("e" & i) <> "费用" Then

            .Range("e" & i).EntireRow.Delete

        End If

    Next

End With

End Sub

热心网友 时间:2022-02-27 23:21

满足什么条件?可以用查找引用函数

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com