1

我有一个很大的范围(最多 60k 行),我也想应用一个公式。

一个循环会花费太长时间。该公式将适用于该行的信息,因此不会完全相同,但该行将是唯一的变量。

最好的方法是什么?我想我会使用 VBA 而不是 Excel 来确保电子表格不会变得太麻烦。

4

1 回答 1

1

下面是一个简单的方法来做你想做的事。如果公式更新时间过长,最好使用 VBA 计算结果并将结果输出到范围。

假设您想要=INDEX($M:$M,MATCH(A2,$N:$N,0),0)D2:D60000 行中的公式

一世。打开宏记录器

ii. 启用使用相对引用

在此处输入图像描述

iii. 在单个单元格中输入所需的公式(确保如果向下拖动它将对所有行都正确)

iv. 关闭宏记录器

v. 在 VB 编辑器中找到记录的公式 - 例如

ActiveCell.FormulaR1C1 = "=INDEX(C13,MATCH(RC[-5],C14,0),0)"

六。使用公式将公式应用于所需范围

Sheet1.range("D2:D60000").FormulaR1C1 = "=INDEX(C13,MATCH(RC[-5],C14,0),0)"
于 2013-09-28T14:11:16.913 回答