
В Excel 2007 у меня есть рабочий лист, организованный следующим образом:
A B C
1 x 2 15
2 x 3 45
3 x 4 46
4 x 1 7
5 x 2 85
6 x 1 14
7 x 1 9
8 x 3 36
9 x 1 5
10
11 C Total: 262
12 C Total where B > 1: 227
C11
является обычным SUM
:
=SUM(C$1:C9)
C12
— это функция SUMIF
, которая учитывает значение в столбце только C
в том случае, если значение в B
больше 1:
=SUMIF(B$1:B9, ">1", C$1:C9)
Вот моя проблема: я вставляю строку в row 10
и добавляю дополнительные данные:
9 x 1 5
10 y 1 17
11
12 C Total: 265
13 C Total where B > 1: 227
После ввода данных в C10
Excel автоматически обновляет диапазон в SUM
формуле, нонет:SUMIF
=SUM(C$1:C10)
=SUMIF(B$1:B9, ">1", C$1:C9)
Обычно я обновляю эту таблицу по одной строке за раз, поэтому теряю много времени на корректировку диапазонов в формуле.
Есть ли причина, по которой Excel не обновляет диапазоны автоматически в SUMIF
, как это происходит с SUM
? Можно ли сделать так, чтобы он делал это, или есть способ обойти это поведение?
решение1
То, что вы наблюдали в случае SUM
Excel,автоматическое расширение формулыв действии – немного магии, которую Excel выполняет для корректировки ссылок на формулы при добавлении строк или столбцов. Как SUM
и SUMIF
очень похожи (они разделяют способность ограничивать себя частью диапазона, заполненного данными, например – см.эта статья MSDN), можно было бы справедливо ожидать, что оба будут нацелены на расширение формулы. Факт SUMIF
в том, что это не так, или, по крайней мере, не в Office 2007 и Office:mac 2011, я бы назвал это поведением с ошибками (это может быть и не технически ошибка). Боюсь, что вы ничего не можете сделать, чтобы изменить это.
решение2
Вам необходимо преобразовать данные в таблицу.
На сайте ExcelIsFun есть видео об этомYouTube.