簡體   English   中英

如果右邊的列匹配,如何從某個范圍復制到單元格?

[英]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.

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