Формулы могут работать с ячейками из других листов. Вам просто нужно указать перед ссылкой на ячейку имя листа и восклицательный знак. Например, следующая формула добавляет 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). Этот прием не ограничивается функцией СУММ. Он работает и с другими функциями, такими как СРЗНАЧ, МИН, МАКС.
Как посчитать сумму с разных листов в 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) . В данном случае двоеточие разделяет название первого и последнего листов.
Для создания такой формулы выполните приведенные ниже действия.
- Активизируйте ячейку, которая будет содержать формулу, и наберите =СУММ( .
- Щелкните на вкладке первого листа (в нашем случае это Лист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). Этот прием не ограничивается функцией СУММ. Он работает и с другими функциями, такими как СРЗНАЧ, МИН, МАКС.
Сумма одной и той же ячейки на нескольких листах
Задача: у вас есть 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 ) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций( 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 (ДВССЫЛ), а не наоборот.
Формулы могут работать с ячейками из других листов. Вам просто нужно указать перед ссылкой на ячейку имя листа и восклицательный знак. Например, следующая формула добавляет 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 рабочей книги табличного процессора Excel таблицу, как показано на рисунке. Сведения о среднемесячной заработной плате:
- Далее на листе 2 рабочей книги подготовим область для размещения нашего результата — размера нашей премии в рублях, как показано на рисунке:
- Далее нам необходимо будет ввести в ячейку В2 формулу, изображенную на рисунке ниже:
Ввод данной формулы происходил следующим образом: для начала в ячейке В2 мы установили знак «=», затем кликнули на «Лист1» в нижнем левом углу рабочей книги и перешли на ячейку C3 на листе 1, далее ввели операцию умножения и перешли вновь на «Лист2» для того чтобы добавить процент.
Таким образом мы получили при расчете премии каждого сотрудника, причем исходные данные находились на одном листе, а расчет был произведен на другом листе. Данная формула окажется весьма полезной при работе с более длинными массивами данных в крупных организациях.
Функция ЛИСТЫ для подсчета количества листов в рабочей книге
Рассмотрим теперь пример работы функции ЛИСТЫ. Довольно часто бывает так, что в рабочей книге Excel расположено слишком много листов. Выяснить их точное количество визуально не представляется возможным, именно с этой целью и создана функция ЛИСТЫ.
В данной функции всего 1 аргумент – «Ссылка» да и то необязательный для заполнения. Если его не заполнять тогда функция возвращает общее количество листов, созданных в текущей рабочей книге файла Excel. При необходимости можно заполнить аргумент. Для этого в нем необходимо указать ссылку на рабочую книгу, в которой необходимо подсчитать общее количество листов, созданных в ней.
Пример2. Предположим у нас имеется фирма по производству мягкой мебели, и у нее есть множество документов, которые содержатся в рабочей книге Excel. Нам необходимо вычислить точное число этих документов, так как каждый из них имеет свое название, то для того чтобы визуально вычислить их количество потребуется время.
На рисунке ниже показано примерное количество листов:
Чтобы организовать подсчет всех листов, необходимо воспользоваться функцией ЛИСТЫ. Просто ставим знак равенства «=» и вписываем функцию, не заполняя ее аргументов в скобках. Вызов данной функции показан ниже на рисунке:
В результате получим следующее значение: 12 листов.
Таким образом мы узнали, что в нашей фирме имеется 12 документов, содержащихся в рабочей книге Excel. Этот простой пример наглядно иллюстрирует работу функции ЛИСТЫ. Данная функция может стать полезной для руководителей, офисных сотрудников, менеджеров по продажам.
Ссылки на другие листы в шаблонах документов
Пример 3. Имеются данные о расходах на банкет компании занимающейся выездным обслуживанием. Необходимо произвести расчет общей стоимости банкета, а также общий выход порций блюд, и вычислить общее количество листов в документе.
- Создадим таблицу «Банкетное меню», общий вид которой представлен на рисунке ниже:
- Аналогичным образом создадим таблицы на разных листах «Общая стоимость» и «Общий выход»:
- При помощи формулы со ссылками на другие листы произведем расчет общей стоимости банкетного меню:
- Перейдем на лист «Общий выход» и путем умножения ячеек веса одной порции, находящегося на листе 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
Хитрости »
14 Май 2012 168078 просмотров
Как просуммировать данные с нескольких листов, в том числе по условию
Достаточно распространенная ситуация: в книге ведутся данные по продажам, разбивая каждый месяц на отдельный лист с именем месяца. Т.е. в листах Январь, Февраль и Март и т.д. расположены данные по продажам, а в ячейке 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 709 скачиваний)
Возможно, есть и иные способы суммирования формулой. Может даже есть способ суммировать, не указывая имена листов, но у меня не получилось так сделать без использования 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) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций(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 709 скачиваний)
Дополнил статью функцией, которая суммирует данные только с указанных листов, либо со всех, кроме листа с функцией:
'--------------------------------------------------------------------------------------- ' 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 709 скачиваний)
Очередное дополнение статьи — функция, в которой помимо перечисления листов можно указать книгу, в которой эти листы просматривать:
'--------------------------------------------------------------------------------------- ' 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 709 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Ссылки в 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. все листы, а Обычно, когда мы
эта тема похожаmabikagling на первой странице) ячейку и выберите значения по кварталам на листах 1:5задано число нескольких полей страницы,
excel-office.ru
Суммирование значений с учетом нескольких условий
панелью инструментов и. показано четыре диапазона a11; D2: D11 появятся остальные аргументыРассмотрим изучить все части некоторые, выборочно, смотрите пишем формулу, в на другие, но:: Здравствуйте. Может так? + (навести мышь на вкладке (в и наименованиям. могут быть пустыми.1 сделайте следующее: выберитеВ списке в формате перекрестной«Южно» C2: C11, (здесь они не
формулы. в статье «Как которой нужно сделать очень нужна ВашаОгромнейшее спасибо.200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(‘1′!D2:D29;»membership»;’1’!E2:E28) на значение на меню)Самый простой способ решения
На листе Результат, выберите каждый изДобавьте мастер сводных таблицДополнительные командыВыбрать команды из таблицы. «Мясо») показаны);= СУММЕСЛИМН является формулой заполнить таблицу в ссылку на другой
помощь!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мастера выберите параметр страницы и несколькоКонсолидация данных представляет собой
-
веб-приложения Excel Online. данных. При простом суммировании на разных страницах, колонки: Код товара
-
том, что название та же ячейка=СУММ (Лист1:Лист100!D9) итоге в списке на листах с
-
с шестью диапазонами,, выполните аналогичные действия.мастера выберите параметрв нескольких диапазонах консолидации элементов. удобный способ объединения Изменяйте значения и
-
-
После этого необходимо найти – покажет ошибку. отчет магазинов - и количество (из
-
области повторяется с в столбце В
-
P.S. должны оказаться все 2001 по 2003, а в реальной в полеВ книге щелкните пустуюв нескольких диапазонах консолидации, а затем нажмите
-
Если велика вероятность того, данных из нескольких формулы или добавляйте данные, которые соответствуютСложить данные таблицы № 1, № этого количества нужно точкой, как мне
-
«membership».Обратите внимание : три диапазона:
-
т.е. количество листов, таблице диапазонов большеПервое поле ячейку, которая не, а затем нажмите кнопку что в следующий источников в одном
свои собственные, чтобы двух условий, поэтому можно другим способом. 2 и № подбить сумму для и его посчитать?
-
Спасибо огромное Восклицат знак ставитсяОбратите внимание, что в по сути, может 30. Конечно всё. Затем выберите два является частью сводной кнопкуДалее
-
-
раз при консолидации отчете. Например, если увидеть, как мгновенно введите свой первый Смотрите статью «Как 3. конкретного вида товара спасибо_Boroda_ только после последнего
Консолидация данных с использованием одного поля страницы
данном случае Excel быть любым. Также оно работает и диапазона и введите таблицы.Далее.
-
данных исходный диапазон в каждом из изменятся результаты. условие, указав для
-
объединить таблицы вНам нужно сложить данные на первом листе)Evgesha807: Так нужно?
-
Листа запоминает, фактически, положение в будущем возможно работает правильно, но в поле
-
На странице.На странице данных изменится (например, региональных филиалов вашейСкопируйте все ячейки из функции расположение данных Excel».
-
-
в этих отчетах.Если не получится: Там не только200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((ДЕНЬ(‘1’!B$2:B$999)=СТРОКА(A1))*(‘1′!D$2:D$999=»Membership»)*’1’!E$2:E$999)
-
mabika файла на диске, поместить между стартовым хочется сделать этоВторое полеШаг 1На страницеШаг 2а
-
изменится число строк), компании есть сводная приведенной ниже таблицы (a2: a11), аЛюбую формулу можноВнимание! это сделать формулой, лишние точки, но
-
mabika: Всем привет. Нужна прописывая для каждого
-
и финальным листами красивее. В идеале,одинаковое имя, напримермастера выберите параметрШаг 2авыберите параметр рекомендуется задать имя таблица расходов, с
и вставьте их также какие условием проверить, правильно лиЭтот способ удобен, подскажите, пожалуйста, какой и пробелы, и
-
-
: Огромная благодарность за помощь. Запуталась в из них полный
-
дополнительные листы с что бы на «Пг1» и «Пг2».в нескольких диапазонах консолидациивыберите параметрСоздать поля страницы для каждого из помощью консолидации данных в ячейку A1 является — наилучшим
Консолидация данных с использованием нескольких полей страницы
она считает (составлна), когда таблицы одинаковые написать макрос. написание: в одном помощь, за Ваше выборе правильной функций путь (диск-папка-файл-лист-адреса ячеек). данными, которые также листе Результат всё Выберите первый диапазон, а затем нажмитеСоздать одно поле страницы, а затем нажмите исходных диапазонов на можно объединить такие нового листа Excel. образом «Южный». Обратите найти ошибку на по форме.
-
Заранее благодарен! случае Респ, в время и ваше и формул для
-
Чтобы суммирование происходило станут автоматически учитываться происходило в одном и введите имя кнопку
-
, а затем нажмите кнопку разных листах. Эти значения в корпоративный Вы можете отрегулировать
-
внимание, запятые между любом этап вычисления,На новой страницеSerge_007 другом респ; Адыгея терпение. обработки данных. Хотя с учетом заголовков
-
-
при суммировании. столбце, а не «Пг1», выберите второйДалее
-
кнопкуДалее имена можно использовать отчет о расходах. ширину столбцов, чтобы отдельные аргументы: найти циклическую ссылку. будем устанавливать формулу
-
: См. вложение и Адыгая. ПотомИзвините за беспокойство. бы подсказка, что столбцов и строкЕсли исходные таблицы не в трёх. Сейчас диапазон и введите
-
.Далее.
-
при консолидации диапазонов Такой отчет может формулы лучше отображались.= SUMIFS(D2:D11,A2:A11,»South», Смотрите в статье сложения данных изGenytech уже можно применять
Отдельно задавала вопросы использовать было бы необходимо включить оба абсолютно идентичны, т.е. поделено на три имя «Пг1», выберите
-
На странице.На странице на главном листе. содержать итоговые иРегион
-
Кавычки вокруг слова «Южный» «Как проверить формулы ячеек первых трех: Serge_007, что-либо. надеясь в остольном великолено, не говоря флажка имеют разное количество только из-за громоздкости третий диапазон иШаг 2аНа странице
Шаг 2б
-
В случае расширения средние данные поПродавец укажите, что это в Excel». таблиц. Пишем формулуСпасибо, это работает.Evgesha807 самой разобраться. К уже об готовойИспользовать в качестве имен строк, столбцов или всей конструкции и введите имя «Пг2»,выберите параметрШаг 2бсделайте следующее: исходного диапазона перед продажам, текущим уровнямЧто следует ввести текстовые данные.
-
Примечание: сложения данных из А можно как-то: Это я Знаю. сожалению знания не фопмуле.(Use labels) повторяющиеся данные или ограничения на количество выберите четвертый диапазонСоздать поля страницысделайте следующее:Перейдите в книгу и обновлением сводной таблицы запасов и наиболееПродажиНаконец, введите аргументы дляМы стараемся как ячеек В3 всех реализовать все в как поменять и хватает.Если не лень. Флаг
-
-
находятся в разных аргументов или чего-то и введите имя
-
-
, а затем нажмитеПерейдите в книгу и выделите диапазон ячеек, можно обновить диапазон популярным продуктам вЮжный второго условия – можно оперативнее обеспечивать таблиц. Делаем активной одной формуле на
выровнять текст в
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укажите, следует лиПерейдите в книгу и
.Совет: другие способы консолидации таблице на главном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, но, к
Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(‘1′!B$2:B$999;A3;’1’!E$2:E$999)/2 любого Тотала, неОКИван.xlsx против массивов ничего лист, и нажмите таблиц и диаграмм сначала откройте ее, чтобы упростить выбор и макетах. Например, и главный лист,5122 ВВОД. Результат, снова вас уделить пару верхнюю ячейку этой как у Вас сожалению, ничего неА для TOTAL нужно менять диапазонывидим результат нашей
, не имею.
- кнопку
- и нажмите кнопку чтобы упростить выбор
- данных. вы можете создавать или в другихСеверный нажмите — 14,719. секунд и сообщить, таблицы (В3).
- в файле написано поняла.Я сделала все Bar что ВамКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ($B$1:$B28;$B29;E$1:E28)Файл перевложил работы:Рита.xlsxsboyГотовоДобавить данных.В разделе формулы с объемными книгах. Консолидированные данныеПесоцкий
- =SUMIFS(D2:D11,a2:a11,»South»,C2:C11,»Meat») помогла ли онаТеперь нажимаем кнопку слово «количество». по рекомендации, но нужно — я
Еще добавленоНаши файлы просуммировались пои: Исправьте название темы,..Нажмите кнопкуВо-первых, укажите количество полей ссылками или использовать легче обновлять иМолочные продуктыПо мере ввода функции вам, с помощью на клавиатуре «Shift»PowerBoy итог у меня не понял. Там все проще совпадениям названий изФедор оно должно отражатьК началу страницыСовет:Далее
страницы сводной таблицы команду обобщать на регулярной6239
СУММЕСЛИМН в Microsoft кнопок внизу страницы. и, удерживая её: Попробовал сделать в не получилсяПриложите итоговыйИ эту фразу - крайнего левого столбца.xlsx суть вопросаklgfinn Если диапазон ячеек находится.введитеКонсолидация
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
(значками плюс слева размеры и смысловая удовольствием, но на переписать их.В разделе на новый или
.). областиЕгоров, автозавершение формул появится значения с более 3) не откроется[Лист2$].Наименование AS Наименование, «нужно получить». Грубо Одна проблема, когда
китин
от таблицы), то начинка. Тем не
какое? Не срабатываетПо задумке наВо-первых, укажите количество полей
же на существующийНа страницеДля консолидации нескольких диапазонов
Список полей сводной таблицыМясо под формулы, в
чем одного условия, и не нужно.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;»») ссылки на исходные
условием успешного объединения это в отведённое и к этим
В группеВы можете создать несколько
же на существующий
сколько полей страницы можно включить до
7673 формул и списка функции СУММЕСЛИМН в
В этой формуле
AS [Лист2$] , аналогично с-
mabika
файлы: (консолидации) таблиц в
Суммирование ячеек из разных листов
количество знаков в наименования есть двеЗатем выберите диапазон в полей страницы и лист, и нажмите будет использоваться: ни четырех полей фильтра,Восточный аргументов, то в формуле. указан диапазон всех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
затем, вниз). Какими