そこは厳しい状況ではありません。ここにいくつかの解決策があります...
VBAの場合:
VBは少し新しいとおっしゃっていたので、各行を説明していきました。また、コードはフリーハンドなので、どこかにエラーを残した場合はご容赦ください。
Sub replaceData()
dim i as integer, j as integer 'These are just some variables we'll use later.
dim sheetOne as worksheet, sheetTwo as worksheet, myWb as workbook
dim myData as string, myId as string
set myWB = excel.activeworkbook 'These three lines set your workbook/sheet variables.
set sheetOne = myWB.worksheets("Old Data")
set sheetTwo = myWB.worksheets("New Data")
for i = 1 to sheetTwo.usedrange.rows.count 'This loops through the rows on your second sheet.
myId = sheetTwo.cells(i,1).value 'This assigns the value for your id and the data on your second sheet.
myData = sheetTwo.cells(i,2).value
for j = 1 to sheetOne.usedrange.rows.count 'This loops through the rows on your first sheet.
if sheetOne.cells(j,1).value = myId then 'This checks each row for a matching id value.
sheetOne.cells(j,1).value = myData 'This replaces that id with the data we got from the second sheet.
end if
next j
next i
end sub
Excelの数式を使用する場合:
次の数式を最初のワークシートのセルC1(置き換えるIDのシート)に配置します。**「InsertSheetTwoNameHere」の部分を2番目のシートの名前に置き換える必要があることに注意してください(ただし、これらの一重引用符は削除しないでください)。また、「1000」をシート2の最後に使用された行の番号に置き換える必要があることに注意してください。
= vlookup(A1、'InsertSheetTwoNameHere'!$ A $ 1:$ B $ 1000,2、FALSE)
次に、セルのハンドルをドラッグして、セル自体を(それが何と呼ばれていても)範囲の最後までコピーします。
次に、それらのセルをコピーし、[
値のみ]設定を使用してIDに貼り付けます。
これがお役に立てば幸いです。