Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在excel中将所有记录从1张工作表移到另一张工作表_Excel_Excel Formula_Excel 2010_Excel 2007 - Fatal编程技术网

在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

如果过滤器被“删除”,我需要获取所有记录,并且我需要自动将其填充到同一excel中的另一个工作表中。比如说,

第1页:

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),从中引用我们的
匹配