2015-11-22 4 views
0

В таблице находятся столбцы от B до Z. Я хочу суммировать столбец, который содержит «Мар-15» в качестве заголовка, если значение столбца A больше или равно «Мар-15».SUMIFS: Как написать имена столбцов в качестве формулы при указании диапазона?

Так что, если у меня есть следующие в Лист1 -

 A  B  C  D  E 
1   Mar-15 Apr-15 May-15 Jun-15 
2 Feb-15 1  2  3  4 
3 Mar-15 100  200  300  400 
4 Apr-15 1000 2000 3000 4000 
5 May-15 10000 20000 30000 40000 

И я следующий в столбцах Y и Z -

Y  Z 
1 Month Value 
2 Mar-15 ? 

Я хочу, чтобы иметь возможность написать формулу в Z2 , который суммирует значения в столбце, который имеет заголовок, равный Y2, и где столбец A больше или равен Y2. Поэтому здесь требуемый ответ для формулы будет , так как Y2 содержит Mar-15.

Чтобы быть более ясным, если У2 содержит Апр-15, то результат в Z2 должен быть

Теперь я имею формулу

=MATCH(Y2,$1:$1,0) 

, который дает мне 2, который это индекс столбца в первой строке, который соответствует значению в Y2.

Затем я изменить его, чтобы получить адрес заголовка -

=ADDRESS(1,MATCH(Y2,$1:$1,0)) 

Это дает мне $ B $ 1. Чтобы получить столбец один, я делаю =LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2), который дает мне $ B

Теперь я хочу сделать SUMIFS столбца, возвращенного этот адрес функции, и указать условие, что столбец А должен быть больше, чем значение в Y2.

=SUMIFS(<something>,A:A,">="&Y2) 

Что должно что-то быть? В зависимости от значения в Y2 столбец, который я хочу суммировать, может быть другим. Так какую формулу я вставляю вместо что-то?

Я попытался LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2):LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2) так LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2) дает мне $ B и я предположил, эта формула даст мне $ B: $ B, но это не работает.

ответ

2

Строка или столбец может быть «сращивания» из прямоугольной матрицы с INDEX function. A , 0, или пустой параметр (например, , ,) используется, чтобы отметить все ячейки в противоположном параметре. В этом случае будет означать все строки в выбранном столбце.

sumif_index

Формула в Z2 может быть один либо из них,

=SUMIF(A:A, ">="&Y2, INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0))) 
=SUMIFS(INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0)),A:A, ">="&Y2) 

Если у вас есть дополнительные значения в У3 и т.д. заполнить вниз по мере необходимости.

+0

Это именно то, что я искал! Я играл с функцией INDEX, но не мог понять, как вы это сделали. Благодаря тонну! Отлично работает :) – user3164272

2

Попробуйте эту формулу

=SUMPRODUCT(--(A2:A200>=Y2),INDEX(B2:E200,0,MATCH(Y2,B1:E1,0))) 

Он использует MATCH, чтобы найти какой столбец смотреть на с расстоянием B2: E200 (вперед 0, означает, что все строки в этой выбранной колонке). Тест A2:A200>=Y2 проверяет первый столбец, как вы указали, - изменяется совпадение с 1 промахом до 0 и SUMPRODUCT, а затем умножает значения 1/09 на выбранные значения столбца, чтобы получить результат.

Если вы хотите дальнейшего чтения см here

+0

Почему SUMPRODUCT вместо SUMIF? – Jeeped

 Смежные вопросы

  • Нет связанных вопросов^_^