Извините, если это дублированный вопрос. У меня есть несколько электронных таблиц с большим количеством исходных данных, в которых я обычно использую INDEX+MATCH, чтобы найти исходные данные для соответствующего значения. Как показано на графике здесь, это всего лишь пример.

График:Пример листа

Пример листа здесь:https://www.dropbox.com/s/yixftcr83tkoid2/example_sheet.xlsx?dl=0

Обычно мне нужно видеть только данные некоторых выбранных пользователей за определенный месяц, это можно сделать с помощью INDEX+MATCH(или vlookup), но теперь я хочу добавить сумму для этих выбранных пользовательских данных за определенный месяц. В реальном листе у меня много отобранных пользователей, а также много разных месяцев, с которыми я хочу сравнить, поэтому я хочу избегать повторения СУММЫ J10 снова и снова. Есть ли способ, которым я могу сделать это? (В основном для одной задачи, которая находит значение индекса для пользователя, указанного в I7-I9, а затем суммирует ...)

PS мой фактический список для индекса / соответствия составляет более 5000 строк, поэтому я использую X:X для соответствия.

2 ответа2

0

Если у вас есть несколько ячеек, в которых вы пишете «Пользователи», для которых необходимо указать сумму и месяц, например:

I6    May
I7    User1
I8    User3
I9    User7
I10   Sum  

В J10 вы можете написать следующее:

=SUMIFS(INDIRECT(I6),A:A,I7)+SUMIFS(INDIRECT(I6),A:A,I8)+SUMIFS(INDIRECT(I6),A:A,I9) 

Но сначала определите имя для каждого месяца только один раз:

  • Формулы
  • Определить имя
  • Написать Ян в поле для имени
  • В Относится писать = Лист!$ B:$ B

Повторите то же самое для каждого месяца и измените ссылки на столбцы:

  • Фев = Лист!$ C:$ C
  • Мар = Лист!$ D:$ D
  • Апр = Лист!$ E:$ E
  • Май = лист!$ F:$ F
  • Июнь = лист!$ G:$ G

Теперь, когда вы меняете I6 на другой месяц, он будет автоматически пересчитываться для нового месяца.
Всякий раз, когда вы меняете пользователей в I7-I9, формула будет пересчитываться автоматически.
Indirect оценит значение в I6 для соответствующего столбца с тем же именем диапазона

0
  1. Поместите нужное название месяца в ячейку, как показано в исходной таблице. Пример: May на I3 (измените I3 на более подходящую ячейку)

  2. Измените 3-й параметр вашего INDEX на этот MATCH($I$3, $B$3:$G$3, 0)

В основном он ищет название месяца, указанного в I3 из заголовка таблицы (B3:G3) и возвращает номер столбца. Это должно выглядеть так:

=INDEX($B$4:$G$12, MATCH(I7, $A$4:$A$12, 0), MATCH($I$3, $B$3:$G$3, 0))

Затем вы можете перейти к SUM результата.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .