如何提取飞机维护表格中剩余时间<100的行生成新工作表?
高效提取飞机维护数据的方法
原始数据示例:表格记录飞机维护项目信息,按剩余时间排序,包含剩余时间等核心字段,需提取剩余时间小于100的行生成采购订单。
1. 自动筛选(最快上手)
- 选中原始数据的表头行,点击「数据」选项卡的「筛选」按钮
- 找到「剩余时间」列的筛选箭头,选择「数字筛选」→「小于」,输入100后确定
- 选中筛选后的所有可见行(跳过表头),复制粘贴到新工作表即可
2. FILTER函数实时同步(自动更新)
如果用Excel 365/2021或Google Sheets,直接在新工作表的A1单元格输入公式:=FILTER(原始表!A:Z, 原始表!剩余时间列号:剩余时间列号 < 100)
比如剩余时间在D列,就写成:=FILTER(原始表!A:Z, 原始表!D:D < 100)
原始表数据更新时,新表会自动同步符合条件的行,无需手动操作。
3. Power Query批量提取(适配复杂数据)
- 选中原始数据区域,点击「数据」→「从表格/区域」(Excel),导入Power Query编辑器
- 在编辑器中添加「筛选列」,选择剩余时间列,设置筛选条件为「小于100」
- 点击「关闭并上载」,选择上载到新工作表,后续更新只需右键刷新
4. VBA宏一键生成(高频重复操作首选)
按Alt+F11打开VBA编辑器,插入新模块,粘贴以下代码(记得修改表名和列序号):
Sub 提取维护订单() Dim 原始表 As Worksheet, 新表 As Worksheet Set 原始表 = ThisWorkbook.Worksheets("原始数据") '替换为你的原始表名称 Set 新表 = ThisWorkbook.Worksheets("采购订单") '替换为目标工作表名称 新表.Cells.Clear '清空目标表旧数据 原始表.Rows(1).Copy 新表.Rows(1) '复制表头到目标表 'Field为剩余时间列的序号(比如D列对应4) 原始表.Range("A1").CurrentRegion.AutoFilter Field:=4, Criteria1:="<100" 原始表.Range("A2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy 新表.Range("A2") 原始表.AutoFilterMode = False '取消原始表的筛选状态 End Sub
保存后,每次运行宏就能一键生成采购订单表。
内容的提问来源于stack exchange,提问作者Andrew Fox
相关产品推荐
相关产品推荐

