Использование листов в excel в расчете

Формулы могут работать с ячейками из других листов. Вам просто нужно указать перед ссылкой на ячейку имя листа и восклицательный знак. Например, следующая формула добавляет 12 к значению в ячейке С1, которая находится на листе Лист2: =Лист2!С1+12.

Что делать, если вам нужно вычислить сумму всех значений в С1, начиная с листа Лист2 и заканчивая листом Лист6? Следующая формула решает эту задачу: =СУММ(Лист2:Лист6!C1). В данном случае двоеточие разделяет название первого и последнего листов.

Для создания такой формулы выполните приведенные ниже действия.

  1. Активизируйте ячейку, которая будет содержать формулу, и наберите =СУММ(.
  2. Щелкните на вкладке первого листа (в нашем случае это Лист2) и выберите ячейку С1.
  3. Нажмите Shift и щелкните на вкладке последнего листа (в нашем случае это Лист6).
  4. Нажмите Enter, и формула будет введена в ячейку.

В шаге 2 вы можете выбрать диапазон, а не одну-единствениую ячейку. Например, эта формула возвращает сумму C1:F12 для всех листов от Лист2 до Лист6: =СУММ(Лист2:Лист6!С1:Р12).

Теперь я покажу вам интересный прием, который узнал при прочтении новостных конференций Excel и на обучение в Минске. Если вы хотите просуммировать одну и ту же ячейку со всех листов, кроме текущего, просто введите формулу наподобие этой: =СУММ('*'!C1). Звездочка служит подстановочным символом, который интерпретируется как «все листы, кроме этого одного». Когда вы нажмете клавишу Enter после ввода этой формулы, Excel преобразует формулу, чтобы она использовала фактические имена листов. Это работает, даже если активный лист находится где-нибудь в середине, между другими листами. Например, если книга состоит из шести листов и вы введете приведенную выше формулу в ячейку листа Лист3, Excel создаст следующую формулу: =СУММ(Лист1:Лист2!С1;Лист4:Лист6!C1).

Но это еще не все. Введите следующую формулу для нахождения суммы ячеек С1 во всех листах, которые начинаются со слова Регион: =СУММ('Регион*"!C1). Excel может преобразовать данную формулу во что-то наподобие этого: =СУММ(Регион1:Регион4!C1).

Вы также можете использовать подстановочный знак ? — он указывает на любой отдельный символ. Например, при вводе следующей формулы Excel создаст формулу, которая просуммирует значения, начиная с листа Лист1 и заканчивая листом Лист9 (названия, которые содержат одну цифру): =СУММ(‘Лист?’!C1). Этот прием не ограничивается функцией СУММ. Он работает и с другими функциями, такими как СРЗНАЧ, МИН, МАКС.

Формулы могут работать с ячейками из других листов. Вам просто нужно указать перед ссылкой на ячейку имя листа и восклицательный знак. Например, следующая формула добавляет 12 к значению в ячейке С1, которая находится на листе Лист2: =Лист2!С1+12.

Что делать, если вам нужно вычислить сумму всех значений в С1, начиная с листа Лист2 и заканчивая листом Лист6? Следующая формула решает эту задачу: =СУММ(Лист2:Лист6!C1). В данном случае двоеточие разделяет название первого и последнего листов.

Для создания такой формулы выполните приведенные ниже действия.

Активизируйте ячейку, которая будет содержать формулу, и наберите =СУММ(.

Щелкните на вкладке первого листа (в нашем случае это Лист2) и выберите ячейку С1.

Нажмите Shift и щелкните на вкладке последнего листа (в нашем случае это Лист6).

Нажмите Enter, и формула будет введена в ячейку.

В шаге 2 вы можете выбрать диапазон, а не одну-единствениую ячейку. Например, эта формула возвращает сумму C1:F12 для всех листов от Лист2 до Лист6: =СУММ(Лист2:Лист6!С1:Р12).

Теперь я покажу вам интересный прием, который узнал при прочтении новостных конференций Excel и на обучение в Минске. Если вы хотите просуммировать одну и ту же ячейку со всех листов, кроме текущего, просто введите формулу наподобие этой: =СУММ(‘*’!C1). Звездочка служит подстановочным символом, который интерпретируется как «все листы, кроме этого одного». Когда вы нажмете клавишу Enter после ввода этой формулы, Excel преобразует формулу, чтобы она использовала фактические имена листов. Это работает, даже если активный лист находится где-нибудь в середине, между другими листами. Например, если книга состоит из шести листов и вы введете приведенную выше формулу в ячейку листа Лист3, Excel создаст следующую формулу: =СУММ(Лист1:Лист2!С1;Лист4:Лист6!C1).

Но это еще не все. Введите следующую формулу для нахождения суммы ячеек С1 во всех листах, которые начинаются со слова Регион: =СУММ(‘Регион*»!C1). Excel может преобразовать данную формулу во что-то наподобие этого: =СУММ(Регион1:Регион4!C1).

Вы также можете использовать подстановочный знак ? — он указывает на любой отдельный символ. Например, при вводе следующей формулы Excel создаст формулу, которая просуммирует значения, начиная с листа Лист1 и заканчивая листом Лист9 (названия, которые содержат одну цифру): =СУММ(‘Лист?’!C1). Этот прием не ограничивается функцией СУММ. Он работает и с другими функциями, такими как СРЗНАЧ, МИН, МАКС.

Функция ЛИСТ предназначена для возвращения номера конкретного листа с промежутком, который открывает доступ ко всей рабочей книге в MS Excel. Функция ЛИСТЫ предоставляет пользователю информацию о количестве листов, содержащихся в рабочей книге.

Предположим у нас имеется фирма DecArt в которой работают сотрудники и им ежемесячно начисляется зарплата. У данной фирмы имеются сведения о среднемесячной зарплате в Excel, а данные по ней размещены на разных листах: на листе 1 размещены данные о зарплате, на листе 2 премия в процентах. Нам необходимо вычислить размер премии в рублях, при том чтобы данные эти были размещены на втором листе.

Для начала рассмотрим пример работы с листами в формулах Excel. Пример 1:

  1. Создадим на листе 1 рабочей книги табличного процессора Excel таблицу, как показано на рисунке. Сведения о среднемесячной заработной плате:
  2. Далее на листе 2 рабочей книги подготовим область для размещения нашего результата — размера нашей премии в рублях, как показано на рисунке:
  3. Далее нам необходимо будет ввести в ячейку В2 формулу, изображенную на рисунке ниже:

Ввод данной формулы происходил следующим образом: для начала в ячейке В2 мы установили знак «=», затем кликнули на «Лист1» в нижнем левом углу рабочей книги и перешли на ячейку C3 на листе 1, далее ввели операцию умножения и перешли вновь на «Лист2» для того чтобы добавить процент.

Таким образом мы получили при расчете премии каждого сотрудника, причем исходные данные находились на одном листе, а расчет был произведен на другом листе. Данная формула окажется весьма полезной при работе с более длинными массивами данных в крупных организациях.

Функция ЛИСТЫ для подсчета количества листов в рабочей книге

Рассмотрим теперь пример работы функции ЛИСТЫ. Довольно часто бывает так, что в рабочей книге Excel расположено слишком много листов. Выяснить их точное количество визуально не представляется возможным, именно с этой целью и создана функция ЛИСТЫ.

В данной функции всего 1 аргумент – «Ссылка» да и то необязательный для заполнения. Если его не заполнять тогда функция возвращает общее количество листов, созданных в текущей рабочей книге файла Excel. При необходимости можно заполнить аргумент. Для этого в нем необходимо указать ссылку на рабочую книгу, в которой необходимо подсчитать общее количество листов, созданных в ней.

Пример2. Предположим у нас имеется фирма по производству мягкой мебели, и у нее есть множество документов, которые содержатся в рабочей книге Excel. Нам необходимо вычислить точное число этих документов, так как каждый из них имеет свое название, то для того чтобы визуально вычислить их количество потребуется время.

На рисунке ниже показано примерное количество листов:

Чтобы организовать подсчет всех листов, необходимо воспользоваться функцией ЛИСТЫ. Просто ставим знак равенства «=» и вписываем функцию, не заполняя ее аргументов в скобках. Вызов данной функции показан ниже на рисунке:

В результате получим следующее значение: 12 листов.

Таким образом мы узнали, что в нашей фирме имеется 12 документов, содержащихся в рабочей книге Excel. Этот простой пример наглядно иллюстрирует работу функции ЛИСТЫ. Данная функция может стать полезной для руководителей, офисных сотрудников, менеджеров по продажам.

Ссылки на другие листы в шаблонах документов

Пример 3. Имеются данные о расходах на банкет компании занимающейся выездным обслуживанием. Необходимо произвести расчет общей стоимости банкета, а также общий выход порций блюд, и вычислить общее количество листов в документе.

  1. Создадим таблицу «Банкетное меню», общий вид которой представлен на рисунке ниже:
  2. Аналогичным образом создадим таблицы на разных листах «Общая стоимость» и «Общий выход»:
  3. При помощи формулы со ссылками на другие листы произведем расчет общей стоимости банкетного меню:
  4. Перейдем на лист «Общий выход» и путем умножения ячеек веса одной порции, находящегося на листе 2 и общего количества, находящегося на листе 1 произведем расчет общего выхода:

Читайте также: Примеры использования функций ЛИСТ и ЛИСТЫ в формулах Excel.

В результате у нас получился простейший шаблон для подсчета расходов на 1 банкет.

Один из читателей нашего сайта SirExcel задал вопрос, который может встречаться очень часто. Вопрос заключался в следующем «Как сделать так, чтобы на одном листе показывалась информация из определенной ячейки к примеру $A$1 но с каждого листа из книги? Листов очень много надо сделать сводный список содержимого определенной ячейки со всех листов.»

Я как раз собирался написать о том, как работает функция ДВССЫЛ, почему бы не рассмотреть ее именно на этом примере.

Итак, мы имеем файл Excel, в котором много листов. Давайте рассмотрим простой пример, где названия листов у нас не менялись. То есть у нас есть Лист1, Лист2, Лист3 и так далее.

Допустим, что на каждом листе (Лист1-Лист5) у нас есть данные по выручке 5 различных магазинов в виде одинаковых таблиц данных.

На листе 6 есть результирующая таблица, где нам необходимо заполнить ее данными, взяв их со всех листов.

Таким образом, чтобы заполнить данные за январь нам необходимо взять данные по выручке магазинов, находящихся в ячейке B2, но на 5 различных листов.

Конечно, в нашем примере это можно было бы сделать в ручную, указав просто ссылки на соответствующие значения, но если листов очень много, или данных очень много, то вручную это сделать будет очень затруднительно.

Существует различные способы решить данную задачу, например, с помощью простенького макроса, который можно записать макрорекодером. Ну а мы с вами для решения задачи будет использовать функцию ДВССЫЛ.

ДВССЫЛ – функция, которая возвращает ссылку заданную текстовой строкой.

Чтобы понять принцип действия данной функцию, давайте рассмотрим такой пример.

Посмотрите на рисунок ниже. В ячейке А1 написан текст D4, а в самой ячейке D4 указано число 9999. Если мы напишем формулу ДВССЫЛ(A1), то в результате получим число 9999. То же самое мы получим если напишем формулу так: 
=ДВССЫЛ("D4") 
То есть мы написали текстом адрес ячейки D4 и функция ДВССЫЛ вернула нам то значение, которое находится по данному адресу (D4).

Надеюсь, все стало более понятным. Теперь давайте рассмотрим на нашем примере. Чтобы заполнить данные за январь с разных листов нам необходимо прописать следующие ссылки на ячейки.

=Лист1!B2 (Выручка за январь магазина 1)

=Лист2! В2 (Выручка за январь магазина 2) и т.д. 

Но сложность заключается в том, что если ячейку просто протянуть вниз, то Лист1 не будет меняться на Лист2 и так далее.

Если мы пропишем формулу 

ДВCСЫЛ("Лист1!B2"), ДВCСЫЛ("Лист2!B2") и так далее, то функция будет возвращать нам то же самое, но это так же не решает нашу проблему, ведь «Лист1!B2» прописан обычным текстом и так же не будет изменяться при протягивании.

Для решения нашей задачи мы разделим текст «Лист1!B2» на две части (отдельно «Лист1» и отдельно «!B2» — обратите внимание на восклицательный знак во второй части текста) и потом их склеим. Текст Лист1, Лист2 и так далее мы пропишем напротив соответствующих магазинов, при этом написав Лист1, мы сможем просто протянуть ячейку вниз и автоматически получить список Лист1, Лист2 и так далее.

Теперь сцепим этот текст внутри функции ДВССЫЛ с помощью знака & и получим формулу, которая будет автоматически протягиваться и при этом будут подтягиваться данные из одной и той же ячейки, но разных листов.

=ДВССЫЛ(A2&"!B2")

Итоговая формула выглядит именно так, но я специально расписал с самого начала по шагам, чтобы было понятно из чего состоит данная формула. В принципе, этого уже достаточно, чтобы за короткий срок решить задачу, указанную в начале статьи. Чтобы заполнить данные за февраль, нам необходимо в ячейке D2 написать такую же формулу, но поменять текст «!B2» на «!B3» 

=ДВССЫЛ(A2&"!B3") и протянуть вниз, аналогично за март.

Но никто нам не мешает немного усложнить формулу и заполнить ее автоматически, протянув формулу вниз, а затем вправо. Тут я не буду подробно описывать, но если вы разобрались с предыдущим примером, то легко поймете и данный.

Итак, мы решили задачу, как быстро заполнить данные за определенный месяц, но нам необходимо заполнить данные за остальные месяца. Мы знаем, что данные за Январь соответствуют ячейке B2, февраль — B3, Март — B4. То есть буква «B» остается неизменной, меняется лишь цифра. Зная это мы просто разобьем  текст внутри ссылки ДВССЫЛ не на 2 части, а на три. Добавим дополнительно строку над таблицей и напишем сверху цифры соответствующие ячейки месяца. Пропишем формулу.

=ДВССЫЛ(A3& «!B»&C1), где A3 — это текст «Лист1», «!B» — это неизменный текст и С1 — это цифра 2. Все это объединено с помощью знака & в общий текст «Лист1!B2». Нам также потребуется закрепить столбец A (с помощью знака $), чтобы он не менялся при протягивании формулы вправо и строку 1, чтобы она не менялась при протягивании формулы вниз. Мы получаем следующую итоговую формулу.

=ДВССЫЛ($A3&"!B"&C$1)
которую можно протянуть вправо и вниз.

Заметки по теме:

  • Если бы листы назывались у нас Магазин 1, Магазин 2 и так далее, то дополнительный столбец со словами Лист1, Лист2 и так далее нам бы не потребовался.
  • Функцию ДВССЫЛ используют часто тогда, когда требуется изменить ссылку на ячейку в формуле, не изменяя саму формулу.

Если вам понравилась статья, пожалуйста, нажмите +1 и «Мне нравится». Так же подписывайтесь на нашу рассылку или вступайте в нашу группу ВКонтакте, чтобы не пропустить наши следующие уроки по Excel

SirExcel — безграничные возможности Excel

Как посчитать сумму с разных листов в Excel?

Изучим возможности для суммирования данных из ячеек с разных листов книги с помощью использования трехмерных ссылок в Excel.

Приветствую всех, уважаемые читатели блога TutorExcel.Ru.

Практически каждый из нас при работе в Excel хотя бы раз наверняка применял операцию сложения с помощью оператора плюс «+» и различных функций (СУММ, СУММЕСЛИ, СУММЕСЛИМН и т.п.).

В связи с этим часто можно столкнуться с задачей, когда нужно просуммировать данные из одних и тех же ячеек с нескольких листов. К примеру, подвести общий итог для всех филиалов или отделов компании (коих может быть очень много), посчитать сумму за год по всем месяцам, где каждая часть с данными расположена на отдельном листе книги.

К решению этой задачи можно подходить по-разному, рассмотрим несколько вариантов как мы это можно сделать — от медленного и ручного до быстрого и полуавтоматического.

Как сложить листы в Excel?

Вариант 1. Ручной ввод.

Начнем с одной стороны с медленного варианта, но с другой стороны с более понятного и наглядного способа.

Для примера возьмем простую задачу и сложим данные ячейки A1 с трех листов: Лист1, Лист2 и Лист3. Для этого поочередно в формулу записываем ссылки на ячейку с разных листов и знаки сложения «+»:

Это совсем простой вариант. Еще один вариант записи можно аналогично реализовать с помощью функции СУММ:

В реализуемых нами вариантах в общем и целом все хорошо, за исключением большой ручной работы при прощелкивании всех нужных для суммирования ячеек.

Как это часто бывает если нужно посчитать сумму для двух или трех листов, то вышеописанный способ отлично подойдет. Но если усложнить задачу и представить подобный пример не для 3, а, например, для 30 листов, то процесс уже несколько затянется.

Поэтому перейдем к чуть более сложному на первый взгляд варианту, но гораздо более быстрому с точки зрения трудовых и временных затрат.

Вариант 2. Полуавтоматический ввод.

Повторно воспользуемся функцией СУММ, но в этот раз запишем ссылку на листы через двоеточие:

В этом случае общее количество суммируемых листов для нас уже не так важно, главное знать только начальный и конечный.

Поэтому запись для сложения 10 или 20 листов будет примерно такой же — ИмяПервогоЛиста:ИмяПоследнегоЛиста!Диапазон.

Чуть более подробно остановимся на логике формирования формулы. Напомню, что оператор двоеточие в Excel служит для объединения диапазона, который образует ссылку на все ячейки находящиеся между первой и последней (включая сами ячейки). Например, диапазон A1:A10 обозначает двумерную ссылку, в которую попадают все ячейки между первой (A1) и последней (A10).

При добавлении еще одной размерности в виде листов мы получаем так называемую трехмерную ссылку. К примеру, диапазон Лист1:Лист3!A1:A10 содержит все ячейки от Лист1!A1:A10 до Лист3!A1:A10.

Таким образом в нашем примере суммируются все ячейки A1 от Лист1 до Лист3. Но при применении такого способа суммирования есть некоторые тонкости, которые желательно нужно помнить, чтобы случайно не допустить ошибку, давайте подробнее про них поговорим.

Особенности трехмерных ссылок

Как мы уже говорили ранее, при применении трехмерных ссылок нужен только первый и последний лист, промежуточные листы между ними в записи никак не участвуют. Отсюда и возникают следующие тонкости:

  • Добавление/копирование листа. Если добавить новый лист или скопировать уже существующий и вставить его между первым и последним (используемых в формуле), то он автоматически будет участвовать в расчете.
    Т.е. сама формула не поменяется, а значение вполне может измениться, если на новом листе в тех же ячейках содержатся данные;
  • Удаление листа. Аналогичный случай примеру выше. При удалении листа формула не изменится, а расчет поменяется в зависимости от удаленных данных (если удалить начальный или конечный листы, то формула изменится, промежуточный — формула останется неизменной);
  • Перемещение листа. При перемещении листа в другое место книги формула не изменится, но поменяется набор листов между ними (либо добавятся новые, либо удалятся текущие).

Если описание покажется несколько сложным, в этом случае попробуйте поэкспериментировать с формулой и перестановкой листов на конкретном примере и поймите по какому принципу она работает.

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

Спасибо за внимание!
Если у вас есть мысли или вопросы по теме статьи — пишите и спрашивайте в комментариях.

Microsoft Excel

трюки • приёмы • решения

Как суммировать данные с разных листов книг Excel

Формулы могут работать с ячейками из других листов. Вам просто нужно указать перед ссылкой на ячейку имя листа и восклицательный знак. Например, следующая формула добавляет 12 к значению в ячейке С1 , которая находится на листе Лист2: =Лист2!С1+12 .

Что делать, если вам нужно вычислить сумму всех значений в С1, начиная с листа Лист2 и заканчивая листом Лист6? Следующая формула решает эту задачу: =СУММ(Лист2:Лист6!C1) . В данном случае двоеточие разделяет название первого и последнего листов.

Для создания такой формулы выполните приведенные ниже действия.

  1. Активизируйте ячейку, которая будет содержать формулу, и наберите =СУММ( .
  2. Щелкните на вкладке первого листа (в нашем случае это Лист2) и выберите ячейку С1 .
  3. Нажмите Shift и щелкните на вкладке последнего листа (в нашем случае это Лист6).
  4. Нажмите Enter, и формула будет введена в ячейку.

В шаге 2 вы можете выбрать диапазон, а не одну-единствениую ячейку. Например, эта формула возвращает сумму C1:F12 для всех листов от Лист2 до Лист6: =СУММ(Лист2:Лист6!С1:Р12) .

Теперь я покажу вам интересный прием, который узнал при прочтении новостных конференций Excel и на обучение в Минске. Если вы хотите просуммировать одну и ту же ячейку со всех листов, кроме текущего, просто введите формулу наподобие этой: =СУММ(‘*’!C1) . Звездочка служит подстановочным символом, который интерпретируется как «все листы, кроме этого одного». Когда вы нажмете клавишу Enter после ввода этой формулы, Excel преобразует формулу, чтобы она использовала фактические имена листов. Это работает, даже если активный лист находится где-нибудь в середине, между другими листами. Например, если книга состоит из шести листов и вы введете приведенную выше формулу в ячейку листа Лист3, Excel создаст следующую формулу: =СУММ(Лист1:Лист2!С1;Лист4:Лист6!C1) .

Но это еще не все. Введите следующую формулу для нахождения суммы ячеек С1 во всех листах, которые начинаются со слова Регион: =СУММ(‘Регион*»!C1) . Excel может преобразовать данную формулу во что-то наподобие этого: =СУММ(Регион1:Регион4!C1) .

Вы также можете использовать подстановочный знак ? — он указывает на любой отдельный символ. Например, при вводе следующей формулы Excel создаст формулу, которая просуммирует значения, начиная с листа Лист1 и заканчивая листом Лист9 (названия, которые содержат одну цифру): =СУММ(‘Лист?’!C1). Этот прием не ограничивается функцией СУММ. Он работает и с другими функциями, такими как СРЗНАЧ, МИН, МАКС.

Сумма одной и той же ячейки на нескольких листах

Задача: у вас есть 12 листов с одинаковой структурой данных, по одному на каждый месяц. Вы бы хотели просуммировать одну и ту же ячейку на каждом листе. Есть ли способ лучше, чем использование =Янв!B4+Фев!B4+Мар!B4+…+Дек!B4?

Решение: вы можете использовать «3D-формулу», например, =СУММ(Янв:Дек!B4), как показано на рис. 1.

Рис. 1. 3D-формулу для суммирования одной и той же ячейки на нескольких листах

Скачать заметку в формате Word или pdf, примеры в формате Excel

Если в имени первого и/или последнего листа содержится пробел, используйте апострофы вокруг пары имен листов: =СУММ( ‘ Янв 2009:Дек ‘ !B5), как показано на рис. 2. Любопытно, что, если пробел есть в имени любого промежуточного листа, апострофы не требуются. Более того, если вы введете апострофы, когда они не требуются, Excel автоматически их уберет.

Рис. 2. Используйте апострофы, если в имени листа есть пробел

Вы можете легко скопировать эту формулу в другие ячейки на листе Итоги.

Подводный камень: не размещайте сводный лист между листами Янв и Дек. Это приведет к циклической ссылке (подробнее о борьбе с последней см. Как найти циклическую ссылку).

Дополнительные сведения: можно создать именованный диапазон, который ссылается на 3D-область. Для этого перейдите к ячейке B4 на лист Янв. Пройдите по меню ФОРМУЛА –> Присвоить имя. В открывшемся окне Создание имени (рис. 3) перейдите в поле Диапазон путем многократного нажатия клавиши Табуляция. При этом всё содержимое поле Диапазон становится выделенным. Удерживая нажатой клавишу Shift кликните на лист Дек. Обратите внимание, что на рис. 3 все листы от Янв по Дек выделены. Нажмите Ok.

Рис. 3. Присвоение имени 3D-диапазону

После этого формулы приобретают «человеческий» вид. Например, =СУММ(Объем_продаж).

Как просуммировать данные с нескольких листов, в том числе по условию

В данной статье я хочу рассказать, как можно просуммировать данные на одном листе из других листов. К примеру: на листах Январь, Февраль и Март расположены данные по продажам, а под ними итог. Допустим, это будет ячейка D7. Если структура всех таблиц одинакова (одинаковое кол-во строк, товар может различаться) и Итог расположен во всех таблицах в одной ячейке, то можно воспользоваться простой формулой:
=СУММ(Январь:Март!D7)

Подобная ссылка на диапазоны называется трехмерной ссылкой. Если между листом Январь и Март добавить еще какой-нибудь лист — то данные с него будут также автоматически просуммированы. Поэтому необходимо следить, чтобы указывались только нужные листы. Минус в том, что таким образом можно просуммировать данные только ячеек листа, расположенных в одном и том же диапазоне(т.е. со всех листов будет взята сумма всех ячеек конкретного диапазона). Так же, трехмерные ссылки не могут быть созданы при помощи ДВССЫЛ(INDIRECT) для динамического указания имен первого и последнего листа.

Но, если необходимо будет просуммировать данные по отдельным товарам со всех листов, а товар расположен в хаотичном порядке, разном для каждого листа и количество строк различается, то здесь такая формула не подойдет. Можно воспользоваться формулой массива, которая несколько неудобна именно в таком виде:
=СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ(<«Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь»>&»!B3:B100″); B2 ;ДВССЫЛ(<«Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь»>&»!C3:C100″)))

«Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь» — имена листов, с которых происходит суммирование. Не буду останавливаться подробно на всех вложенных функциях. Про СУММЕСЛИ можно прочитать в этой статье. ДВССЫЛ используется для создания ссылки на диапазон, состоящей из имени листа и адреса ячеек: Январь!B3:B100, Февраль!B3:B100, Март!B3:B100, Апрель!B3:B100, Май!B3:B100, Июнь!B3:B100 . Т.е. мы в формуле переибраем все указанные листы и диапазоны в них.

Важно: если в имени листа встречается пробел, либо иной знак препинания, то имя листа необходимо заключать в апострофы: «‘Январь 2014′»:»‘Февраль 2014′»:»Март»:»Апрель»:»Май»:»Июнь»
либо ставить апострофы заранее для всех листов:
ДВССЫЛ(» ‘ «&<«Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь»>&» ‘ !C3:C100″)

B3:B100 — диапазон с критериями(при необходимости указать больше строк).
C3:C100 — диапазон суммирования(при необходимости указать больше строк).

В чем главное неудобство — необходимо так или иначе указывать листы, с которых суммировать. Это очень неудобно, если листов много. Во вложении ниже эта формула представлена в двух вариантах: как выше и с использованием дополнительного столбца для перечисления листов (формула в данном случае получается более универсальной и короткой).
Скачать пример суммирования с листов формулой

Tips_All_SumIf_AllSheets_Formula.xls (67,5 KiB, 7 735 скачиваний)

Но в приложенном примере тоже стоит учитывать один момент: при ссылке на диапазон с именами листов, в этом диапазоне не должно быть:
1. Пустых ячеек
2. Имен листов, которые заведомо отсутствуют в книге
При несоблюдении этих правил формула вернет ошибку #ССЫЛКА (#REF!)

Возможно, есть и иные способы суммирования формулой. Может даже есть способ суммировать, не указывая имена листов, но у меня не получилось так сделать без использования VBA. Поэтому я написал свою пользовательскую функцию:

Function All_SumIf(rRange As Range, rCriteria As Range, rSumRange As Range, Optional bAllSh As Boolean = True) Dim wsSh As Worksheet, sRange As String, sSumRange As String sRange = Right(rRange.Address, Len(rRange.Address) — InStr(rRange.Address, «!»)) sSumRange = Right(rSumRange.Address, Len(rSumRange.Address) — InStr(rSumRange.Address, «!»)) For Each wsSh In Sheets If bAllSh Then If wsSh.Name <> Application.Caller.Parent.Name Then All_SumIf = All_SumIf + Application.SumIf(wsSh.Range(sRange), rCriteria, wsSh.Range(sSumRange)) End If Else If wsSh.Index Alt + F11 ) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций( Shift + F3 ), отыскав её в категории Определенные пользователем (User Defined Functions) .

Аргументы функции аналогичны стандартной СУММЕСЛИ, только в конце добавлен еще один, необязательный.

rRange — Ссылка на диапазон ячеек. Указывается диапазон значений, среди которых необходимо искать критерий.
rCriteria — Ссылка на одну ячейку. Указывается ячейка, в которой содержится значение, данные по которому надо просуммировать.
rSumRange — Ссылка на диапазон ячеек. Указывается диапазон сумм или чисел, которые необходимо просуммировать на основании критерия.
bAllSh — Необязательный аргумент. Если не указан, или указано значение 1 или ИСТИНА, то будут суммироваться значения со всех листов, кроме листа, на котором записана функция. Если указано значение 0 или ЛОЖЬ, то будут суммироваться значения с листов, расположенных до листа, на котором записана функция.

Применение обеих функций вы найдете в примере к статье.
Скачать пример

Tips_All_SumIf_Few_Sheets.xls (57,5 KiB, 3 745 скачиваний)

Дополнил статью функцией, которая суммирует данные только с указанных листов, либо со всех, кроме листа с функцией:

Function All_SumIf(rRange As Range, rCriteria As Range, rSumRange As Range, Optional sSheets = «») Dim wsSh As Worksheet, sRange As String, sSumRange As String, asSheets, li As Long sRange = Right(rRange.Address, Len(rRange.Address) — InStr(rRange.Address, «!»)) sSumRange = Right(rSumRange.Address, Len(rSumRange.Address) — InStr(rSumRange.Address, «!»)) If sSheets = «» Then For Each wsSh In Worksheets If wsSh.Name <> Application.Caller.Parent.Name Then sSheets = sSheets & «?» & wsSh.Name Next wsSh sSheets = Mid$(sSheets, 2) End If asSheets = Split(sSheets, «?») For li = LBound(asSheets) To UBound(asSheets) Set wsSh = Sheets(asSheets(li)) If Not wsSh Is Nothing Then All_SumIf = All_SumIf + Application.SumIf(wsSh.Range(sRange), rCriteria, wsSh.Range(sSumRange)) End If Next li End Function

rRange — Ссылка на диапазон ячеек. Указывается диапазон значений, среди которых необходимо искать критерий.
rCriteria — Ссылка на одну ячейку. Указывается ячейка, в которой содержится значение, данные по которому надо просуммировать.
rSumRange — Ссылка на диапазон ячеек. Указывается диапазон сумм или чисел, которые необходимо просуммировать на основании критерия.
sSheets — Необязательный аргумент. Указываются имена листов книги, с которых надо суммировать данные. Имена листов должны быть записаны через вопросительный знак: Февраль?Март. Если аргумент не указан или равен пустой ячейке, то будут суммироваться значения со всех листов, кроме листа, на котором записана функция.
Скачать пример

Tips_All_SumIf_Show_Sheets.xls (59,5 KiB, 2 626 скачиваний)

Очередное дополнение статьи — функция, в которой помимо перечисления листов можно указать книгу, в которой эти листы просматривать:

Function All_SumIf(rRange As Range, rCriteria As Range, rSumRange As Range, Optional sSheets = «», Optional wsAnotherWB As String = «») Dim wsSh As Worksheet, sRange As String, sSumRange As String, asSheets, li As Long Dim wbB As Workbook If wsAnotherWB = «» Then Set wbB = Application.Caller.Parent.Parent Else Set wbB = Workbooks(wsAnotherWB) End If sRange = Right(rRange.Address, Len(rRange.Address) — InStr(rRange.Address, «!»)) sSumRange = Right(rSumRange.Address, Len(rSumRange.Address) — InStr(rSumRange.Address, «!»)) If sSheets = «» Then For Each wsSh In wbB.Worksheets If wsSh.Name <> Application.Caller.Parent.Name Then sSheets = sSheets & «?» & wsSh.Name Next wsSh sSheets = Mid$(sSheets, 2) End If asSheets = Split(sSheets, «?») For li = LBound(asSheets) To UBound(asSheets) Set wsSh = wbB.Sheets(asSheets(li)) If Not wsSh Is Nothing Then All_SumIf = All_SumIf + Application.SumIf(wsSh.Range(sRange), rCriteria, wsSh.Range(sSumRange)) End If Next li End Function

Аргументы и их использование полностью совпадают с описанием выше. Опишу только последний аргумент:
wsAnotherWB — Необязательный аргумент. Указываются имя книги, в которой будут просматриваться листы, указанные параметром sSheets. Если аргумент wsAnotherWB не указан — листы просматриваются в книге, с листа которой вызвана функция. Если какого-либо из указанных листов не будет в указанной книге — функция вернет ошибку.

Статья помогла? Поделись ссылкой с друзьями!

Excel At Excel вып.3: Собираем данные с разных листов

Дано: 22 таблицы унифицированного формата с перечнем помещений от 22 дочерних предприятий.

Задача: сделать сводную таблицу с данными всех 22 таблиц

Итак, решение. Есть три варианта решения данной задачи. Первый — использовать встроенную (начиная с excel 2013) надстройку PowerPivot (об этом методе мы поговорим позднее). Второй — посредством сводной таблицы через несколько диапазонов консолидации. Не люблю этот метод, т.к. такая сводная таблица имеет существенно более ограниченный функционал по сравнению с простой сводной таблицей. Наконец, третий вариант — это создать общую таблицу с использованием функции INDIRECT (ДВССЫЛ). Этому методу и посвятим сегодня наш пост.

Что мы имеем? 22 одинаковых по формату таблицы на отдельных листах и с разным количеством строк в каждой. Соответственно, для построения общей таблицы нам надо решить следующие «проблемы»:

1) как заставить общую таблицу «переключаться» с одного листа данных на другой?;

