1

数式も適用したい広い範囲 (最大 60k 行) があります。

ループには時間がかかりすぎます。式は行の情報に適用されるため、まったく同じではありませんが、行が唯一の変数になります。

これを行う最善の方法は何ですか?スプレッドシートが煩雑にならないように、Excel ではなく VBA を使用することにしました。

4

1 に答える 1

1

以下は、あなたが望むことを行う簡単な方法です。式の更新に時間がかかりすぎる場合は、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)"
于 2013-09-28T14:11:16.913 に答える