
我正在嘗試使用另一張紙上的匹配數據從一張紙中提取一些數據。我需要一個公式來將第二張工作表上的姓名資料與第二張工作表中的姓名列進行比較,並提取該行姓名列中包含相同文字的每一行資訊。
Sheet1 是一個包含多個欄位的表。 Sheet2 是一個名稱清單。 Sheet3 是輸出表。
Sheet1 看起來像這樣,但有更多列。
名稱 |參考|地址 |日期
喬 123 格林巷 24.03.2020
戴夫 567 藍街 20.03.2020
格蕾絲 245 紅骨 21.03.202
傑瑞 875 黃色大道 22.03.2020
Sheet2 只是一個名稱列表,其中一些名稱在sheet1 上。
姓名
喬
本
戴夫
尤里
我想做的是讓工作表 3 輸出表中每一行的名稱與工作表 2 上的名稱相符。因此,根據我之前給出的示例,我期望的結果是:
名稱 |參考號
喬123
戴夫 567
(假設我只想要這兩個訊息)。
我最好的猜測是它是某種VLOOKUP 或INDEX 函數,但我以前沒有在Excel 中使用過這些功能,而且我找不到足夠接近我的問題的現有答案,我可以用我有限的技能重新調整用途。
第一張表包含大約 2500 個條目的表。我想要與第二張表進行比較的列是 F,它在表中的標題為“名稱”。
第二張表在 M 列中包含簡單的姓名文字清單。
第三張紙是空白的,我想在其中輸出結果。
如果不可能只從表中提取某些位,那麼提取整行就不會是一個大問題。
答案1
假設 Sheet1 的 Table1 中的名稱是唯一的,那麼您可以在 Sheet3 上填入一列名稱,
=IFERROR(INDEX(Sheet2!M:M, AGGREGATE(15, 7, ROW($2:$999)/COUNTIF(Table1[Name], Sheet2!M$2:M$999), ROW(1:1))), "")
其他資訊列可以透過簡單的 INDEX/MATCH 對從 Sheet1 的 Table1 中檢索。如果您選擇帶有附加索引/匹配的表列,則查找將根據 Sheet3 中的標題文字進行動態查找。
=INDEX(INDEX(Table1, 0, MATCH(B$1, Table1[#Headers], 0)), MATCH($A2, INDEX(Table1, 0, MATCH($A$1, Table1[#Headers], 0)), 0))