2) как заставить ее делать это в нужный момент (когда закончились строки на одном листе)?

Начнем со второго вопроса, т.к. ответ на него мы уже знаем. Это циклы, о которых мы подробно говорили в выпуске 2 «Циклы в Excel без VBA». Для решения проблемы достаточно в наш файл добавить лист с перечнем всех обществ, соответствующими названиями листов и количеством подсчетом количества строк на каждом таком листе.

Обратите внимание на формулу в столбце Кол-во записей. Мы могли бы использовать просто COUNTA (СЧЁТА) со ссылкой на каждый лист. Но это потребует времени для «линковки» каждого листа. Плюс мы с вами готовим универсальные решения, которые будут работать в независимости от количества листов.

Именно для этого в функцию COUNTA (СЧЁТА) и внедряется эта чуднАя функция INDIRECT (ДВССЫЛ). Остановимся на ней подробнее.

Функция имеет, по сути, единственный параметр — ref_text (ссылка_на_текст). Что делает эта функция? Всего-навсего преобразует текст в ссылку на ячейку. То есть она преобразует текст, например, «А1» в ссылку и возвращает значение ячейки А1.

Соответственно, зная несложные правила работы с текстом в Excel, мы можем легко сделать текст внутри изменяемым, а значит можем сделать и изменяемыми ссылки, которые будет возвращать функция INDIRECT (ДВССЫЛ).

