簡體   English   中英

在Excel中獲取從1sheet到另一個工作表的所有記錄

[英]Get all the records from 1sheet to another sheet in excel

如果過濾器被“刪除”,我需要獲取所有記錄,並且需要自動將其填充在同一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中“已刪除”的訂單項,然后使用INDEX, SMALL and ROW提取數組公式INDEX, SMALL and ROW應該足以獲取已刪除條目的ID,並為返回到ID的其他列數據提供一個簡單的INDEX + MATCH組合。

假設我們要在工作表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)),"")

應用此功能時無需CONTROL+SHIFT+ENTER 為此,只需將Name的a:a更改為c:c,將用戶名的d:d更改為即可。 同樣,這假定第一個ID值在第2行(單元格B2)中,從中引用了我們的MATCH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM