Вы, вероятно, могли бы сделать это действительно динамичным с VBA, но я думаю, что это просто излишне просто добавлять формулу в ячейку. Что вы можете сделать, это сделать так, чтобы ячейка была пустой до тех пор, пока данные не будут добавлены в соответствующие ячейки, а затем перетащите эту ячейку вниз на сотни или тысячи строк.
Например, =IF(LEN(A1)=0,"",A1+B1)
покажет пустую ячейку, если A1 не содержит данных, но выполнит функцию A1+B1, если это произойдет. Если вы перетащите его ниже вашей последней строки, столбец будет пустым, пока данные не будут добавлены в следующую ячейку в столбце A.
Существует несколько других формул, которые вы можете использовать для проверки используемых ячеек, например =ISBLANK(A1)
ИЛИ =ISTEXT(A1)
зависимости от того, как вы хотите проверить данные. Я думаю, что с функцией LEN проще всего работать. Вы также можете сделать что-то вроде этого =IF(LEN(A1)+LEN(B1)=0,"",A1+B1)
который будет запускать формулу, если в ячейке есть данные, или =IF(OR(LEN(A1)=0,LEN(B1)=0),"",A1+B1)
который будет запускать формулу, только если в обеих ячейках есть данные.
Для большинства формул расширение этого значения на несколько тысяч строк добавляет всего несколько килобайт к размеру файла. Если у вас есть очень длинные формулы или их множество, которые вы перетаскиваете, это может значительно увеличить размер файла.