Разберем пример выше. Функция INDIRECT (ДВССЫЛ) имеет следующий вид:

Чтобы понять, что означает текст внутри нее, давайте вспомним, как выглядит в Excel ссылка на ячейку на другом листе. Вот так:

Соответственно, в нашем случае у нас неизменен столбец B:B, а вот название листа меняется. Для «автоматизации» формулы заменяем Название листа на ссылку на название листа с данными по соответствующему обществу (столбец Название листа). Получаем следующее:

где все, что подчеркнуто — текст, а выделено жирным — ссылки.

ВАЖНО! Обратите внимание на кавычки и конкатенацию («склеивание») при помощи амперсента. Не забудьте, что текст вносится в кавычках и соединяется со ссылками при помощи символа &.

Получается, что INDIRECT (ДВССЫЛ) получает название листа из ячеек в столбце А:А (Название листа), а диапазон у нас прописан фиксированно текстом (В:В). COUNTA (СЧЁТА) же просто считает количество строк в столбце В:В на соответствующем листа за вычетом заголовка.

Перейдем к формированию общей таблицы. Как вы уже наверное прикинули, у нас будет два вложенных цикла: один — количество обществ, второй — количество записей на листе данных по соответствующему обществу. Соответственно, нам потребуются два вспомогательных столбца (определим их в столбцы А и В). Ровно так же, как мы делали на примере в выпуске 2 «Циклы в Excel без VBA», пишем формулу первого цикла:

=IF(A2=»»;»»;IF(COUNTIF($A$2:A2;A2)=OFFSET(‘Список обществ’!$E$2;A2-1;0);IF(A2+1>COUNTA(‘Список обществ’!A:A)-1;»»;A2+1);A2))

Затем пишем формулу второго цикла:

Далее при помощи уже знакомой нам функции OFFSET (СМЕЩ) заполняем столбцы из таблицы на листе Список обществ.

Осталось подтянуть данные с 22 листов по обществам. Тут нам опять поможет OFFSET (СМЕЩ), но уже в паре с INDIRECT (ДВССЫЛ).

OFFSET (СМЕЩ) передает в формулу название листа, а конструкция B2+1 — номер строки в столбце Е на том листе.

ВАЖНО! Обратите внимание, что OFFSET (СМЕЩ) вкладывается внутрь INDIRECT (ДВССЫЛ), а не наоборот.

Функция ЛИСТ предназначена для возвращения номера конкретного листа с промежутком, который открывает доступ ко всей рабочей книге в MS Excel. Функция ЛИСТЫ предоставляет пользователю информацию о количестве листов, содержащихся в рабочей книге.

Формулы с использованием ссылок на другие листы Excel

Предположим у нас имеется фирма DecArt в которой работают сотрудники и им ежемесячно начисляется зарплата. У данной фирмы имеются сведения о среднемесячной зарплате в Excel, а данные по ней размещены на разных листах: на листе 1 размещены данные о зарплате, на листе 2 премия в процентах. Нам необходимо вычислить размер премии в рублях, при том чтобы данные эти были размещены на втором листе.

Для начала рассмотрим пример работы с листами в формулах Excel. Пример 1:

  1. Создадим на листе 1 рабочей книги табличного процессора Excel таблицу, как показано на рисунке. Сведения о среднемесячной заработной плате:
  2. Сведения о заработной плате.

  3. Далее на листе 2 рабочей книги подготовим область для размещения нашего результата — размера нашей премии в рублях, как показано на рисунке:
  4. размер нашей премии в рублях.

  5. Далее нам необходимо будет ввести в ячейку В2 формулу, изображенную на рисунке ниже:
  6. ссылки на другие листы.

Ввод данной формулы происходил следующим образом: для начала в ячейке В2 мы установили знак «=», затем кликнули на «Лист1» в нижнем левом углу рабочей книги и перешли на ячейку C3 на листе 1, далее ввели операцию умножения и перешли вновь на «Лист2» для того чтобы добавить процент.

Таким образом мы получили при расчете премии каждого сотрудника, причем исходные данные находились на одном листе, а расчет был произведен на другом листе. Данная формула окажется весьма полезной при работе с более длинными массивами данных в крупных организациях.



