VBAの新機能です。VBA - インデックス/マッチを使用して複数の条件を使用して複数の列をコピーする
私は2枚あります。最初のものは古くなった情報を持つ古い大きなシートで、もう1つは更新されたデータを持つ最初のもののサブセットを含んでいます。
ここには、各シートの(切り捨てられた)例があります。
**Old Large Sheet**
Year Month Region Data1 Data2 CalculatedData1 CalculatedData2
2016 1 1 X1 Y1 X1 X1/Y1
2016 2 1 X2 Y2 X1+X2 X2/Y2
2016 3 1 X3 Y3 X1+X2+X3 X3/Y3
...
2017 1 1 X13 Y13 X13 X13/Y13
...
2025 12 30 XXX YYY ...
そして新しいシート。
**New Sheet**
Year Month Region Data1 Data2
2017 1 1 X13' Y13'
2017 2 1 X14' Y13'
2017 3 1 X15' Y15'
2017 4 1 X16' Y16'
基本的に、私は3つの第1列のインデックス/一致に基づいて新しいシートから値を持つ古いシートの「データ」の列を交換したいと思います。
Excelでは、これは、特定の期間/領域のフィルタリングと
{=INDEX('NewSheet'!D2:D1000;MATCH($A2&$B2&$C2;_
'NewSheet'!$A$2:$A$1000&$B$2:$B$1000&$C$2:$C$1000;0))}
ようになるデータ式に配列数式を書き込み、各「データ」欄と、各濾過行のためにそれをコピーすることを意味します。
私の質問は、どうすればVBAでこの置換をかなり自動化された方法で行うことができますか?