Вот то, что я считаю объяснением.
Из документации: Аргумент sum_range не обязательно должен быть того же размера и формы, что и аргумент range. Фактические добавляемые ячейки определяются с использованием самой верхней левой ячейки в аргументе sum_range в качестве начальной ячейки, а затем включаются ячейки, которые по размеру и форме соответствуют аргументу диапазона
Ваша формула: =SUMIF(F2:F31,"="&H2,G:G)
, таким образом, оценивается как =SUMIF(F2:F31,"="&H2,G1:G30)
Из-за смещения в диапазонах последний экземпляр range = H2
удаляется. И 34.86-33.67 = 1.19
, которая является последней ячейкой, которая должна быть добавлена.
Другими словами, g1
оценивается по f2
, а g13
оценивается по f14
. Поскольку f14
не содержит 3/2/2020
, 1.19
не добавляется SUMIF
Иногда это полезно. Но здесь, как вы заметили, он имеет нежелательный результат.
Он работает в вашем первом случае, потому что и range
, и sum_range
начинаются в одной строке.
Все, что вам нужно чтобы заставить его работать во втором случае, убедитесь, что оба диапазона начинаются в одной строке.
Например: =SUMIF(F2:F31,"="&H2,G2)
будет работать