Функция ЛИСТЫ для подсчета количества листов в рабочей книге

Рассмотрим теперь пример работы функции ЛИСТЫ. Довольно часто бывает так, что в рабочей книге Excel расположено слишком много листов. Выяснить их точное количество визуально не представляется возможным, именно с этой целью и создана функция ЛИСТЫ.

В данной функции всего 1 аргумент – «Ссылка» да и то необязательный для заполнения. Если его не заполнять тогда функция возвращает общее количество листов, созданных в текущей рабочей книге файла Excel. При необходимости можно заполнить аргумент. Для этого в нем необходимо указать ссылку на рабочую книгу, в которой необходимо подсчитать общее количество листов, созданных в ней.

Пример2. Предположим у нас имеется фирма по производству мягкой мебели, и у нее есть множество документов, которые содержатся в рабочей книге Excel. Нам необходимо вычислить точное число этих документов, так как каждый из них имеет свое название, то для того чтобы визуально вычислить их количество потребуется время.

На рисунке ниже показано примерное количество листов:

подсчет всех листов.

Чтобы организовать подсчет всех листов, необходимо воспользоваться функцией ЛИСТЫ. Просто ставим знак равенства «=» и вписываем функцию, не заполняя ее аргументов в скобках. Вызов данной функции показан ниже на рисунке:

ЛИСТЫ.

В результате получим следующее значение: 12 листов.

Таким образом мы узнали, что в нашей фирме имеется 12 документов, содержащихся в рабочей книге Excel. Этот простой пример наглядно иллюстрирует работу функции ЛИСТЫ. Данная функция может стать полезной для руководителей, офисных сотрудников, менеджеров по продажам.

Ссылки на другие листы в шаблонах документов

Пример 3. Имеются данные о расходах на банкет компании занимающейся выездным обслуживанием. Необходимо произвести расчет общей стоимости банкета, а также общий выход порций блюд, и вычислить общее количество листов в документе.

  1. Создадим таблицу «Банкетное меню», общий вид которой представлен на рисунке ниже:
  2. Банкетное меню.

  3. Аналогичным образом создадим таблицы на разных листах «Общая стоимость» и «Общий выход»:
  4. 2 листа.

  5. При помощи формулы со ссылками на другие листы произведем расчет общей стоимости банкетного меню:
  6. Общая стоимость.

  7. Перейдем на лист «Общий выход» и путем умножения ячеек веса одной порции, находящегося на листе 2 и общего количества, находящегося на листе 1 произведем расчет общего выхода:
  8. Общий выход.

Читайте также: Примеры использования функций ЛИСТ и ЛИСТЫ в формулах Excel.

Скачать примеры функции листы для работы с другими листами в Excel

В результате у нас получился простейший шаблон для подсчета расходов на 1 банкет.

Изучим возможности для суммирования данных из ячеек с разных листов книги с помощью использования трехмерных ссылок в Excel.


Приветствую всех, уважаемые читатели блога TutorExcel.Ru.

Практически каждый из нас при работе в Excel хотя бы раз наверняка применял операцию сложения с помощью оператора плюс «+» и различных функций (СУММ, СУММЕСЛИ, СУММЕСЛИМН и т.п.).

В связи с этим часто можно столкнуться с задачей, когда нужно просуммировать данные из одних и тех же ячеек с нескольких листов. К примеру, подвести общий итог для всех филиалов или отделов компании (коих может быть очень много), посчитать сумму за год по всем месяцам, где каждая часть с данными расположена на отдельном листе книги.

К решению этой задачи можно подходить по-разному, рассмотрим несколько вариантов как мы это можно сделать — от медленного и ручного до быстрого и полуавтоматического.

Вариант 1. Ручной ввод.

Начнем с одной стороны с медленного варианта, но с другой стороны с более понятного и наглядного способа.

Для примера возьмем простую задачу и сложим данные ячейки A1 с трех листов: Лист1, Лист2 и Лист3. Для этого поочередно в формулу записываем ссылки на ячейку с разных листов и знаки сложения «+»:

=Лист1!A1+Лист2!A1+Лист3!A1

Сложение с помощью оператора плюс "+"

Это совсем простой вариант. Еще один вариант записи можно аналогично реализовать с помощью функции СУММ:

=СУММ(Лист1!A1;Лист2!A1;Лист3!A1)

Ручной ввод через СУММ

В реализуемых нами вариантах в общем и целом все хорошо, за исключением большой ручной работы при прощелкивании всех нужных для суммирования ячеек.

Как это часто бывает если нужно посчитать сумму для двух или трех листов, то вышеописанный способ отлично подойдет. Но если усложнить задачу и представить подобный пример не для 3, а, например, для 30 листов, то процесс уже несколько затянется.

Поэтому перейдем к чуть более сложному на первый взгляд варианту, но гораздо более быстрому с точки зрения трудовых и временных затрат.

Вариант 2. Полуавтоматический ввод.

Повторно воспользуемся функцией СУММ, но в этот раз запишем ссылку на листы через двоеточие:

=СУММ(Лист1:Лист3!A1)

Полуавтоматический ввод через СУММ

В этом случае общее количество суммируемых листов для нас уже не так важно, главное знать только начальный и конечный.

Поэтому запись для сложения 10 или 20 листов будет примерно такой же — ИмяПервогоЛиста:ИмяПоследнегоЛиста!Диапазон.

Чуть более подробно остановимся на логике формирования формулы. Напомню, что оператор двоеточие в Excel служит для объединения диапазона, который образует ссылку на все ячейки находящиеся между первой и последней (включая сами ячейки). Например, диапазон A1:A10 обозначает двумерную ссылку, в которую попадают все ячейки между первой (A1) и последней (A10).

При добавлении еще одной размерности в виде листов мы получаем так называемую трехмерную ссылку. К примеру, диапазон Лист1:Лист3!A1:A10 содержит все ячейки от Лист1!A1:A10 до Лист3!A1:A10.

Таким образом в нашем примере суммируются все ячейки A1 от Лист1 до Лист3. Но при применении такого способа суммирования есть некоторые тонкости, которые желательно нужно помнить, чтобы случайно не допустить ошибку, давайте подробнее про них поговорим.

Особенности трехмерных ссылок

Как мы уже говорили ранее, при применении трехмерных ссылок нужен только первый и последний лист, промежуточные листы между ними в записи никак не участвуют. Отсюда и возникают следующие тонкости:

  • Добавление/копирование листа. Если добавить новый лист или скопировать уже существующий и вставить его между первым и последним (используемых в формуле), то он автоматически будет участвовать в расчете.
    Т.е. сама формула не поменяется, а значение вполне может измениться, если на новом листе в тех же ячейках содержатся данные;
  • Удаление листа. Аналогичный случай примеру выше. При удалении листа формула не изменится, а расчет поменяется в зависимости от удаленных данных (если удалить начальный или конечный листы, то формула изменится, промежуточный — формула останется неизменной);
  • Перемещение листа. При перемещении листа в другое место книги формула не изменится, но поменяется набор листов между ними (либо добавятся новые, либо удалятся текущие).

Если описание покажется несколько сложным, в этом случае попробуйте поэкспериментировать с формулой и перестановкой листов на конкретном примере и поймите по какому принципу она работает.

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

Спасибо за внимание!
Если у вас есть мысли или вопросы по теме статьи — пишите и спрашивайте в комментариях.

Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!

Поделиться с друзьями:
Поиск по сайту:

Ссылки в Excel на несколько листов сразу.

​Смотрите также​​ для них надо​ копировать формулы в​ взаимосвязанны.​​ одном документе, то​ данные.​Имеем несколько однотипных таблиц​ и повторяются в​ диапазон ячеек, а​ и отдела продаж​ всех диапазонов, сделайте​ и диаграмм на​ для элементов, которые​Маринова​ с данными, в​районе (из столбца​ способами быстро скопировать​Есть простой способ​ выделить РАЗНЫЕ листы,​ любой другой фаил.»​
​:hands:​ создайте еще одну​Для того, чтобы выполнить​ на разных листах​ разных диапазонах, на​ затем укажите его​ без данных производственного​
​ следующее:​ панель быстрого доступа.​ вы хотите объединить.​Мясо​ котором находится​ A) (из столбца​ формулу, смотрите в​
​установить в Excel сылки​ на одном не​
​Извини Ворода, намучалься​
​Решенно, надо уроки​ страницу (внизу такие​ такую консолидацию:​
​ одной книги. Например,​ любом листе может​ имя.​ отдела, а в​Добавьте мастер сводных таблиц​ Для этого:​ В выбранные данные​6596​условие1​ C).​ статье «Копирование в​ на несколько листов​ получится​ ты со смной.​
​ по-екселлу брать.​ закладочки есть) и​Заранее откройте исходные файлы​ вот такие:​ быть несколько таких​Пример​
​ другом поле —​ и диаграмм на​Щелкните стрелку рядом с​ не следует включать​Формула​— “Южный”.​Вот формулу можно использовать​ Excel» тут.​ быстро​Genytech​Для формул используйте​mabika​ там уже ввести​
​Создайте новую пустую книгу​
​Необходимо объединить их все​ диапазонов (пример -​Если в разделе​ данные всех трех​ панель быстрого доступа.​ панелью инструментов и​
​ итоговые строки и​Описание​По мере того, как​ для acomplish это:​Получился такой результат.​. Такие формулы в​: Здравствуйте!​ теги — кнопка​
​: Boroda, огромное спасило​
​ формулу = (навести​ (Ctrl + N)​ в одну общую​ Лист2), ячейки в​Во-первых, укажите количество полей​ отделов. Чтобы создать​ Для этого:​
​ выберите​ итоговые столбцы. В​Результат​
​ вы вводите формулу,​=SUMIFS(D2:D11,a2:a11,»South»,C2:C11,»Meat»)​Как выделить не​ Excel работают всегда.​Прошу прощение, если​ fx. Поправил Вам​ за решение проблемы.​ мышь на значение​Установите в нее активную​ таблицу, просуммировав совпадающие​ В и С​ страницы сводной таблицы​
​ консолидацию с использованием​
​Щелкните стрелку рядом с​Дополнительные команды​ приведенном ниже примере​
​’ = СУММЕСЛИМН (a2:​ в автозавершении формулы​Результатом является значение 14,719.​ все листы, а​ Обычно, когда мы​
​ эта тема похожа​mabika​gling​ на первой странице)​ ячейку и выберите​ значения по кварталам​ на листах 1:5​задано число​ нескольких полей страницы,​

excel-office.ru

Суммирование значений с учетом нескольких условий

​ панелью инструментов и​​.​ показано четыре диапазона​ a11; D2: D11​ появятся остальные аргументы​Рассмотрим изучить все части​ некоторые, выборочно, смотрите​ пишем формулу, в​ на другие, но​:​: Здравствуйте. Может так?​ + (навести мышь​ на вкладке (в​ и наименованиям.​ могут быть пустыми.​1​ сделайте следующее:​ выберите​В списке​ в формате перекрестной​«Южно» C2: C11,​ (здесь они не​

​ формулы.​ в статье «Как​ которой нужно сделать​ очень нужна Ваша​Огромнейшее спасибо.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(‘1′!D2:D29;»membership»;’1’!E2:E28)​ на значение на​ меню)​Самый простой способ решения​

​ На листе Результат​, выберите каждый из​Добавьте мастер сводных таблиц​Дополнительные команды​Выбрать команды из​​ таблицы.​​ «Мясо»)​​ показаны);​​= СУММЕСЛИМН является формулой​ заполнить таблицу в​ ссылку на другой​

Данные на листе Excel

​ помощь!​mabika​

​mabika​

​ второй странице) +​

​Данные — Консолидация​ задачи «в лоб»​

​ связки функций ИНДЕКС​ диапазонов, а затем​ и диаграмм на​.​выберите пункт​При консолидации данных можно​Суммирует продаж мяса в​

​диапазон_условия2​

​ арифметического. Он вычисляет​ Excel сразу на​ лист книги Excel,​Описание:​: Привет опять, :)​: Здравствуйте, спасибо, что​ и т. д.​​(Data — Consolidate)​​ — ввести в​ и ПОИСКПОЗ в​ введите уникальное имя​ панель быстрого доступа.​В списке​

​Все команды​ использовать поля страницы,​Столбец C в​— это диапазон​ числа, которые находятся​ нескольких листах».​ мы переходим на​Есть 3 листа​Извините за беспокойство,​ откликнулись.​ и потом нажать​. Откроется соответствующее окно:​

​ ячейку чистого листа​

​ столбце В проходят​ в поле​ Для этого:​

​Выбрать команды из​.​ содержащие элементы, которые​ южном​ C2:C11, представляющий собой​ в этом случае​У этой формулы есть​ этот лист или​ в книге, как​ но никак не​​Формула работает только​​ enter​Установите курсор в строку​ формулу вида​

​ по значениям столбцов​

​Первое поле​Щелкните стрелку рядом с​выберите пункт​Выберите в списке пункт​ представляют один или​область в столбце​​ столбец с данными,​​ в столбце D.​ преимущество перед формулой​ пишем формулу вручную​ прописать формулу, что​

