在excel中将所有记录从1张工作表移到另一张工作表
如果过滤器被“删除”,我需要获取所有记录,并且我需要自动将其填充到同一excel中的另一个工作表中。比如说, 第1页:在excel中将所有记录从1张工作表移到另一张工作表,excel,excel-formula,excel-2010,excel-2007,Excel,Excel Formula,Excel 2010,Excel 2007,如果过滤器被“删除”,我需要获取所有记录,并且我需要自动将其填充到同一excel中的另一个工作表中。比如说, 第1页: Filter | Id | Name | Username Added | 58621 | IDR User2 | AIG_IDR Deleted | 59088 | Clearwater Analytics | AIGTessa2 Deleted | 59422 | Janine Mulli
Filter | Id | Name | Username
Added | 58621 | IDR User2 | AIG_IDR
Deleted | 59088 | Clearwater Analytics | AIGTessa2
Deleted | 59422 | Janine Mullin | 32313082
Added | 59424 | Jonathan Lawless | 3231367
在工作表2中,应自动添加或列出所有已删除的筛选器
Filter | Id | Name | Username
Deleted | 59088 | Clearwater Analytics | AIGTessa2
Deleted | 59422 | Janine Mullin | 32313082
有可能吗?如果是,你能告诉我怎么做吗?使用条件公式
谢谢。像这样的东西需要稍微调整一下:
Dim shtNew As Worksheet, shtOrg As Worksheet
Set shtOrg = ActiveSheet
Set shtNew = Sheets.Add
With shtOrg.Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:="Deleted"
.SpecialCells(xlCellTypeVisible).Copy shtNew.Cells(1, 1)
.AutoFilter
End With
假设您的工作表1数据占用A到D列,每个行项目都有一个唯一的ID(在B列中),并且您只想从工作表1到工作表2提取“已删除”行项目,那么使用
索引、小行和行的数组公式应足以获取已删除项目的ID,以及一个简单的INDEX+MATCH
组合,用于引用返回的ID的其他列数据
假设我们要在第2页第2行中开始列表,请在单元格B2中复制以下公式:
=iferror(index(sheet1!b:b,small(if(sheet1!a:a="deleted",row(sheet1!a:a)),row(1:1))),"")
返回上述公式时,务必按CONTROL+SHIFT+ENTER
。完成此操作后,现在可以向下拖动公式以返回已删除条目的所有ID。当它开始返回空白值时,意味着已删除条目的所有ID都已返回
接下来,在第2页的A、C和D列中输入以下内容:
=iferror(index(sheet1!a:a,match(b2,sheet1!b:b,0)),"")
应用此选项时,无需使用控件+SHIFT+ENTER
。为此,只需将a:a更改为c:c作为名称,将d:d更改为用户名。同样,这假设第一个ID值位于第2行(单元格B2),从中引用我们的匹配