[英]How to copy to cells from a range if the columns to the right match?
我使用VLOOKUP並以編程方式尋找了解決方案,但找不到。 希望你們能幫上忙。
我有兩個具有相同標題和相似數據的電子表格。 一個是完整的,另一個是不完整的。 完成的電子表格的第一列(我們稱其為“ ID”)混亂了。
我想基於每個(右邊稱為“名稱”)單元格是否匹配,將不完整版本的“ ID”列中的值復制到新版本。
為了明確起見,算法或公式必須瀏覽舊(不完整)版本的“名稱”列,如果在新版本中找到匹配項,則將其復制到左側。
我不能只是按字母順序排序並復制和粘貼,因為完成的工作表中可能有一些重復項。
EDIT: EXAMPLE OF MY DATA:
Sheet1 Sheet 2
ID NAME ID Name Age
112 John 156 Dog 11
113 Bob 1xx Bob 15
156 Dog 1xx Bob 16
1xx John 18
由於ID混亂(因為從Google Fusion Tables導出時,我使用的ID混亂了),因此我需要將舊版本的“ Ids”復制到新文件中。 這只是一個簡單的例子,我有超過20萬行數據。
假設新電子表格被稱為“ New”,舊電子表格被稱為“ Old”,並假設名稱出現在每個電子表格的A列中(從第1行開始),然后在新電子表格的B列中使用以下公式:
= iferror(vlookup(New!A1,Old!$ A:$ A,1,false),“ ?????”)
因此,您的電子表格如下所示:
A B
1 Coke =iferror(vlookup(New!A1,Old!$A:$A,1,false),"?????")
2 Pepsi =iferror(vlookup(New!A2,Old!$A:$A,1,false),"?????")
3 Sprite =iferror(vlookup(New!A3,Old!$A:$A,1,false),"?????")
4 asdfvasdl =iferror(vlookup(New!A4,Old!$A:$A,1,false),"?????")
5 Dr. Pepper =iferror(vlookup(New!A5,Old!$A:$A,1,false),"?????")
它應該顯示如下:
A B
1 Coke Coke
2 Pepsi Pepsi
3 Sprite Sprite
4 asdfvasdl ???????
5 Dr. Pepper Dr. Pepper
假設ID
是在A1上兩片材和所述xx
表示將被替換的ID,請在表2和在A2那里添加新ColumnA:
=IF(ISNUMBER(B2),B2,INDEX(Sheet1!A:A,MATCH(C2,Sheet1!B:B,0)))
復制下來以適合。
第一部分ISNUMBER(B2)
測試數據集中包含聲音和損壞聲音的數字ID。 如果那是數字並且損壞,則可能無法從提供的信息中識別損壞。
因此,如果該測試通過,則接受損壞的工作表(即B2)中的值。
但是,如果測試失敗,則在不完整表(即Row4)中找到相關Name
的位置(對於Row2,相關名稱為Dog
),然后使用INDEX在不完整表中查找與Dog
關聯的值(在其左側) 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.