​ могу подкоректировать формулу.​ для указанного диапазона.​Игорь максимов​Ссылка​=’2001 год’!B3+’2002 год’!B3+’2003 год’!B3​ В листов 1:5,​. Если у вас​ панелью инструментов и​Все команды​Мастер сводных таблиц и​ несколько исходных диапазонов.​ A (результат —​ в котором находится​ Первым делом нужно​​ простого суммирования.​​ в каждой ячейке​

Использование автозаполнения формул при вводе функции СУММЕСЛИМН

​ бы она подсчитывала​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=SUMPRODUCT((DAY(‘1’!B$2:B$999)=ROW(B2))*(‘1′!D$2:D$999=»Membership»)*’1’!E$2:E$999)​ Таблица отоброжает продажи​: СУММ=(…+++…)​(Reference)​которая просуммирует содержимое ячеек​​ в столбце С​​ четыре диапазона, каждый​ выберите​.​ диаграмм​​ Например, при консолидации​​ 14 719).​

​условие2​​ указать расположение номера:​​Если мы уберем​ таблицы. Если листов​

Попробуйте попрактиковаться

​ сумму, используя данные​ПОжалуйста, помогите разобраться,​ целого месяца и​Открываем страницу, выделяем​и, переключившись в​

​ B2 с каждого​ соответственно по С.​ из которых соответствует​Дополнительные команды​Выберите в списке пункт​и нажмите кнопку​ данных бюджета отдела​= SUMIFS(D2:D11,A2:A11,​— “Мясо”.​

​=СУММЕСЛИМН(D2:D11;​ из этого диапазона​ много, то это​ со 2-го и​ что деляю не​ каждый день есть​ ячекйу, открываем страницу…​ файл Иван.xlsx, выделите​

​ из указанных листов,​

​ В столбце D​

​ кварталу финансового года,​

​.​

​Мастер сводных таблиц и​

​Добавить​

​ маркетинга, отдела продаж​

​«Южно» C2: C11,​

​Если вы нажмете​

​Другими словами нужно ввести​

​ лист или добавим​

​ очень трудоемкая работа.​

​ 3-го листа?​

​ правильно.​

​ «membership». Возможно ли,​

​ и т. д.​

​ таблицу с данными​

​ и затем скопировать​

​ они суммируются и​

​ выберите первый диапазон,​

​В списке​

​ диаграмм​

​, а затем — кнопку​

​ и производственного отдела​

​ «Мясо»)​

​СУММЕСЛИМН​

​ формулу для суммирования​

​ в средину этого​

​ Но можно эту​

​На первом листе​

​Намучалась очень.​

​ прописать формулу так,​

​ до последней ячейки.​

​ (вместе с шапкой).​

​ ее на остальные​

​ округляются. ЕСЛИОШИБКА нужна​

​ введите имя «Кв1»,​

​Выбрать команды из​

​и нажмите кнопку​

​ОК​

​ поле страницы может​

​Примечания:​

​в автозавершении формулы,​

​ чисел в столбце,​

​ диапазона лист с​

​ работу автоматизировать.​

​ колонки: Наименование товара​

​Спасибо заранее.​ чтобы она в​
​ Потом на странице​ Затем нажмите кнопку​

​ ячейки вниз и​
​ для случаев, когда​ выберите второй диапазон,​
​выберите пункт​Добавить​.​

​ содержать отдельный элемент​
​ ​ откроется статья, справкой.​

​ если они удовлетворяют​​ таблицей, то в​

  • ​Мы помним, что​ и Сумма (которую​

  • ​http://www.excelworld.ru/forum/​ каждой отдельной ячейке​ формулы закрываем скобку​Добавить​ вправо.​ на листах 1:5​

support.office.com

Консолидация нескольких листов в одной сводной таблице

​ введите имя «Кв2″​Все команды​, а затем — кнопку​В книге щелкните пустую​ с данными по​Дополнительные примеры можно найти​Если вы хотите поэкспериментировать​ условиям. Что диапазон​ итоговой таблице все​ ссылки на ячейки​ нужно подсчитать)​Evgesha807​ суммировала, например только​ и ставим галочку​(Add)​Если листов очень много,​ есть незаполненные ячейки​ и повторите процедуру​.​ОК​

Консолидация нескольких диапазонов

​ ячейку, которая не​ каждому из этих​ в статьеФункция СУММЕСЛИМН.​ с функцией СУММЕСЛИМН,​ ячеек — это​ равно всё посчитается,​ бывают разные. Подробнее​на втором листе​: Добрый день. Помогите​ «membership» каждого дня?​ по формуле (расчет​в окне консолидации,​ то проще будет​ в В или​ для диапазонов «Кв3″​Выберите в списке пункт​

​.​ является частью сводной​ отделов, а также​Если вы хотите подсчитать​​ то некоторые образцы​​ первый​ с учетом наших​ об этом читайте​ колонки: Наименование товара​ плиз. необходимо суммировать​Столбец А дата,​ завершен)​ чтобы добавить выделенный​ разложить их все​

Настройка исходных данных

​ С.​ и «Кв4».​Мастер сводных таблиц и​В книге щелкните пустую​ таблицы.​ элемент, содержащий сводные​ итоговое значение только​ данных и формулы,​аргумент​ изменений. Например, удалим​ в статье «Относительные​ и Код этого​ значения ячеек с​ Столбец В наименование​Abram pupkin​

Образцы источников данных для консолидации в сводный отчет

Поля страницы при консолидации данных

​ диапазон в список​ подряд и использовать​Вот формулы листа​Если в разделе​ диаграмм​ ячейку, которая не​Щелкните значок мастера на​ данные. В примере​ для одного диапазона​ использующей функцию.​в этой формуле​ страницу «Магазин 2»​ и абсолютные ссылки​ товара (у одного​ разных листов по​ продукции. Столбец С​: ТРЕХМЕРНЫЕ ССЫЛКИ​ объединяемых диапазонов.​ немного другую формулу:​ Результат и требуют​Во-первых, укажите количество полей​

Образец сводного отчета с полем страницы.

Использование именованных диапазонов

​и нажмите кнопку​ является частью сводной​ панели быстрого доступа.​ ниже показана сводная​ с учетом значения​Вы можете работать с​ — первая часть​ с таблицей.​ в Excel».​ товара могут быть​ значению Название области.​ сумма, Столбец Д​Именно в Вашем​Повторите эти же действия​=СУММ(‘2001 год:2003 год’!B3)​ оптимизации или полной​ страницы сводной таблицы​Добавить​ таблицы.​На странице​ таблица, в которой​ в другом диапазоне,​

Другие способы консолидации данных

​ демонстрационными данными непосредственно​ данных, функция требует​Получилось так.​Итак, у нас​ разные коды)​ Во вложении пример.​ = ячейке из​ случае будет такая​ для файлов Риты​Фактически — это суммирование​​ переработки. Здесь в​​задано число​​, а затем — кнопку​​На странице​​Шаг 1​​ выбраны одно поле​

Консолидация нескольких диапазонов

​ используйте функцию СУММЕСЛИМН.​ в этой книге​ в качестве входных​Формула все равно работает.​ есть три таблицы​на третьем листе​ Проблема еще в​ Столбца С если​ формула:​

Консолидация данных без использования полей страницы

​ и Федора. В​ всех ячеек B3​ примере они работают​2​ОК​

  1. ​Шаг 1​мастера выберите параметр​ страницы и несколько​Консолидация данных представляет собой​

    1. ​ веб-приложения Excel Online.​ данных.​ При простом суммировании​​ на разных страницах,​​ колонки: Код товара​

    2. ​ том, что название​​ та же ячейка​​=СУММ (Лист1:Лист100!D9)​​ итоге в списке​​ на листах с​

    3. ​ с шестью диапазонами,​​, выполните аналогичные действия​.​​мастера выберите параметр​​в нескольких диапазонах консолидации​​ элементов.​​ удобный способ объединения​​ Изменяйте значения и​

  2. ​После этого необходимо найти​ – покажет ошибку.​ отчет магазинов -​ и количество (из​

  3. ​ области повторяется с​ в столбце В​

  4. ​P.S.​​ должны оказаться все​​ 2001 по 2003,​​ а в реальной​​ в поле​В книге щелкните пустую​​в нескольких диапазонах консолидации​​, а затем нажмите​

  5. ​Если велика вероятность того,​​ данных из нескольких​​ формулы или добавляйте​​ данные, которые соответствуют​​Сложить данные таблицы​ № 1, №​​ этого количества нужно​​ точкой, как мне​

  6. ​ «membership».​​Обратите внимание :​​ три диапазона:​

    1. ​ т.е. количество листов,​ таблице диапазонов больше​Первое поле​ ячейку, которая не​, а затем нажмите​ кнопку​​ что в следующий​​ источников в одном​

      ​ свои собственные, чтобы​​ двух условий, поэтому​ можно другим способом.​ 2 и №​ подбить сумму для​ и его посчитать?​

    2. ​Спасибо огромное​​ Восклицат знак ставится​Обратите внимание, что в​​ по сути, может​​ 30. Конечно всё​​. Затем выберите два​ является частью сводной​​ кнопку​​Далее​

  7. ​ раз при консолидации​​ отчете. Например, если​​ увидеть, как мгновенно​ введите свой первый​ Смотрите статью «Как​ 3.​ конкретного вида товара​ спасибо​​_Boroda_​​ только после последнего​

Консолидация данных с использованием одного поля страницы

​ данном случае Excel​ быть любым. Также​ оно работает и​ диапазона и введите​ таблицы.​Далее​.​

  1. ​ данных исходный диапазон​ в каждом из​ изменятся результаты.​ условие, указав для​

    1. ​ объединить таблицы в​Нам нужно сложить данные​ на первом листе)​​Evgesha807​​: Так нужно?​

    2. ​ Листа​​ запоминает, фактически, положение​​ в будущем возможно​​ работает правильно, но​​ в поле​

    3. ​На странице​​.​На странице​​ данных изменится (например,​​ региональных филиалов вашей​​Скопируйте все ячейки из​​ функции расположение данных​​ Excel».​

  2. ​ в этих отчетах.​Если не получится​: Там не только​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((ДЕНЬ(‘1’!B$2:B$999)=СТРОКА(A1))*(‘1′!D$2:D$999=»Membership»)*’1’!E$2:E$999)​

  3. ​mabika​​ файла на диске,​​ поместить между стартовым​​ хочется сделать это​​Второе поле​Шаг 1​​На странице​​Шаг 2а​

  4. ​ изменится число строк),​​ компании есть сводная​​ приведенной ниже таблицы​​ (a2: a11), а​​Любую формулу можно​Внимание!​​ это сделать формулой,​​ лишние точки, но​

  5. ​mabika​​: Всем привет. Нужна​​ прописывая для каждого​

    1. ​ и финальным листами​ красивее. В идеале,​одинаковое имя, например​мастера выберите параметр​Шаг 2а​выберите параметр​​ рекомендуется задать имя​​ таблица расходов, с​

      ​ и вставьте их​​ также какие условием​ проверить, правильно ли​Этот способ удобен,​ подскажите, пожалуйста, какой​ и пробелы, и​

  6. ​: Огромная благодарность за​​ помощь. Запуталась в​​ из них полный​

  7. ​ дополнительные листы с​​ что бы на​​ «Пг1» и «Пг2».​в нескольких диапазонах консолидации​выберите параметр​Создать поля страницы​ для каждого из​ помощью консолидации данных​​ в ячейку A1​​ является — наилучшим​

Консолидация данных с использованием нескольких полей страницы

​ она считает (составлна),​ когда таблицы одинаковые​ написать макрос.​ написание: в одном​ помощь, за Ваше​ выборе правильной функций​ путь (диск-папка-файл-лист-адреса ячеек).​ данными, которые также​ листе Результат всё​ Выберите первый диапазон​, а затем нажмите​Создать одно поле страницы​, а затем нажмите​ исходных диапазонов на​ можно объединить такие​ нового листа Excel.​ образом «Южный». Обратите​ найти ошибку на​ по форме.​

  1. ​Заранее благодарен!​ случае Респ, в​ время и ваше​ и формул для​

    1. ​ Чтобы суммирование происходило​ станут автоматически учитываться​ происходило в одном​​ и введите имя​​ кнопку​

    2. ​, а затем нажмите​​ кнопку​​ разных листах. Эти​​ значения в корпоративный​​ Вы можете отрегулировать​

    3. ​ внимание, запятые между​​ любом этап вычисления,​На новой странице​​Serge_007​​ другом респ; Адыгея​​ терпение.​​ обработки данных. Хотя​​ с учетом заголовков​

  2. ​ при суммировании.​ столбце, а не​ «Пг1», выберите второй​Далее​

  3. ​ кнопку​​Далее​​ имена можно использовать​​ отчет о расходах.​​ ширину столбцов, чтобы​ отдельные аргументы:​​ найти циклическую ссылку.​​ будем устанавливать формулу​

  4. ​: См. вложение​​ и Адыгая. Потом​​Извините за беспокойство.​​ бы подсказка, что​​ столбцов и строк​Если исходные таблицы не​​ в трёх. Сейчас​​ диапазон и введите​

  5. ​.​​Далее​​.​

    1. ​ при консолидации диапазонов​ Такой отчет может​ формулы лучше отображались.​= SUMIFS(D2:D11,A2:A11,»South»,​ Смотрите в статье​ сложения данных из​​Genytech​​ уже можно применять​

      ​ Отдельно задавала вопросы​​ использовать было бы​ необходимо включить оба​ абсолютно идентичны, т.е.​ поделено на три​ имя «Пг1», выберите​

    2. ​На странице​​.​На странице​​ на главном листе.​ содержать итоговые и​Регион​

    3. ​Кавычки вокруг слова «Южный»​​ «Как проверить формулы​ ячеек первых трех​: Serge_007,​ что-либо.​ надеясь в остольном​ великолено, не говоря​ флажка​​ имеют разное количество​ только из-за громоздкости​ третий диапазон и​Шаг 2а​На странице​

      ​Шаг 2б​

      • ​ В случае расширения​​ средние данные по​Продавец​​ укажите, что это​​ в Excel».​​ таблиц. Пишем формулу​Спасибо, это работает.​Evgesha807​ самой разобраться. К​​ уже об готовой​​Использовать в качестве имен​ строк, столбцов или​ всей конструкции и​ введите имя «Пг2»,​выберите параметр​Шаг 2б​сделайте следующее:​ исходного диапазона перед​ продажам, текущим уровням​Что следует ввести​ текстовые данные.​

      • ​Примечание:​​ сложения данных из​ А можно как-то​​: Это я Знаю.​​ сожалению знания не​​ фопмуле.​(Use labels)​​ повторяющиеся данные или​​ ограничения на количество​ выберите четвертый диапазон​Создать поля страницы​​сделайте следующее:​​Перейдите в книгу и​ обновлением сводной таблицы​ запасов и наиболее​Продажи​Наконец, введите аргументы для​Мы стараемся как​ ячеек В3 всех​ реализовать все в​ как поменять и​ хватает.​Если не лень​. Флаг​

    4. ​ находятся в разных​​ аргументов или чего-то​​ и введите имя​

  6. ​, а затем нажмите​​Перейдите в книгу и​​ выделите диапазон ячеек,​ можно обновить диапазон​ популярным продуктам в​Южный​ второго условия –​ можно оперативнее обеспечивать​​ таблиц. Делаем активной​​ одной формуле на​

​ выровнять текст в​

support.office.com

Суммирование данных с нескольких листов по условию (Формулы/Formulas)

​Помогите если можете​​ просмотрите прикреплённый файл.​
​Создавать связи с исходными​ файлах, то суммирование​ там ещё… Суммирование​ «Пг2».​
​ кнопку​ выделите диапазон ячеек,​ а затем вернитесь​ на отдельном листе​ рамках всей организации.​Орехов​ диапазон ячеек (C2:​ вас актуальными справочными​ первую верхнюю ячейку​ первом листе? Просто​ больших объемах я​ разобраться, что я​_Boroda_​ данными​ при помощи обычных​ двух диапазонов В​Нажмите кнопку​Далее​ а затем вернитесь​ в мастер сводных​ для указанного имени​Для подведения итогов и​Напитки​ C11), содержащий слово​ материалами на вашем​ (В3) таблицы сводной,​ такие требования поставлены​ примерно знаю.Это не​ делаю не правильно.​: Так нужно? Для​(Create links to source​ формул придется делать​ и С должно​Далее​.​ в мастер сводных​ таблиц и диаграмм​ таким образом, чтобы​ обобщения результатов по​3571​
​ «Мясо», плюс само​ языке. Эта страница​ но, вместо значка​_Boroda_​ проблема. У меня​_Boroda_​ любого месяца​ data)​ для каждой ячейки​ происходить на листе​.​На странице​ таблиц и диаграмм​ и нажмите кнопку​ включить в него​ данным в отдельных​Западный​ слово (заключено в​ переведена автоматически, поэтому​ «Равно», нажимаем кнопку​:​ проблема как просуммировать?​: Ну если у​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(‘1’!B$2:B$999=ЛЕВСИМВ(‘1′!B$2;8)&ТЕКСТ(СТРОКА(A1);»00″));’1’!E$2:E$999)-A3;)​позволит в будущем​ персонально, что ужасно​ Результат.​На странице​
​Шаг 2б​ и нажмите кнопку​Добавить​ новые данные.​ диапазонах можно консолидировать​Егоров​ кавычки) таким образом,​

