что вам нужно понять, так это абсолютность абсолютных ссылок, как указано в $
, не абсолютно абсолютная ;-)
теперь, когда этот скороговорка в сторону, позвольте мне объяснить.
абсолютность применяется только при копировании-вставке или заполнении формулы. Вставка строк выше или столбцов слева от диапазона с абсолютной ссылкой приведет к" сдвигу " адреса диапазона так, что data диапазон указывает на остатки тот же.
кроме того, вставка строк или столбцов в средний диапазоне позволит расширить его, чтобы охватить новые строки/столбцы. Таким образом, чтобы "добавить" строку данных в диапазон (таблицу), нужно вставить ее после первая строка данных.
самый простой способ добавления строки данных выше текущий диапазон данных должен всегда иметь строку заголовка и включать строку заголовка в фактический диапазон. Это именно то решение, которое предлагает кибернетический.nomad in комментарий.
но, осталась еще одна проблема-добавление строки данных после end таблицы. Просто введите новые данные в строку после последней строки данных не будет работать. Также не будет вставка строки до строки после последней строки.
самое простое решение для этого-использовать специальную" последнюю " строку, Включить эту строку в диапазон данных, и всегда добавляйте новые строки, вставляя до эта специальная строка.
Я обычно уменьшаю высоту строки и заполняю ячейки соответствующим цветом:
для вашего примера, полная" простейшая " формула будет таким образом:
=SUMIF(JUN!$G:$G1,"Utilities",JUN!$H:$H1)
Другим способом достижения той же цели является использование динамической формулы, которая автоматически подстраивается под объем данных в таблице. Там несколько различных вариаций в зависимости от конкретных обстоятельств, а именно то, что будет можно делать на стол.
если, как это обычно бывает (например, ваш пример), таблица начинается в верхней части листа, имеет один заголовок строки, а данные непрерывны без пробелов, простая динамическая формула будет:
=SUMIF(INDEX(JUN!$G:$G,2):INDEX(JUN!$G:$G,COUNTA(JUN!$G:$G)),"Utilities",INDEX(JUN!$H:$H,2):INDEX(JUN!$H:$H,COUNTA(JUN!$G:$G)))
Это лучшее решение, чем использование INDIRECT()
as
- она является энергонезависимой, а следовательно, лист вычисляет быстрее, и
- он не сломается, если вставить столбцы слева от таблицы.
динамическая формула техника может быть дополнительно улучшена с помощью его в Именованные Формулы.
Конечно, the лучшие решение преобразовать таблицу в соответствующую таблицу, и использовать структурированные ссылки.