
Суммирование нескольких листов Excel условно на основе критериев
Мне нужна помощь, пожалуйста...
У меня есть таблица на листе SheetA со строками, обозначенными как sheet1...sheetx в столбце A. В столбце B у меня есть «x» или пробел рядом с каждой строкой.
В ЛистеA
Sheet1 x
Sheet2
Sheet3 x
Sheet4 x
Sheet5
и т. д...
Мне нужно просуммировать ячейку (например, B10) из каждого листа, обозначенного "x". Так что в моем примере мне нужно сложить Лист1!B10+Лист3!B10+Лист4!B10+...
Я экспериментировал с Indirect, чтобы извлечь имя справочного листа из столбца A, но не могу понять, как проверить столбец B на наличие «x», а затем добавить ту же ячейку только из тех листов, которые идентифицированы.
Я, конечно, немного упростил.
Любая помощь будет просто фантастической!
решение1
С именами листов в диапазоне A1:A5, маркерами (например, «x») в диапазоне B1:B5 и текстовой строкой, представляющей выбор ячейки для суммирования (например, «B10») в диапазоне D1:
=SUMPRODUCT(0+(B1:B5="x"),N(INDIRECT("'"&A1:A5&"'!"&D1)))
С уважением
решение2
Может быть, это не совсем то, что вы ищете, но один из вариантов — перетащить значения в главный лист и суммировать их там. Я имею в виду, что, скажем, ваш главный лист выглядит так:
A B
1 Sheet1 x
2 Sheet2
3 Sheet3 x
В C1 поместите:
=IF(B1="x",INDIRECT(A1&"!B10"),"")
и заполните вниз. Это перенесет значения в ваш главный лист, и вы сможете их суммировать.