​ ее текст может​​ «Автосумма» (на закладке​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ(ЕСЛИ(ТРАНСП(ЕСЛИ(A2=Лист2!A$2:A$8;Лист2!B$2:B$8))=Лист3!A$2:A$8;Лист3!B$2:B$8))​Evgesha807​

​ Вас там теперь​​Добавлено​​ (при изменении данных​​ трудоемко. Лучше воспользоваться​Работает вся эта​Шаг 3​сделайте следующее:​Добавить​.​В Excel также доступны​ их в сводной​Молочные продукты​ Excel может соответствовать​

​ содержать неточности и​​ «Главная»).​формула массива. Вводить​;)

​: консолидация не подходит?​​ даты есть, то​И переписал Вам​
​ в исходных файлах)​

excelworld.ru

Консолидация (объединение) данных из нескольких таблиц в одну

Способ 1. С помощью формул 

​ принципиально другим инструментом.​ красота под Excel​укажите, следует ли​Перейдите в книгу и​

Суммировать данные с нескольких листовȎxcel

​.​Совет:​ другие способы консолидации​ таблице на главном​3338​

​ его. Завершить формулу​ грамматические ошибки. Для​Затем переходим на​ одновременным нажатием Контрл​Суммесли()​

​ зачем огород городить?​

​ еще формулу для​ производить пересчет консолидированного​Рассмотрим следующий пример. Имеем​ 2007. При решении​ добавлять сводную таблицу​ выделите диапазон ячеек,​Совет:​

​ Если диапазон ячеек находится​ данных, которые позволяют​ листе. Диапазоны могут​Восточный​ с закрывающую скобку​

​ нас важно, чтобы​

​ страницу первой таблицы​ Шифт Ентер​Я почитала как​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((‘1’!B$2:B$999=A3)*(‘1′!C$2:C$999=»Total:»)*’1’!E$2:E$999)​ листа 1. Теперь​ отчета автоматически.​ три разных файла​ хочется обойтись без​ на новый или​ а затем вернитесь​ Если диапазон ячеек находится​ в другой книге,​ работать с данными​ находиться в той​

Способ 2. Если таблицы неодинаковые или в разных файлах

​Песоцкий​)​ эта статья была​ (Магазин 1) и​Да, и обратите​ делать консолидацию в​Даже так можно​ она одинаковая для​После нажатия на​ (​ макросов, а вот​ же на существующий​ в мастер сводных​

​ в другой книге,​ сначала откройте ее,​ в разных форматах​​ же книге, что​​Напитки​​и нажмите клавишу​​ вам полезна. Просим​​ нажимаем на первую​​ внимание на то,​​ excel, но, к​

Суммировать данные с нескольких листовȎxcel

​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(‘1′!B$2:B$999;A3;’1’!E$2:E$999)/2​ любого Тотала, не​ОК​Иван.xlsx​ против массивов ничего​ лист, и нажмите​ таблиц и диаграмм​ сначала откройте ее,​ чтобы упростить выбор​ и макетах. Например,​ и главный лист,​5122​ ВВОД. Результат, снова​ вас уделить пару​ верхнюю ячейку этой​ как у Вас​ сожалению, ничего не​А для TOTAL​ нужно менять диапазоны​видим результат нашей​

​,​ не имею.​

  1. ​ кнопку​
  2. ​ и нажмите кнопку​ чтобы упростить выбор​
  3. ​ данных.​ вы можете создавать​ или в других​Северный​​ нажмите — 14,719.​ ​ секунд и сообщить,​​ таблицы (В3).​
    Суммировать данные с нескольких листовȎxcel
  4. ​ в файле написано​​ поняла.Я сделала все​ ​ Bar что Вам​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ($B$1:$B28;$B29;E$1:E28)Файл перевложил​ работы:​Рита.xlsx​sboy​Готово​​Добавить​ ​ данных.​​В разделе​ формулы с объемными​ книгах. Консолидированные данные​Песоцкий​
  5. ​=SUMIFS(D2:D11,a2:a11,»South»,C2:C11,»Meat»)​ помогла ли она​Теперь нажимаем кнопку​ слово «количество».​ по рекомендации, но​ нужно — я​
    Суммировать данные с нескольких листовȎxcel

​Еще добавлено​Наши файлы просуммировались по​и​: Исправьте название темы,​.​.​Нажмите кнопку​Во-первых, укажите количество полей​ ссылками или использовать​ легче обновлять и​Молочные продукты​По мере ввода функции​​ вам, с помощью​​ на клавиатуре «Shift»​​PowerBoy​​ итог у меня​ не понял.​ ​Там все проще​ совпадениям названий из​​Федор​ оно должно отражать​К началу страницы​Совет:​Далее​

​ страницы сводной таблицы​​ команду​​ обобщать на регулярной​6239​

Суммировать данные с нескольких листовȎxcel

​ СУММЕСЛИМН в Microsoft​ кнопок внизу страницы.​ и, удерживая её​: Попробовал сделать в​ не получилсяПриложите итоговый​И эту фразу​ -​ крайнего левого столбца​.xlsx​ суть вопроса​klgfinn​ Если диапазон ячеек находится​.​введите​Консолидация​

Суммировать данные с нескольких листовȎxcel

planetaexcel.ru

Как с разных страниц эксель подсчитать сумму ?

​ основе или по​​Южный​ Excel, если вы​ Для удобства также​ нажатой, нажимаем на​
​ надстройке «Активные таблицы»​

​ файл, который надо​​ тоже не понял​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(ДЕНЬ(‘1′!B$2:B$999)=СТРОКА(A1));’1’!E$2:E$999)-A3;)Файл перевложил​ и верхней строки​) с тремя таблицами:​klgfinn​: Всем доброго дня.​ в другой книге,​На странице​0​(доступную на вкладке​ мере необходимости.​Маринова​ не помните аргументы​ приводим ссылку на​ ярлык последней таблицы,​

​Вот такой SQL​​ посчитать.Я вложила файл.​
​mabika​Или (при отсутствии​ выделенных областей в​Хорошо заметно, что таблицы​:​Помогите, пожалуйста, оптимизировать​ сначала откройте ее,​Шаг 3​, а затем нажмите​

​Данные​​Итоговый консолидированный отчет сводной​
​Сельхозпродукты​ справки готов под​ оригинал (на английском​
​ данные из которой​
​ запрос:​
​ Вы его видели.​: Спасибо :)​ такого дня даст​ каждом файле. Причем,​

Суммирование данных с нескольких ячеек и страниц (Формулы/Formulas)

​ не одинаковы -​​sboy​ формулы, если это​ чтобы упростить выбор​укажите, следует ли​ кнопку​в группе​ таблицы может содержать​8677​ рукой. После ввода​ языке) .​
​ складываем (Магазин 3).​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​

​ Итоговый вид должен​​В прикрепленном файле​ минус)​
​ если развернуть группы​
​ у них различные​
​, да я с​ возможно, или совсем​ данных.​ добавлять сводную таблицу​Далее​Работа с данными​
​ следующие поля в​
​Южный​
​= СУММЕСЛИМН (​Допустим, вам нужно суммировать​
​ Эта страница (Магазин​
​SELECT​ быть в вкладке​ формулы работают замечательно.​
​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((ДЕНЬ(‘1′!B$2:B$999)=СТРОКА(A1))*’1’!E$2:E$999)/2-A3​

​ (значками плюс слева​​ размеры и смысловая​ удовольствием, но на​:D​ переписать их.​В разделе​​ на новый или​

​.​​).​ области​Егоров​, автозавершение формул появится​ значения с более​ 3) не откроется​[Лист2$].Наименование AS Наименование,​ «нужно получить». Грубо​ Одна проблема, когда​
​китин​hands hands specool
​ от таблицы), то​ начинка. Тем не​lol

​ какое? Не срабатывает​​По задумке на​Во-первых, укажите количество полей​:)

​ же на существующий​​На странице​​Для консолидации нескольких диапазонов​

​Список полей сводной таблицы​​Мясо​ под формулы, в​
​ чем одного условия,​ и не нужно.​SUM([Лист3$].[Колличество товара]) AS​ говоря надо сложить​ я их копирую​: и вам не​ можно увидеть из​ менее их можно​ у меня соображалка,​ нескольких листах есть​ страницы сводной таблицы​
​ лист, и нажмите​Шаг 3​ вы можете воспользоваться​, добавляемой в сводную​450​ списке аргументов в​ например сумму продаж​ Нажимаем кнопку «Enter».​ [Колличество товара]​
​ лист ПН1 и​:)

​ в другой файл,​​ хворать!​
​ какого именно файла​

​ собрать в единый​​ как обозвать тему​ диапазоны наименований, взятые​щелкните число полей,​ кнопку​
​укажите, следует ли​ мастером сводных таблиц​ таблицу: «Строка», «Столбец»​Южный​ их правильном порядке.​ товара в определенной​
​ У нас получилась​FROM​ лист ПН2 получить​:)

