1

Я пытаюсь заполнить ячейки четными ссылками (условие A), но Excel предоставляет мне полное заполнение серии (условие B), когда я перетаскиваю формулу вниз.

Состояние А:

$A$1+A2
$A$1+A4
$A$1+A6
$A$1+A8

Состояние Б:

$A$1+A2
$A$1+A3
$A$1+A4
$A$1+A5

Как я могу заполнить даже ссылки на ячейки?

2 ответа2

1

Функция INDIRECT относится к категории volatile с другими, такими как OFFSET , TODAY и т.д. В этом контексте volatile означает, что формула (ы) будет пересчитываться для каждого цикла вычисления, который испытывает рабочая книга, независимо от того, повлияет ли измененное значение на формулу результат или нет. Функции в энергозависимой категории не имеют большого значения для небольших таблиц или даже для больших таблиц, если расчет прост и число формул, включающих функцию, ограничено. Однако при достаточном количестве формул и зависимых формул на большом рабочем листе в какой-то момент отставание в расчете становится раздражающим.

Если использование INDIRECT отрицательно сказывается на производительности вашей рабочей книги, это энергонезависимое решение.

=SUM(A$1, INDEX(A:A, ROW(1:1)*2))

Поместите в любую ячейку и заполните, чтобы получить эквивалент =A1+A2 , =A1+A4 , =A1+A6 и т.д.

1

Вот способ сделать это, который будет работать независимо от того, где вы разместите свой столбец формул. Скажем, вы начинаете свои формулы в ячейке C3. C3 будет содержать:

=$A$1+A2

Следующая ячейка, C4, будет содержать:

=$A$1+INDIRECT("A"&(ROW()-ROW($C$3))*2)

Установите ссылку $ C $ 3, чтобы она соответствовала местоположению первой формулы. Затем скопируйте формулу столько, сколько вам нужно. Он использует функцию INDIRECT для вычисления второго сложного члена формулы и преобразования его в ссылку на ячейку. Расчет удваивает фактическую разницу строк.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .