Суммирование данных с разных книг в excel

0 / 0 / 0

Регистрация: 25.07.2016

Сообщений: 8

1

25.07.2016, 09:33. Показов 16940. Ответов 12


Студворк — интернет-сервис помощи студентам

Уважаемы гуру VBA помогите новичку не провалить задание.
Дело в том, что с разных отделов ( около 40) мне шлют заполненную таблицу Excel, универсальную для всех.
Разница лишь в цифрах, которые туда заносит каждый отдел исходя из своих показателей. Мне нужно создать сводную, одну таблицу, которая бы суммировала значения всех отделов. Неизменными остаются -шапка таблицы и столбец с названием показателей. Какой макрос применить в этом случае? Спасибо!
( таблица в приложении)



0



190 / 59 / 20

Регистрация: 16.07.2013

Сообщений: 234

25.07.2016, 09:48

2

Цитата
Сообщение от selenti
Посмотреть сообщение

Какой макрос применить в этом случае?

Макрос обхода всех файлов в одной папке, копирование информации в новый эксель с последующим составлением свода.



0



0 / 0 / 0

Регистрация: 25.07.2016

Сообщений: 8

25.07.2016, 09:51

 [ТС]

3

Цитата
Сообщение от Michael99
Посмотреть сообщение

Макрос обхода всех файлов в одной папке, копирование информации в новый эксель с последующим составлением свода.

Цитата
Сообщение от Michael99
Посмотреть сообщение

Макрос обхода всех файлов в одной папке, копирование информации в новый эксель с последующим составлением свода.

Michael99, а как это технически сделать? Я в этом совсем темнота еще



0



653 / 246 / 88

Регистрация: 28.10.2015

Сообщений: 520

26.07.2016, 00:16

4

Лучший ответ Сообщение было отмечено selenti как решение

Решение

123



2



0 / 0 / 0

Регистрация: 25.07.2016

Сообщений: 8

26.07.2016, 09:06

 [ТС]

5

Да, так это и выглядит.
В папке более 50 Книг под названием «филиал по________», с одним листом в каждой,под названием «Свод_раздел1″и расширением (.xls).
Пустая сводная таблица может быть как вне папки, так и внутри нее.
Вчера всю ночь просидела над формированием книги, копируя туда все листы с более чем 50 книг, чтобы потом применить функцию суммы. Это было очень долго ( т.к офис стоял 2010), потом пришлось переустановить на 2016-й и заработало. Но эта процедура меня ждет каждый месяц и я уже с содраганием смотрю в август месяц.

