我有一个很大的范围(最多 60k 行),我也想应用一个公式。
一个循环会花费太长时间。该公式将适用于该行的信息,因此不会完全相同,但该行将是唯一的变量。
最好的方法是什么?我想我会使用 VBA 而不是 Excel 来确保电子表格不会变得太麻烦。
下面是一个简单的方法来做你想做的事。如果公式更新时间过长,最好使用 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)"