数式も適用したい広い範囲 (最大 60k 行) があります。
ループには時間がかかりすぎます。式は行の情報に適用されるため、まったく同じではありませんが、行が唯一の変数になります。
これを行う最善の方法は何ですか?スプレッドシートが煩雑にならないように、Excel ではなく VBA を使用することにしました。
以下は、あなたが望むことを行う簡単な方法です。式の更新に時間がかかりすぎる場合は、VBA を使用して結果を計算し、結果を範囲に出力する方がよい場合があります。
=INDEX($M:$M,MATCH(A2,$N:$N,0),0)
行 D2:D60000に数式が必要であるとします。
私。マクロレコーダーをオンにする
ii. 相対参照の使用を有効にする
iii. 1 つのセルに必要な数式を入力します (下にドラッグすると、すべての行で正しいことを確認してください)。
iv。マクロレコーダーをオフにする
v. VB エディタで、記録された数式を見つけます。
ActiveCell.FormulaR1C1 = "=INDEX(C13,MATCH(RC[-5],C14,0),0)"
vi. を使用して、式を必要な範囲に適用します
Sheet1.range("D2:D60000").FormulaR1C1 = "=INDEX(C13,MATCH(RC[-5],C14,0),0)"