Добавлено через 4 минуты
Кнопка «Собрать» не сработала((

Добавлено через 8 минут
Прошу прощения, это я с утра(после бессонной ночи ) трою. Работает! Спасибо Вам огромное!!!!



0



653 / 246 / 88

Регистрация: 28.10.2015

Сообщений: 520

26.07.2016, 13:53

6

Лучший ответ Сообщение было отмечено selenti как решение

Решение

Цитата
Сообщение от selenti
Посмотреть сообщение

Пустая сводная таблица может быть как вне папки, так и внутри нее.

Предоставленный мною макрос собирает данные из файлов в указанной папки. Если сама сводная лежит там же, где и искомые данные, то код надо допилить немного, иначе книга попытается открыть сама себя и затем закрыть сама себя.
Вот, держите вариант для случая «итоговый отчет лежит в той же папке, где и искомые данные»
В данном случае код обходит книгу, в которой он написан (итоговый отчет), но открывает все остальные, которые лежат в той же папке.
+ всё ускорено временным отключением системных сообщений (application.displayalerts = false)
+ во время работы макрос пишет в окно отладки (immediate window) информацию об открываемых файлах и файле, который был пропущен.



1



0 / 0 / 0

Регистрация: 25.07.2016

Сообщений: 8

27.07.2016, 08:46

 [ТС]

7

Огромное Вам человеческое спасибо! Подскажите, как удалить теперь отсюда мою тему? Спасибо



0



3217 / 966 / 223

Регистрация: 29.05.2010

Сообщений: 2,085

27.07.2016, 08:58

8

Цитата
Сообщение от selenti
Посмотреть сообщение

как удалить теперь отсюда мою тему?

Зачем, теперь это достояние всех!!!



0



0 / 0 / 0

Регистрация: 26.04.2016

Сообщений: 3

08.02.2018, 02:00

9

добрые люди, вопрос такой же,как выше, только ничего не понятно как решили. есть файлы .xlsx c кучей цифр внутри, как их суммировать в 1.
всего около 12 файлов, включая 13 главный
данные из всех файлов должно стечь в 1 главный файл. в каждом файле есть около 20 листов. поиск дал макрос [/hide]
так на форуме видел похожий топик, но пояснений не было. файл большее 100 кб, выложил на яндексе [hide] файл 275 кб

Добавлено через 19 часов 28 минут
почему то не добавился https://yadi.sk/d/KoBUyxwi3SADhh



0



0 / 0 / 0

Регистрация: 12.01.2021

Сообщений: 1

12.01.2021, 05:19

10

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



0



0 / 0 / 0

Регистрация: 24.01.2022

Сообщений: 1

24.01.2022, 00:11

11

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



0



297 / 157 / 86

Регистрация: 01.04.2020

Сообщений: 436

24.01.2022, 18:00

12

Цитата
Сообщение от shurik-23
Посмотреть сообщение

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

shurik-23, на примернoе oписание задачи, даются примерные oтветы, на тoчные и кoнкретные сooтветственнo — тoчные и кoнкретные. Так чтo беда тoлькo для тoгo, ктo хoтел кoнкретнo а спрашивал примернo.



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

24.01.2022, 20:38

13

С тех пор появилось PQ — изучите и юзайте.



0



Как посчитать сумму с разных листов в 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 (ДВССЫЛ), а не наоборот.

Формулы могут работать с ячейками из других листов. Вам просто нужно указать перед ссылкой на ячейку имя листа и восклицательный знак. Например, следующая формула добавляет 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). Этот прием не ограничивается функцией СУММ. Он работает и с другими функциями, такими как СРЗНАЧ, МИН, МАКС.

Как просуммировать значения с разных книг?

Vasill

Дата: Понедельник, 11.02.2013, 23:35 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Нужна сводная таблица по нескольким (порядка 17) книгам.
Для примера выкладываю 2 книги… Каждая — отдельная книга с таблицей. В итоге необходимо получить сумму значений по каждой расчетной ячейке (ячейки с номерами пропускаем)… вот как-то так. Буду рад помощи.

К сообщению приложен файл:

9048973.rar
(32.8 Kb)

Сообщение отредактировал VasillПонедельник, 11.02.2013, 23:36

 

Ответить

AlexM

Дата: Вторник, 12.02.2013, 10:24 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Несколько вопросов. Я просто такого еще не видел.
Для чего так много объединенных ячеек, как по столбцам, так и по строкам? Название столбцов прочесть невозможно.
Заголовок таблицы можно не множить на каждую страницу, а сделать закрепленную область и печать на каждой странице.
Книги немного отличаются. В одной вверху две лишних строки.
Где делать суммирование, создать книгу с именем Сумма или как-то иначе.
Расположение книг в ПК, в одной папке с книгой Сумма или иначе?
Решение только формулами, только макросом или все равно?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Vasill

Дата: Вторник, 12.02.2013, 12:08 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Такую форму скинули… не я ее делал. Пытаюсь жене помочь. Ей все это предстоит руками пересчитать — бесчеловечно просто.
Объясню немного поподробнее — есть несколько контор, Они предоставляют данные вот в таких таблицах. Необходимо получить общее кол-во по каждой расчетной ячейке.
Форма не имеет значение, способ решения тоже — главное что б были цифры. Я готов все листы переместить в одну книгу. Насчет верхних двух строчек — убирал название — у одного файла просто текст убрал, а во втором — вырезал ячейки… вот и разница. в файле 1 — форма правильнее.

 

Ответить

AlexM

Дата: Вторник, 12.02.2013, 12:29 |
Сообщение № 4

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

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

Между листом 1 и N можно вставить любое количество листов, которые будут сммироваться.
См. файл.

К сообщению приложен файл:

____.xls
(17.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Vasill

Дата: Вторник, 12.02.2013, 12:34 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Как просто.
Я попробую.
Боюсь как бы не возникла сложность из-за объединения ячеек.
О результатах — отпишусь.

 

Ответить

AlexM

Дата: Вторник, 12.02.2013, 12:56 |
Сообщение № 6

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Экспериментировал с вашим файлом.
Почему то формулу не получается копировать так Копировать — Вставить. Только Копировать — Специальная вставка «формулы»
Если формула находится в ячейке из 10-и, то ее не вставить в ячейку из 8-и. Получается так. Копируете формулу (не ячейку) в строке формул, переходите на ячейку куда вставить и вставляете в строку формул поправив адрес.
Работа не простая, зато после создания листа «Сумма» с формулами останется только подставлять листы новые листы.
Начните с суммирования двух листов, так проверять результат проще.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Vasill

Дата: Вторник, 12.02.2013, 14:11 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Спасибо большое! Буду дерзать.

 

Ответить

elizarov_1973

Дата: Пятница, 05.04.2013, 20:26 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 18


Репутация:

0

±

Замечаний:
0% ±


Здравствуйте! Помогите пожалуйста составить более краткую формулу с суммированием одновременно с вычетом значений ячеек из 1 листа и вставки в ячейку 2 листа.
=ПОСТОЯННЫЙ!C8+ПОСТОЯННЫЙ!D8+ПОСТОЯННЫЙ!G8-ПОСТОЯННЫЙ!X4-ПОСТОЯННЫЙ!Y4-ПОСТОЯННЫЙ!Z4-ПОСТОЯННЫЙ!AA4-ПОСТОЯННЫЙ!AB4-ПОСТОЯННЫЙ!AC4-ПОСТОЯННЫЙ !AD4-ПОСТОЯННЫЙ!AE4-ПОСТОЯННЫЙ!AF4-ПОСТОЯННЫЙ!AG4-ПОСТОЯННЫЙ!AH4-ПОСТОЯННЫЙ!AI4-ПОСТОЯННЫЙ!AJ4-ПОСТОЯННЫЙ!AK4-ПОСТОЯННЫЙ!AL4-ПОСТОЯННЫЙ!AM4- ПОСТОЯННЫЙ!AN4-ПОСТОЯННЫЙ!AO4-ПОСТОЯННЫЙ!AP4-ПОСТОЯННЫЙ!AQ4-ПОСТОЯННЫЙ!AR4-ПОСТОЯННЫЙ!AS4-ПОСТОЯННЫЙ!AT4
[moder]Пользуйтесь тегами оформления. Для формул — кнопка fx

 

Ответить

AlexM

Дата: Пятница, 05.04.2013, 22:10 |
Сообщение № 9

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

так?

Код

=СУММ(ПОСТОЯННЫЙ!C8:D8;ПОСТОЯННЫЙ!G8)-СУММ(ПОСТОЯННЫЙ!X4:AT4)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

elizarov_1973

Дата: Пятница, 05.04.2013, 22:31 |
Сообщение № 10

Группа: Пользователи

Ранг: Новичок

Сообщений: 18


Репутация:

0

±

Замечаний:
0% ±


Спасибо!

 

Ответить

SARAN

Дата: Вторник, 24.09.2013, 09:13 |
Сообщение № 11

[quote=AlexM, ]Если вы можете все таблицы из разных книг переложить в одну, раскинув по листам, то можно поступить так [/quote]

А если это разные книги, вернее одинаковые, только названием (имя отдела) отличаются, там по одному листу, и нужно определенный столбик (квартал) просчитать и свести в один.
Казалось бы так же суммой, но отдать надо будет тока итоговый файл и связи порушаться… можно скопировать значения, но вот бы уже вставились нужные цифры.
Видимо только vba или vbs?

 

Ответить

SARAN

Дата: Вторник, 24.09.2013, 12:40 |
Сообщение № 12

Такое нашел…

 

Ответить

SARAN

Дата: Четверг, 03.10.2013, 08:37 |
Сообщение № 13

По сабжу так и не сказали, предложив свести в одну книгу.
И все таки по ситуации:
Есть книга с одним листом, которую все отделы раздублировали в той же папке (книга, книга-отдел1, книга-отдел2 и т.д.) и вбили свои данные в столбик «квартал4».
Надо бы свести в главную книгу и книгу отправить почтой.
Сделал суммой (=’F:папка[книга-отдел1.xlsm]Заяка отдела’!$H22+’F:папка[книга-отдел2.xlsm]Заяка отдела’!$H22+), но потом надо скопировать и вставить только значения,
чтобы связи не порушились из-за отсутствия остальных файлов рядом.
А вот бы скриптик — сложи из всех лежащих в папке файликов ячейку в Н22 из всех Н22, в Н23 из всех Н23 и т.д.(квартал 4), ну потом будет 1 квартал Е22.
Заранее благодарствую откликнувшимся

 

Ответить

Pelena

Дата: Четверг, 03.10.2013, 10:04 |
Сообщение № 14

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

SARAN, Вы нарушили, по крайней мере, четыре пункта Правил форума.
Прочитайте правила и создайте свою тему в разделе ВОПРОСЫ ПО VBA
Эту тему закрываю


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Как в эксель суммировать ячейки из разных листов?

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

Первый шаг. В моем файле программы эксель есть три листа: «ВСЕ Филиалы», «Филиал Москва», «Филиал СПБ». Лист «ВСЕ Филиалы» является сводным, который должен содержать сводную информацию об обоих филиалах. На рисунке ниже представлен лист «Филиал Москва».

Второй шаг. Пропишем формулу в листе «ВСЕ Филиалы», для этого вы должны перейти в данный лист и поставить курсор в ячейку «D6». В ней поставьте знак «=», а потом перейдите на лист «Филиал Москва» и нажмите на ячейку «D6», после поставить знак «+» и перейдите на лист «Филиал СПБ», и снова нажмите на ячейку «D6». После этого на клавиатуре нажимаем клавишу «Enter», в итоге должна получиться формула: =’Филиал Москва’!D6+’Филиал СПБ’!D6 .

Третий шаг. В приведенном примере, таблицы на всех листах совершенно одинаковые, поэтому чтобы просуммировать оставшиеся ячейки, вы выделяете, сначала ячейку «D6» и нажимаете на клавиатуре сочетание клавиш «Ctrl+C». После выделяем область ячеек с «D6» по «D283» и нажимаем либо на клавишу «Enter», либо на сочетание клавиш «Ctrl+V». В итоге всего за три шага мы свели информацию по двум филиалам, просуммировав данные с двух разных листов.

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

Рассмотрим ситуацию из жизненной практики.

счет КУ (коммунальные услуги) в Эксель

Например, существует документ (файл excel), состоящий из нескольких вкладок.

2-й квартал 3 месяца

Вкладками документа являются сформированные в виде таблиц Excel счета на оплату коммунальных услуг за несколько месяцев с апреля по июнь включительно, то есть за один квартал.

Необходимо посчитать сумму выставленных счетов за указанный период времени – второй квартал года.

Для этого создаем дополнительный лист Excel, на котором составляем формулу суммирования.

Вписываем в ячейку:

— знак равно «=»;

— далее функцию «СУММ()»;

— в скобках указываем диапазон суммирования (Лист_Апрель:Лист_июнь!H26) – где Лист_апрель:Лист_Июнь – диапазон листов из которых берутся данные, H26 – суммируемая ячейка;

Формула суммы на нескольких листах

Нажимаем клавишу «Enter» на клавиатуре.

Формула «=СУММ(Лист_Апрель:Лист_июнь!H26)» считает сумму одной и той же ячейки с разных листов.

5 основ Excel (обучение): как написать формулу, как посчитать сумму, сложение с условием, счет строк и пр.

Подумать только: складывать в автоматическом режиме значения из одних формул в другие, искать нужные строки в тексте, создавать собственные условия и т.д. — в общем-то, по сути мини-язык программирования для решения «узких» задач (признаться честно, я сам долгое время Excel не рассматривал за программу, и почти его не использовал) .

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

То есть эта статья будет что-то мини гайда по обучению самому нужному для работы (точнее, чтобы начать пользоваться Excel и почувствовать всю мощь этого продукта!) .

Возможно, что прочти подобную статью лет 17-20 назад, я бы сам намного быстрее начал пользоваться Excel (и сэкономил бы кучу своего времени для решения «простых» задач. 👌

ускорение ПК

Обучение основам Excel: ячейки и числа

Примечание : все скриншоты ниже представлены из программы Excel 2016 (как одной из самой новой на сегодняшний день).

Многие начинающие пользователи, после запуска Excel — задают один странный вопрос: «ну и где тут таблица?». Между тем, все клеточки, что вы видите после запуска программы — это и есть одна большая таблица!

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

  • слева : в ячейке (A1) написано простое число «6». Обратите внимание, когда вы выбираете эту ячейку, то в строке формулы (Fx) показывается просто число «6».
  • справа : в ячейке (C1) с виду тоже простое число «6», но если выбрать эту ячейку, то вы увидите формулу «=3+3» — это и есть важная фишка в Excel!

Просто число (слева) и посчитанная формула (справа)

👉 Суть в том, что Excel может считать как калькулятор, если выбрать какую нибудь ячейку, а потом написать формулу, например «=3+5+8» (без кавычек). Результат вам писать не нужно — Excel посчитает его сам и отобразит в ячейке (как в ячейке C1 в примере выше)!

Но писать в формулы и складывать можно не просто числа, но и числа, уже посчитанные в других ячейках. На скриншоте ниже в ячейке A1 и B1 числа 5 и 6 соответственно. В ячейке D1 я хочу получить их сумму — можно написать формулу двумя способами:

  • первый: «=5+6» (не совсем удобно, представьте, что в ячейке A1 — у нас число тоже считается по какой-нибудь другой формуле и оно меняется. Не будете же вы подставлять вместо 5 каждый раз заново число?!);
  • второй: «=A1+B1» — а вот это идеальный вариант, просто складываем значение ячеек A1 и B1 (несмотря даже какие числа в них!).

Сложение ячеек, в которых уже есть числа

Распространение формулы на другие ячейки

В примере выше мы сложили два числа в столбце A и B в первой строке. Но строк то у нас 6, и чаще всего в реальных задачах сложить числа нужно в каждой строке! Чтобы это сделать, можно:

  1. в строке 2 написать формулу «=A2+B2» , в строке 3 — «=A3+B3» и т.д. (это долго и утомительно, этот вариант никогда не используют) ;
  2. выбрать ячейку D1 (в которой уже есть формула) , затем подвести указатель мышки к правому уголку ячейки, чтобы появился черный крестик (см. скрин ниже) . Затем зажать левую кнопку и растянуть формулу на весь столбец. Удобно и быстро! ( Примечание : так же можно использовать для формул комбинации Ctrl+C и Ctrl+V (скопировать и вставить соответственно)) .

Кстати, обратите внимание на то, что Excel сам подставил формулы в каждую строку. То есть, если сейчас вы выберите ячейку, скажем, D2 — то увидите формулу «=A2+B2» (т.е. Excel автоматически подставляет формулы и сразу же выдает результат) .

Как задать константу (ячейку, которая не будет меняться при копировании формулы)

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

Далее в ячейке E2 пишется формула «=D2*G2» и получаем результат. Только вот если растянуть формулу, как мы это делали до этого, в других строках результата мы не увидим, т.к. Excel в строку 3 поставит формулу «D3*G3», в 4-ю строку: «D4*G4» и т.д. Надо же, чтобы G2 везде оставалась G2.

Чтобы это сделать — просто измените ячейку E2 — формула будет иметь вид «=D2*$G$2». Т.е. значок доллара $ — позволяет задавать ячейку, которая не будет меняться, когда вы будете копировать формулу (т.е. получаем константу, пример ниже) .

Константа / в формуле ячейка не изменяется

Как посчитать сумму (формулы СУММ и СУММЕСЛИМН)

Можно, конечно, составлять формулы в ручном режиме, печатая «=A1+B1+C1» и т.п. Но в Excel есть более быстрые и удобные инструменты.

Один из самых простых способов сложить все выделенные ячейки — это использовать опцию автосуммы (Excel сам напишет формулу и вставить ее в ячейку) .

Что нужно сделать, чтобы посчитать сумму определенных ячеек:

  1. сначала выделяем ячейки (см. скрин ниже 👇) ;
  2. далее открываем раздел «Формулы» ;
  3. следующий шаг жмем кнопку «Автосумма» . Под выделенными вами ячейками появиться результат из сложения;
  4. если выделить ячейку с результатом (в моем случае — это ячейка E8) — то вы увидите формулу «=СУММ(E2:E7)» .
  5. таким образом, написав формулу «=СУММ(xx)» , где вместо xx поставить (или выделить) любые ячейки, можно считать самые разнообразные диапазоны ячеек, столбцов, строк.

Автосумма выделенных ячеек

Как посчитать сумму с каким-нибудь условием

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

Я в своей таблицы буду использовать всего 7 строк (для наглядности) , реальная же таблица может быть намного больше. Предположим, нам нужно посчитать всю прибыль, которую сделал «Саша». Как будет выглядеть формула:

  1. » =СУММЕСЛИМН( F2:F7 ; A2:A7 ;»Саша») » — ( прим .: обратите внимание на кавычки для условия — они должны быть как на скрине ниже, а не как у меня сейчас написано на блоге) . Так же обратите внимание, что Excel при вбивании начала формулы (к примеру «СУММ. «), сам подсказывает и подставляет возможные варианты — а формул в Excel’e сотни!;
  2. F2:F7 — это диапазон, по которому будут складываться (суммироваться) числа из ячеек;
  3. A2:A7 — это столбик, по которому будет проверяться наше условие;
  4. «Саша» — это условие, те строки, в которых в столбце A будет «Саша» будут сложены (обратите внимание на показательный скриншот ниже) .

Сумма с условием

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

Как посчитать количество строк (с одним, двумя и более условием)

Довольно типичная задача: посчитать не сумму в ячейках, а количество строк, удовлетворяющих какомe-либо условию.

Ну, например, сколько раз имя «Саша» встречается в таблице ниже (см. скриншот). Очевидно, что 2 раза (но это потому, что таблица слишком маленькая и взята в качестве наглядного примера). А как это посчитать формулой?

«=СЧЁТЕСЛИ( A2:A7 ; A2 )» — где:

  • A2:A7 — диапазон, в котором будут проверяться и считаться строки;
  • A2 — задается условие (обратите внимание, что можно было написать условие вида «Саша», а можно просто указать ячейку).

Результат показан в правой части на скрине ниже.

Количество строк с одним условием

Теперь представьте более расширенную задачу: нужно посчитать строки, где встречается имя «Саша», и где в столбце «B» будет стоять цифра «6». Забегая вперед, скажу, что такая строка всего лишь одна (скрин с примером ниже) .

Формула будет иметь вид:

=СЧЁТЕСЛИМН( A2:A7 ; A2 ; B2:B7 ;»6″) — (прим.: обратите внимание на кавычки — они должны быть как на скрине ниже, а не как у меня) , где:

A2:A7 ; A2 — первый диапазон и условие для поиска (аналогично примеру выше);

B2:B7 ;»6″ — второй диапазон и условие для поиска (обратите внимание, что условие можно задавать по разному: либо указывать ячейку, либо просто написано в кавычках текст/число).

Счет строк с двумя и более условиями

Как посчитать процент от суммы

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

👉 В помощь!

Как посчитать проценты: от числа, от суммы чисел и др. [в уме, на калькуляторе и с помощью Excel] — заметка для начинающих

Самый простой способ, в котором просто невозможно запутаться — это использовать правило «квадрата», или пропорции.

Вся суть приведена на скрине ниже: если у вас есть общая сумма, допустим в моем примере это число 3060 — ячейка F8 (т.е. это 100% прибыль, и какую то ее часть сделал «Саша», нужно найти какую. ).

По пропорции формула будет выглядеть так: =F10*G8/F8 (т.е. крест на крест: сначала перемножаем два известных числа по диагонали, а затем делим на оставшееся третье число).

В принципе, используя это правило, запутаться в процентах практически невозможно 👌.

Пример решения задач с процентами

PS

Собственно, на этом я завершаю данную статью. Не побоюсь сказать, что освоив все, что написано выше (а приведено здесь всего лишь «пяток» формул) — Вы дальше сможете самостоятельно обучаться Excel, листать справку, смотреть, экспериментировать, и анализировать. 👌

Скажу даже больше, все что я описал выше, покроет многие задачи, и позволит решать всё самое распространенное, над которым часто ломаешь голову (если не знаешь возможности Excel) , и даже не догадывается как быстро это можно сделать. ✔

Понравилась статья? Поделить с друзьями:
  • Суммирование ячеек в excel по условию с разных листов
  • Суммирование данных в excel по условию
  • Суммирование ячеек в excel по условию или формуле
  • Суммирование данных в excel по одному критерию
  • Суммирование ячеек в excel по одному условию