​ тогда она выглядит​​так надо? формула​ какие данные попали​ отчет меньше, чем​ с таким вопросом​
​ с листа Результат​
​ которые вы хотите​
​Готово​
​ добавлять сводную таблицу​ и диаграмм. В​ и «Значение». Кроме​Егоров​
​Если посмотреть на изображение​ области. Это хороший​

​ такая формула.​​[Лист3$] AS [Лист3$]​
​ результат по шт​ так:​ массива (вводится Ctrl+Shift+Enter)​ в отчет и​ за минуту. Единственным​ и уместить всё​ (Лист1:5 столбец А),​
​ использовать.​​.​
​ на новый или​ нем можно указать,​ того, в отчет​Мясо​ использования функции автозавершения​ обращения для использования​=СУММ(‘Магазин 1:Магазин 3′!B3)​LEFT JOIN [Лист2$]​ и по дс​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=SUMPRODUCT((‘[1556855.xlsx]1’!B$2:B$999=A3)*(‘[1556855.xlsx]1′!C$2:C$999=»Total:»)*'[1556855.xlsx]1’!E$2:E$999)​
​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС(‘1’!$E$2:$E$61;НАИМЕНЬШИЙ(ЕСЛИ(‘1’!$C$2:$C$61=»Total:»;СТРОКА(‘1’!$E$2:$E$61)-1);СТРОКА(A1)))-A3;»»)​ ссылки на исходные​
​ условием успешного объединения​ это в отведённое​ и к этим​

​В группе​​Вы можете создать несколько​hands hands hands
​ же на существующий​
respect

​ сколько полей страницы​​ можно включить до​
​7673​ формул и списка​ функции СУММЕСЛИМН в​
​В этой формуле​
​ AS [Лист2$]​ , аналогично с​-​
​mabika​
​ файлы:​[ZEBR_TAG_/p> <adddiv>##site##3## <addspan data-link=​ (консолидации) таблиц в​

Суммирование ячеек из разных листов

​ количество знаков в​​ наименования есть две​Затем выберите диапазон в​ полей страницы и​ лист, и нажмите​ будет использоваться: ни​ четырех полей фильтра,​Восточный​ аргументов, то в​ формуле.​ указан диапазон всех​ON [Лист3$].Код=[Лист2$].Код​ листами ПР1 и​

​»[1556855.xlsx]» — это​​: Огромное спасибо за​Imobilazer​ подобном случае является​ названии темы?​ группы числовых значений​ списке и укажите​ назначить имена элементов​ кнопку​ одного, одно или​

​ которые называются «Страница1»,​​Песоцкий​ нашем примере диапазон_суммирования​Просмотрите в этом примере,​ листов (таблиц) -​GROUP BY​ ПР2. спасибоНадо обязательно​ имело в виду,​

​ помощь. Для меня​​: Писать в формуле​
​ совпадение заголовков столбцов​

​sboy​ (Лист1:5 столбец В​ метку элемента в​ каждому из исходных​Готово​ несколько.​ «Страница2», «Страница3» и​Сельхозпродукты​ — это диапазон​ в котором у​ Магазин1:Магазин3 , из​[Лист2$].Наименование​ привести названия к​ говоря об «Мне​ они почти, что​ название листа и​ и строк. Именно​: Подсказка: что формула​ и С). Наименования​ каждом из доступных​ диапазонов. Это позволяет​.​Чтобы объединить данные всех​ «Страница4».​664​ D2:D11, представляющий собой​ нас есть двумя​ которых значение ячеек​ORDER BY​ единому виду, а​ бы формулу без​ универсальны, смогу их​

CyberForum.ru

Подсчитать сумму используя данные с нескольких листов (Формулы)

​ ячейки через восклицательный​​ по первой строке​
​ должна сделать?​ в столбце А​ окон полей. Повторите​ выполнять частичную или​Чтобы включить одно поле​
​ диапазонов и создать​
​Каждый из диапазонов данных​Северный​ столбец с числами,​ условиями: необходимо узнать​ В3 суммируются.​[Лист2$].Наименование​ затем применить консолидацию.​
​ указания маршутов (как​ применить к моим​ знак, например:​ и левому столбцу​
​sboy​ на листах 1:5​ операцию для каждого​ полную консолидацию. Например,​ страницы, содержащее элемент​ консолидированный диапазон без​
​ следует преобразовать в​Егоров​ которые вы хотите​ сумму продаж​Теперь эту формулу​Genytech​ Но так как​
​ в этой ячейкп​ 12 листовым огромным​=Лист1!А1+Лист2!А2​ каждой таблицы Excel​
​: Вот такой лобовой​

​ находятся в произвольном​​ диапазона​

​ в одном поле​​ для каждого исходного​
​ полей страницы, сделайте​ формат перекрестной таблицы​Сельхозпродукты​ просуммировать; диапазон_условия1 —​мяса​ копируем по всей​

​: Всем большое спасибо​​ ПН и ПР​​ ссылка на фаил),​
​ файлам, где все​Ирина логинова​ будет искать совпадения​
​ вариант​ порядке, не повторяются​для каждого из​ страницы могут консолидироваться​ диапазона, а также​

​ следующее:​​ с совпадающими именами​1500​
​ это диапазон A2.A11,​в​
​ таблице (в строну,​
​ за помощь!​
​ должны суммироваться отдельно,​
​ так чтобы смогла​ данные переплетенны и​
​: если страницы в​
​ и суммировать наши​
​=СУММЕСЛИ(Лист1!$A:$A;$A2;Лист1!B:B)+СУММЕСЛИ(Лист2!$A:$A;$A2;Лист2!B:B)+СУММЕСЛИ(Лист3!$A:$A;$A2;Лист3!B:B)+СУММЕСЛИ(Лист4!$A:$A;$A2;Лист4!B:B)+СУММЕСЛИ(Лист5!$A:$A;$A2;Лист5!B:B)​ в одном диапазоне​
​ полей страницы выберите​
​ данных отдела маркетинга​
​ элемент для консолидации​
​Добавьте мастер сводных таблиц​
​ строк и столбцов​

​Южный​​ представляющий собой столбец​южном​

excelworld.ru

​ затем, вниз). Какими​

count

Продолжаем описание инструментов по оптимизации работы с листами книги EXCEL.

Пример – отчётная таблица по продажам товаров за каждый месяц в разрезе покупателей, создаваемая вручную.
Если у вас уже есть ранее созданные таблицы на каждый месяц, расположенные на листах одной книги (файла), и вам необходимо просуммировать показатели за закрытые периоды на сегодняшний день, вы можете воспользоваться так называемыми «трехмерными формулами». Эти формулы охватывают диапазоны, в которые входят сразу несколько листов. Для этого:

  1. Создаем дополнительный лист, в котором будем производить расчеты (Сводный) и копируем пустую таблицу.
    12

    3

  2. В первую ячейку вводим формулу суммирования СУММ (набираем =сумм, выбираем из выпадающего списка предлагаемую формулу).
    4
  3. Переключаемся на лист «Янв» и выбираем (кликаем) первую, соответствующую по расположению нашей формуле в сводном листе, ячейку.
    Далее самое важное!
    5
  4. Нажимаем на кнопку «Shift» на клавиатуре, и кликаем на ярлык последнего листа, который необходимо добавить в расчет(«Дек», или закрытый период – «Апр», как в примере).
    Будут сгруппированы все листы с «Янв» по «Апр», все данные на этих листах попадут в расчет.
    6
  5. Заканчиваем ввод нажатием Enter, формула на сводном листе будет иметь вид =СУММ(Янв:Апр!C6).
    7
  6. Далее – с помощью автозаполнения (просто протягиваем вправо и вниз), заполняем всю сводную таблицу нашей формулой и форматируем, как нам надо.
    8

Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)

Хитрости »

14 Май 2012              167956 просмотров


Как просуммировать данные с нескольких листов, в том числе по условию

Достаточно распространенная ситуация: в книге ведутся данные по продажам, разбивая каждый месяц на отдельный лист с именем месяца. Т.е. в листах Январь, Февраль и Март и т.д. расположены данные по продажам, а в ячейке C33 подводится общий итог за месяц. И на отдельном листе необходимо просуммировать все продажи по всем листам. Если структура всех таблиц одинакова (одинаковое кол-во строк, товар может различаться) и Итог расположен во всех таблицах в одной ячейке, то можно воспользоваться простой формулой:
=СУММ(Январь:Март!C33)
=SUM(Январь:Март!C33)
Как это сделать без указания имен листов вручную:

  • вбиваем в итоговую ячейку функцию СУММ(SUM)
  • для указания аргументов переходим на первый лист, данные которого необходимо суммировать
  • далее зажимаем клавишу Shift и выделяем последний лист(если необходимо выделить несмежные листы – зажимаем клавишу Ctrl)
  • указываем адрес ячейки для суммирования и жмем Enter

Подобная ссылка на диапазоны называется трехмерной ссылкой. Если между листом Январь и Март добавить еще какой-нибудь лист — то данные с него будут также автоматически включены в функцию суммирования, приведенную выше. Поэтому необходимо следить, чтобы указывались только нужные листы или диапазон листов ОТ и ДО. Если листов много и суммировать необходимо данные одной ячейки со всех листов, кроме того, в котором сама функция, то можно записать так:
=СУММ(‘*’!C33)
=SUM(‘*’!C33)
После того, как введет такую функцию в ячейку, Excel сам подставит в правильном виде имена всех листов для суммирования, даже если они идут не по порядку. Т.е. лист суммирования не обязательно должен быть в самом начале книги или в конце — он может быть и в середине — функция его автоматически уберет из суммирования в момент ввода функции.
Звездочка в данном случае является подстановочным символом, который заменяет собой любое количество любых символов. Т.е. в данном случае, как бы говорящим Excel: имя листа может быть любым. Поэтому, если надо суммировать только конкретные ячейки, но не со всех листов, а только с листов, начинающихся со слова «Отчет» — можно функцию записать так:
=СУММ(‘Отчет*’!C33)
=SUM(‘Отчет*’!C33)
Зная этот прием, можно заранее подготовить книгу, чтобы имена листов имели такие названия, по которым можно будет суммировать данные только с нужных в зависимости от ситуации(например, для каждой категории листов свое обозначение: «-год-«,»-месяц-«,»-квартал-» и т.п.).
К слову, подобное использование функции доступно и для родственных СУММ: СЧЁТ(COUNT), СРЗНАЧ(AVERAGE), МИН(MIN) и МАКС(MAX)

Минус такой функции в том, что таким образом можно просуммировать данные только ячеек листа, расположенных в одном и том же диапазоне(т.е. со всех листов будет взята сумма всех ячеек конкретного диапазона — в примере будут просуммированы данные из одной ячейки C33 всех листов). А использование функции ДВССЫЛ(INDIRECT) для динамического указания имен первого и последнего листа при этом не допускается.

А значит, если необходимо будет просуммировать данные по отдельным товарам со всех листов, а товары расположены в каждом листе в хаотичном порядке, разном для каждого листа и количество строк различается — такая формула не подойдет. Но можно воспользоваться чуть более сложной формулой:
=СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ({«Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь»}&»!B3:B100″);B3;ДВССЫЛ({«Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь»}&»!C3:C100″)))
=SUMPRODUCT(SUMIF(INDIRECT({«Январь»;»Февраль»;»Март»;»Апрель»;»Май»;»Июнь»}&»!B3:B100″),B3,INDIRECT({«Январь»;»Февраль»;»Март»;»Апрель»;»Май»;»Июнь»}&»!C3:C100″)))
В данном случае названия товаров записаны в столбце B, а суммы — в столбце С

  • «Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь» — имена листов, с которых происходит суммирование. Важно помнить, что имена листов должны быть точь-в-точь как в книге(со всеми пробелами, точками и запятыми), иначе будет ошибка. Не буду останавливаться подробно на всех вложенных функциях. Про СУММЕСЛИ(SUMIF) можно прочитать в этой статье. ДВССЫЛ(INDIRECT) используется для создания ссылки на диапазон, состоящей из имени листа и адреса ячеек: Январь!B3:B100, Февраль!B3:B100, Март!B3:B100, Апрель!B3:B100, Май!B3:B100, Июнь!B3:B100. Т.е. мы в формуле перебираем все указанные листы, создаем диапазоны в каждом из них и суммируем на основании критерия при помощи СУММЕСЛИ. А при помощи СУММПРОИЗВ(SUMPRODUCT) суммируем полученные от СУММЕСЛИ результаты в единое число.

    Важно: если в имени листа встречается пробел, либо иной знак препинания, то имя листа необходимо заключать в апострофы: «‘Январь 2014′»:»‘Февраль 2014′»:»Март»:»Апрель»:»Май»:»Июнь»
    либо ставить апострофы заранее для всех листов:
    ДВССЫЛ(«‘»&{«Январь»:»Февраль»:»Март»:»Апрель»:»Май»:»Июнь»}&»‘!C3:C100″)

  • B3:B100- диапазон в каждом листе, в котором искать критерий (при необходимости указать больше строк)
  • B3- ссылка на ячейку в итоговом листе, содержащую критерий
  • C3:C100 — диапазон в каждом листе, ячейки из которого надо суммировать (при необходимости указать больше строк)

