Excel: SUMIF относится к динамическому диапазону - PullRequest
0 голосов
/ 21 сентября 2018

Мне нужно написать формулу SUMIF со ссылкой на динамические столбцы.

Вот пример.

В ячейке G7 мне нужно иметь сумму числа, относящегося к Марку (строка 3) из столбца, хранящегося в ячейке D3 (в данном случае H), в столбец, хранящийся в ячейке D4 (в этом случае L).Результат этой формулы дает число 7 в ячейке G7 и число 8 в G8.

Я хотел бы решить эту проблему, не используя VBA, если это возможно.

Я подумал что-то вроде:

G7 = =SUMIF(F:F;F7;<the value stored in D3>:<the value stored in D4>)

Надеюсь, я хорошо объяснил проблему.

enter image description here

1 Ответ

0 голосов
/ 21 сентября 2018

Простая сумма с двумя INDEX / MATCH сделает это:

=SUM(INDEX($1:$10000,MATCH(F7,F:F,0),CODE(UPPER($D$3))-64):INDEX($1:$4,MATCH(F7,F:F,0),CODE(UPPER($D$4))-64))

На заметку, это будет работать только до столбца Z, если ваши данные пройдут, нам нужно будет найти что-то отличное отCODE(UPPER($D$3))-64 для обозначения экстентов столбца.

Нам нужно использовать INDIRECT, чего следует избегать.Этого следует избегать, потому что он нестабилен.Поэтому, если ваши данные идут за столбцом Z, используйте:

=SUM(INDEX(INDIRECT($D$3&":"&$D$3),MATCH(F7,F:F,0)):INDEX(INDIRECT($D$4&":"&$D$4),MATCH(F7,F:F,0)))

enter image description here

...