У меня есть несколько столбцов, и в конце каждого из них есть строки SUM и MEAN. Теперь я хочу проигнорировать некоторые строки, таким образом, =SUM(A1:A15)
если =SUM(A1:A13;A15)
я хочу проигнорировать строку 14. Делать это для каждой формулы — утомительная задача.
Вмой предыдущий вопросЯ узнал, как сделать это для одного столбца. Я бы поместил A1:A15
строку в отдельную ячейку, а затем сослался бы на нее с помощью INDIRECT
. Таким образом я могу изменить одну ячейку и обновить каждую формулу для этого столбца.
Проблема в том, что у меня несколько столбцов, при таком подходе мне пришлось бы обновлять ячейку B1:B15
для каждого столбца. Как упростить этот процесс обновления?
решение1
Вы можете использоватьфункцияOFFSET
сдвинуть весь диапазон на определенную величину. Например, если у вас есть текст ="A1:A15"
в ячейке C1
, вы можете получить диапазон, B1:B15
используя следующую формулу:
=OFFSET(INDIRECT(C1), 0, 1)
Для справки, функция определена в Excel как =OFFSET(reference, rows, columns, [height], [width])
. Чтобы переобучить ширину/высоту исходного диапазона, не указывайте аргументы height
или width
. Также обратите внимание, что аргументы rows
и columns
могут быть положительнымиилиотрицательное (чтобы можно было сдвигать как вверх/вниз, так и влево/вправо).
Еще одно замечание: OFFSET
функция работает сцелые диапазоны, поэтому, если в предыдущем примере вы ввели текст, ="A1:A12,A15"
возвращаемый диапазон после OFFSET
его сдвига вправо на один столбец будет B2:B12,B15
таким, как вы и ожидали.