В чем главное неудобство — необходимо так или иначе указывать листы, с которых суммировать. Если листов много, то перечислить их все в формуле будет не так-то просто. В таком случае можно записать имена листов в отдельный диапазон и ссылаться на него в формуле(формула в данном случае получается более универсальной и короткой):
=СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ(«‘»&$H$3:$H$8&»‘!B3:B100»);B3;ДВССЫЛ(«‘»&$H$3:$H$8&»‘!C3:C100»)))
=SUMPRODUCT(SUMIF(INDIRECT(«‘»&$H$3:$H$8&»‘!B3:B100»),B3,INDIRECT(«‘»&$H$3:$H$8&»‘!C3:C100»)))
Но и она имеет свои недостатки:

  • нельзя указать диапазон имен листов «с запасом». Т.е. если у нас имена листов записаны в диапазоне H3:H8, то нельзя в формуле указать H3:H10
  • в диапазоне с перечислением листов не должно быть пустых ячеек
  • в диапазоне с перечислением листов не должно быть имен листов, которые заведомо отсутствуют в книге. Например, если имя листа записано с опечаткой

Если хоть одно из этих условий не выполняется — формула вернет ошибку #ССЫЛКА!(#REF!)
Плюс иногда именно перечисление листов напрямую в формуле удобнее. Например, если нет возможности выделить для этого отдельный диапазон.
Поэтому во вложении ниже эта формула представлена в двух вариантах: со статичным перечислением имен листов и с использованием дополнительного столбца для перечисления листов. А какую именно использовать — придется решать по ситуации.
Так же в примере перечислены все варианты суммирования, включая разбираемые ниже с использованием Visual Basic for Applications
Скачать пример суммирования с листов формулой

  Суммировать со всех листов.xls (134,0 KiB, 12 706 скачиваний)


Возможно, есть и иные способы суммирования формулой. Может даже есть способ суммировать, не указывая имена листов, но у меня не получилось так сделать без использования VBA. Поэтому я написал свою пользовательскую функцию:

'---------------------------------------------------------------------------------------
' Function  : СУММЕСЛИ_ВСЕ_ЛИСТЫ
' Purpose   : Функция суммирует на основании критерия значения со всех листов, кроме листа с функцией
'             Диапазон              - ссылка на диапазон ячеек для поиска критерия
'             Критерий              - значение, на основании которого суммировать данные
'             ДиапазонСуммирования  - ссылка на диапазон ячеек, значения которых суммировать
'             ВсеЛисты              - 1(по умолчанию) - суммирование происходит со всех листов, кроме листа с функцией
'                                     0 - суммирование происходит только в листах, расположенных левее листа с функцией
'---------------------------------------------------------------------------------------
Function СУММЕСЛИ_ВСЕ_ЛИСТЫ(Диапазон As Range, Критерий, ДиапазонСуммирования As Range, Optional ВсеЛисты As Boolean = True)
    Dim wsSh As Worksheet
    Dim wbFunc As Workbook
    Dim sRange As String, sSumRange As String
    Dim dblSum As Double
    Dim rRange As Range, rCriteria As Range, rSumRange As Range, bAllSh As Boolean
 
    Set rRange = Диапазон
    If IsObject(Критерий) Then
        Set rCriteria = Критерий
    Else
        rCriteria = Критерий
    End If
    Set rSumRange = ДиапазонСуммирования
    bAllSh = ВсеЛисты
 
    'определяем книгу, в которой записана функция
    Set wbFunc = Application.Caller.Parent.Parent
    'определяем адреса поиска критерия и суммирования
    sRange = rRange.Address
    sSumRange = rSumRange.Address
    'цикл по всем листам книги с функцией
    For Each wsSh In wbFunc.Worksheets
        If bAllSh Then
            'если это не лист с функцией
            If wsSh.Name <> Application.Caller.Parent.Name Then
                dblSum = dblSum + Application.SumIf(wsSh.Range(sRange), rCriteria, wsSh.Range(sSumRange))
            End If
        Else
            'если лист ДО листа с функцией
            If wsSh.Index < Application.Caller.Parent.Index Then
                dblSum = dblSum + Application.SumIf(wsSh.Range(sRange), rCriteria, wsSh.Range(sSumRange))
            End If
        End If
    Next wsSh
    'выводим результат
    СУММЕСЛИ_ВСЕ_ЛИСТЫ = dblSum
End Function

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций(Shift+F3), отыскав её в категории Определенные пользователем (User Defined Functions).
Синтаксис функции:
суммируем со всех листов
=СУММЕСЛИ_ВСЕ_ЛИСТЫ(B3:B100;B3;C3:C100)
суммируем со всех листов ДО листа с функцией
=СУММЕСЛИ_ВСЕ_ЛИСТЫ(B3:B100;B3;C3:C100;0)
Аргументы функции аналогичны стандартной СУММЕСЛИ, только в конце добавлен еще один, необязательный. Принцип работы и все нюансы полностью совпадают с таковыми для функции СУММЕСЛИ(можно использовать подстановочные символы и операторы сравнения), т.к. внутри функции применяется непосредственно СУММЕСЛИ, применительно к каждому листу, а результаты затем суммируются в единое значение.
Диапазон — Ссылка на диапазон ячеек. Указывается диапазон значений, среди которых необходимо искать критерий(Критерий).
Критерий — Ссылка на ячейку или произвольное значение, на основании которого надо суммировать данные.
ДиапазонСуммирования — Ссылка на диапазон ячеек. Указывается диапазон ячеек, значения в которых необходимо просуммировать на основании критерия(Критерий).
ВсеЛисты — Необязательный аргумент. Если не указан, или указано значение 1 или ИСТИНА(TRUE), то будут суммироваться значения со всех листов, кроме листа, на котором записана функция. Если указано значение 0 или ЛОЖЬ(FALSE), то будут суммироваться значения с листов, расположенных до листа, на котором записана функция.

Применение всех функций вы найдете в примере к статье:
Скачать пример

  Суммировать со всех листов.xls (134,0 KiB, 12 706 скачиваний)


Дополнил статью функцией, которая суммирует данные только с указанных листов, либо со всех, кроме листа с функцией:

'---------------------------------------------------------------------------------------
' Function  : СУММЕСЛИ_ЛИСТЫ
' Purpose   : Функция суммирует на основании критерия значения с указанных листов, кроме листа с функцией
'             Диапазон              - ссылка на диапазон ячеек для поиска критерия
'             Критерий              - значение, на основании которого суммировать данные
'             ДиапазонСуммирования  - ссылка на диапазон ячеек, значения которых суммировать
'             ИмяЛистов             - Имена листов, записанные через вопр.знак(?), с которых суммировать данные
'                                     Пример: "Январь?Февраль?Май"
'---------------------------------------------------------------------------------------
Function СУММЕСЛИ_ЛИСТЫ(Диапазон As Range, Критерий, ДиапазонСуммирования As Range, Optional ИмяЛистов = "")
    Dim asSheets, li As Long
    Dim wsSh As Worksheet
    Dim wbFunc As Workbook
    Dim sRange As String, sSumRange As String
    Dim dblSum As Double
    Dim rRange As Range, rCriteria As Range, rSumRange As Range, sSheets As String
 
    Set rRange = Диапазон
    If IsObject(Критерий) Then
        Set rCriteria = Критерий
    Else
        rCriteria = Критерий
    End If
    Set rSumRange = ДиапазонСуммирования
    sSheets = ИмяЛистов
 
    'определяем книгу, в которой записана функция
    Set wbFunc = Application.Caller.Parent.Parent
    'определяем адреса поиска критерия и суммирования
    sRange = rRange.Address
    sSumRange = rSumRange.Address
 
    If sSheets = "" Then
        For Each wsSh In wbFunc.Worksheets
            If wsSh.Name <> Application.Caller.Parent.Name Then
                sSheets = sSheets & "?" & wsSh.Name
            End If
        Next wsSh
        sSheets = Mid$(sSheets, 2)
    End If
    asSheets = Split(sSheets, "?")
    'цикл по всем листам книги
    For li = LBound(asSheets) To UBound(asSheets)
        Set wsSh = wbFunc.Sheets(asSheets(li))
        If Not wsSh Is Nothing Then
            dblSum = dblSum + Application.SumIf(wsSh.Range(sRange), rCriteria, wsSh.Range(sSumRange))
        End If
    Next li
    'выводим результат
    СУММЕСЛИ_ЛИСТЫ = dblSum
End Function

Синтаксис функции:
=СУММЕСЛИ_ЛИСТЫ($B$3:$B$100;$A3;$C$3:$C$100;»Январь?Март»)
Диапазон — Ссылка на диапазон ячеек. Указывается диапазон значений, среди которых необходимо искать критерий(Критерий).
Критерий — Ссылка на ячейку или произвольное значение, на основании которого надо суммировать данные.
ДиапазонСуммирования — Ссылка на диапазон ячеек. Указывается диапазон ячеек, значения в которых необходимо просуммировать на основании критерия(Критерий).
ИмяЛистов — Необязательный аргумент. Указываются имена листов книги, с которых надо суммировать данные. Имена листов должны быть записаны через вопросительный знак: Январь?Март. Если аргумент не указан или указана пустая ячейка, то будут суммироваться значения со всех листов, кроме листа, на котором записана функция.

Скачать пример с кодом функции:
Скачать пример

  Суммировать со всех листов.xls (134,0 KiB, 12 706 скачиваний)


Очередное дополнение статьи — функция, в которой помимо перечисления листов можно указать книгу, в которой эти листы просматривать:

'---------------------------------------------------------------------------------------
' Function  : СУММЕСЛИ_ЛИСТЫ_В_КНИГЕ
' Purpose   : Функция суммирует на основании критерия значения с указанных листов, кроме листа с функцией
'             Диапазон              - ссылка на диапазон ячеек для поиска критерия
'             Критерий              - значение, на основании которого суммировать данные
'             ДиапазонСуммирования  - ссылка на диапазон ячеек, значения которых суммировать
'             ИмяЛистов             - Имена листов, записанные через вопр.знак(?), с которых суммировать данные
'                                     Пример: "Январь?Февраль?Май"
'             ИмяКниги              - имя книги, данные с которой необходимо суммировать
'---------------------------------------------------------------------------------------
Function СУММЕСЛИ_ЛИСТЫ_В_КНИГЕ(Диапазон As Range, Критерий, ДиапазонСуммирования As Range, Optional ИмяЛистов = "", Optional ИмяКниги As String = "")
    Dim wsSh As Worksheet, sRange As String, sSumRange As String, asSheets, li As Long
    Dim wbB As Workbook
    Dim dblSum As Double
    Dim rRange As Range, rCriteria As Range, rSumRange As Range, sSheets As String, sWbName As String
 
    Set rRange = Диапазон
    If IsObject(Критерий) Then
        Set rCriteria = Критерий
    Else
        rCriteria = Критерий
    End If
    Set rSumRange = ДиапазонСуммирования
    sSheets = ИмяЛистов
    sWbName = ИмяКниги
 
    If sWbName = "" Then
        Set wbB = Application.Caller.Parent.Parent
    Else
        Set wbB = Application.Workbooks(sWbName)
    End If
 
    'определяем адреса поиска критерия и суммирования
    sRange = rRange.Address
    sSumRange = rSumRange.Address
    If sSheets = "" Then
        For Each wsSh In wbB.Worksheets
            If wsSh.Name <> Application.Caller.Parent.Name Then
                sSheets = sSheets & "?" & wsSh.Name
            End If
        Next wsSh
        sSheets = Mid$(sSheets, 2)
    End If
    asSheets = Split(sSheets, "?")
    'цикл по всем листам указанной книги
    On Error Resume Next
    For li = LBound(asSheets) To UBound(asSheets)
        Set wsSh = wbB.Sheets(asSheets(li))
        If Not wsSh Is Nothing Then
            dblSum = dblSum + Application.SumIf(wsSh.Range(sRange), rCriteria, wsSh.Range(sSumRange))
        End If
    Next li
    'выводим результат
    СУММЕСЛИ_ЛИСТЫ_В_КНИГЕ = dblSum
End Function

Синтаксис функции:
=СУММЕСЛИ_ЛИСТЫ_В_КНИГЕ($B$3:$B$100;$A3;$C$3:$C$100;»Январь?Март»;»Книга1.xlsx»)
Аргументы и их использование полностью совпадают с описанными выше для функции СУММЕСЛИ_ЛИСТЫ. Поэтому опишу только последний аргумент:
ИмяКниги — Необязательный аргумент. Указываются имя книги, в которой будут просматриваться листы, указанные параметром ИмяЛистов. Если аргумент ИмяКниги не указан — листы просматриваются в книге, в которой записана сама функция. Если какого-либо из указанных листов не будет в указанной книге — ошибка будет проигнорирована. Если среди открытых книг не будет книги с указанным именем — функция вернет ошибку #ЗНАЧ!(#VALUE!). Важно: имя книги необходимо указывать вместе с расширением: «Книга1.xlsx»

Скачать пример с кодом функций:
Скачать пример

  Суммировать со всех листов.xls (134,0 KiB, 12 706 скачиваний)


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Понравилась статья? Поделить с друзьями:
  • Использование макросов в excel 2010
  • Использование линии тренда в excel
  • Использование макроса для всего excel
  • Использование критериев в excel
  • Использование макроса во всех excel