Excel диапазон на двух листах

СЧЕТЕСЛИ диапазон на нескольких листах

Андреич

Дата: Пятница, 04.07.2014, 10:45 |
Сообщение № 1

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

Ранг: Участник

Сообщений: 60


Репутация:

0

±

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


Excel 2007

Вот есть функция: СЧЁТЕСЛИ (диапазон;критерий)
Можно ли в качестве диапазона указывать диапазоны расположенные на разных листах?
И как это правильно записать.
например нужно чтобы формула подсчитывала ячейки в диапазонах ячеек А1:А10 на листе1 и В1:В12 на листе2.
Спасибо!


…пожарные выехали в ту же ночь…

 

Ответить

Serge_007

Дата: Пятница, 04.07.2014, 10:45 |
Сообщение № 2

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

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

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Нет, нельзя


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

ArkaIIIa

Дата: Пятница, 04.07.2014, 10:56 |
Сообщение № 3

Группа: Проверенные

Ранг: Ветеран

Сообщений: 894


Репутация:

115

±

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


2010

Андреич
А что Вам мешает сделать:

Код

=СЧЁТЕСЛИ(Лист1!A1:A10;»критерий»)+СЧЁТЕСЛИ(Лист2!B1:B12;»критерий»)

?

Сообщение отредактировал ArkaIIIaПятница, 04.07.2014, 10:57

 

Ответить

Serge_007

Дата: Пятница, 04.07.2014, 11:10 |
Сообщение № 4

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

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

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

ArkaIIIa, а если листов 100500? :)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

ArkaIIIa

Дата: Пятница, 04.07.2014, 11:16 |
Сообщение № 5

Группа: Проверенные

Ранг: Ветеран

Сообщений: 894


Репутация:

115

±

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


2010

Serge_007
Тогда нужно бы написать макрос, который объединит данные со всех листов в одну таблицу и дальше не изобретать велосипед)

 

Ответить

Андреич

Дата: Пятница, 04.07.2014, 11:21 |
Сообщение № 6

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

Ранг: Участник

Сообщений: 60


Репутация:

0

±

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


Excel 2007

Задам вопрос по другому, хотя наверное опять нарушаю правила…
посмотрите вложение пожалуйста

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

9837553.xls
(19.0 Kb)


…пожарные выехали в ту же ночь…

 

Ответить

ArkaIIIa

Дата: Пятница, 04.07.2014, 11:24 |
Сообщение № 7

Группа: Проверенные

Ранг: Ветеран

Сообщений: 894


Репутация:

115

±

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


2010

Андреич
А зачем Вы выносите каждый месяц на новый лист, не проще вести таблицу на 1 листе? Тогда у вас не будет сложностей для подсчета чего-угодно.

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

_9837553.xls
(30.5 Kb)

Сообщение отредактировал ArkaIIIaПятница, 04.07.2014, 11:28

 

Ответить

Андреич

Дата: Пятница, 04.07.2014, 11:32 |
Сообщение № 8

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

Ранг: Участник

Сообщений: 60


Репутация:

0

±

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


Excel 2007

Таблица с данными знааааачительно больше (и в ширину и в длинну) чем в примере, поэтому не удобно с ней работать на одном листе, пройденный этап.


…пожарные выехали в ту же ночь…

 

Ответить

Serge_007

Дата: Пятница, 04.07.2014, 11:37 |
Сообщение № 9

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

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

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

не удобно с ней работать на одном листе

Неудобно штаны через голову одевать, а с данными на одном листе работать и не надо
Сливаете всё на один лист, потом делаете сводную и работаете с данными как угодно
Количество данных (и в ширину и в длину) роли не играет

[p.s.]Длина пишется с одной «н»[/p.s.]


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

_Boroda_

Дата: Пятница, 04.07.2014, 11:41 |
Сообщение № 10

Группа: Модераторы

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Андреич, уж коли Вам так хочется себе жизнь усложнить, пара вариантов.
В первом просто формулу на листах пишете, во втором среднее считается на доп. листе, а на нашем листе только смотрим картинку с другого.


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

and708

Дата: Среда, 22.07.2020, 12:14 |
Сообщение № 11

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

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

Сообщений: 19


Репутация:

0

±

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


Excel 2010

ArkaIIIa, позвольте я тоже задам вопрос на подобную тему.
Есть имя в диспетчере имен, оно включает в себя несколько разрозненных диапазонов. нужно применить функцию СЧЁТЕСЛИ к этому имени.
конечно же, можно придумать что-то типа

Код

=СЧЁТЕСЛИ(Лист1!A1:A10;»критерий»)+СЧЁТЕСЛИ(Лист2!B1:B12;»критерий»)[vba][code]

[/vba]
но дело в том что в Excel есть возможность присвоить одно имя разным фрагментам, даже если у них нет общих ячек или границ. И к этому имени возможно применить разные фунцкии, например СЧЁТ. Но к сожалению, нельзя применить СЧЁТЕСЛИ однажды — затем в скобках это имя. Можно, как вы правильно заметили, применить длинную формулу, как сумму нескольких СЧЁТЕСЛИ, но это во-первых неудобно, во-вторых, зачем тогда было присваивать это имя? прошу пожалуйста ответьте, как можно решить эту проблему, чтобы было во-первых, удобно.во-вторых, чтобы можно было по-возможности применить только одну функцию, содержащую имя — а втнутри этого имени несколько отдельных фрагментов Excel. Спасибо за помощь и понимание.

 

Ответить

Pelena

Дата: Среда, 22.07.2020, 13:05 |
Сообщение № 12

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

and708, создайте свою тему, приложив файл с небольшим примером. Эта тема закрыта


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

 

Ответить

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше

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

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

=SUM(Sales:Marketing!B3)

Вы даже можете добавить другой таблицу, а затем переместить ее в диапазон, на который ссылается формула. Например, чтобы добавить ссылку на ячейку B3 на сайте «Помещения», перетаскиванием ярлыка между таблицами «Продажи» и «Отдел кадров» перетаскиванием ярлыка, как показано на рисунке:

Вставка другого листа в консолидацию

 

Поскольку формула содержит объемную ссылку на диапазон имен, Sales:Marketing! B3, все таблицы в диапазоне являются частью нового вычисления.

В примерах ниже объясняется, что происходит при вставке, копировании, удалении или удалении таблиц, включенных в трехсмеховую ссылку. В каждом из этих примеров используется формула =СУММ(Лист2:Лист6! A2:A5), чтобы добавить ячейки с A2 по A5 на ячейки со 2 по 6-ю.

  • Вставка или копирование. Если вставить или скопировать листы между листами 2 и 6, Excel в вычислениях будут включены все значения в ячейках с A2 по A5 на листах, которые являются первосторонними.

  • Удалить    При удалении листов между листами 2 и 6 Excel из вычислений.

  • Переместить    Если переместить листы между листами 2 и 6 в место за пределами диапазона, на который ссылается лист, Excel удаляет их значения из вычислений.

  • Переместить конечную точку —    Если переместить лист 2 или 6 в другое место в той же книге, Excel скорректирует сумму, включив новые листы между ними, если не изменить порядок конечных точек в книге. Если вы изменяете конечные точки, трехэтапная ссылка изменяет таблицу конечных точек. Например, у вас может быть ссылка на Лист2:Лист6. Если переместить лист 2 после листа 6 в книге, формула скорректируется так, чтобы она была на «Лист3:Лист6». Если вы переместили лист 6 перед листом 2, формула скорректируется так, чтобы она ука была на лист2:Лист5.

  • Удаление конечной точки    При удалении листа 2 или Excel из вычислений удаляются значения на этом листе.

Сделайте следующее:

  1. Щелкните ячейку, в которую нужно ввести функцию.

  2. Введите = (знак равно), за которым следует имя функции (см. таблицу ниже), а затем открываемую скобку.

  3. Щелкните явку первого, на который вы хотите со ссылкой.

  4. Удерживая нажатой клавишу SHIFT, щелкните явку для последнего нужного для ссылки на таблицу.

  5. Вы выберите ячейку или диапазон ячеек, на которые нужно со ссылкой.

  6. Заполнив формулу, нажмите ввод.

Для трехсъемки можно использовать следующие функции:

Функция

Описание

СРЗНАЧ

Вычисляет среднее значение (среднее арифметическое) чисел.

СРЗНАЧА

Вычисляет среднее значение (среднее арифметическое) чисел; включает текст и логические аргументы.

СЧЁТ

Подсчитывка ячеек, содержащих числа.

СЧЁТЗ

Подсчитываются непустые ячейки.

СРГАРМ

Возвращает гармонию набора положительных чисел: обратное арифметическое, обратное обратным.

ЭКСЦЕСС

Возвращает эксцесс множества данных.

НАИБОЛЬШИЙ

Возвращает k-ое по величине значение из множества данных. Например, пятое по величине число.

МАКС

Находит наибольшее значение в наборе значений.

МАКСА

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

МЕДИАНА

Возвращает медиану или число в середине набора заданных чисел.

МИН

Находит наименьшее значение в наборе значений.

МИНА

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

ПЕРСЕНТИЛЬ

Возвращает k-ю процентиль для значений в диапазоне, где k находится в диапазоне от 0 до 1. Предоставляется для обеспечения совместимости с более ранними версиями Excel.

ПРОЦЕНТИЛЬ.ИСКЛ

Возвращает k-ю процентиль для значений диапазона, где k — число от 0 и 1 (не включая эти числа).

ПРОЦЕНТИЛЬ.ВКЛ

Возвращает k-ю процентиль для значений диапазона, где k — число от 0 и 1 (включая эти числа).

ПРОЦЕНТРАНГ

Возвращает ранг значения в наборе данных в процентах (0,1) от набора данных. Предоставляется для обеспечения совместимости с более ранними версиями Excel.

ПРОЦЕНТРАНГ.ИСКЛ

Возвращает ранг значения в наборе данных как процентное содержание в наборе данных (от 0 до 1, не включая эти числа).

ПРОЦЕНТРАНГ.ВКЛ

Возвращает ранг значения в наборе данных как процентное содержание в наборе данных (от 0 до 1, включая эти числа).

КВАРТИЛЬ

Возвращает квартиль набора данных на основе значений процентили от 0,1. Предоставляется для обеспечения совместимости с более ранними версиями Excel.

КВАРТИЛЬ.ИСКЛ

Возвращает квартиль набора данных на основе значений процентили от 0,1 до монопольно.

КВАРТИЛЬ.ВКЛ

Возвращает квартиль набора данных на основе значений процентили от 0 до 1 (включительно).

ПРОИЗВЕД

Перемножая числа.

РАНГ

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

РАНГ.РВ

Возвращает ранг числа в списке чисел: его размер относительно других значений в списке.

РАНГ.СР

Возвращает ранг числа в списке чисел: его размер относительно других значений в списке.

СКОС

Возвращает асимметрию распределения.

НАИМЕНЬШИЙ

Возвращает k-ое наименьшее значение в множестве данных.

СТАНДОТКЛОН.В

Вычисляет стандартное отклонение по выборке.

СТАНДОТКЛОН.Г

Вычисляет стандартное отклонение всей численности населения.

СТАНДОТКЛОНА

Вычисляет стандартное отклонение по выборке; включает текст и логические аргументы.

СТАНДОТКЛОНПА

Вычисляет стандартное отклонение всей численности населения; включает текст и логические аргументы.

УРЕЗСРЕДНЕЕ

Возвращает среднее внутренности множества данных.

СУММ

Сбавляет числа.

ДИСП.В

Оценивает дисперсию по выборке.

ДИСП.Г

Вычисляет дисперсию для всей численности населения.

ДИСПА

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

ДИСПРА

Вычисляет дисперсию для всей численности населения; включает текст и логические логичные аргументы.

Сделайте следующее:

  1. На вкладке Формулы нажмите кнопку Определить имя (в группе Определенные имена).

  2. Во всплывающее окно Новое имя введите имя для ссылки. Длина имени не может превышать 255 знаков.

  3. В списке Ссылки выберите знак равно (=) и ссылку, а затем нажмите клавишу BACKSPACE.

  4. Щелкните явку первого, на который вы хотите со ссылкой.

  5. Удерживая нажатой клавишу SHIFT, щелкните вкладку листа ссылки.

  6. Вы выберите ячейку или диапазон ячеек, на которые нужно со ссылкой.

Подробнее

Дополнительные информацию о перемещении книги см. в этой теме. Дополнительные информацию о создании и использовании определенных имен см. в теме Определение и использование имен в формулах.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

Создание ссылки на один и тот же диапазон ячеек на нескольких листах

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

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

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

Можно даже добавить другой лист и переместите его в диапазоне, на который ссылается формула. Чтобы добавить ссылку на ячейку B3 листе помещениям, переместите лист помещениям между листами продаж и управления Персоналом, перетащив ее вкладку, как показано на рисунке:

Так как формула содержит трехмерную ссылку на диапазон имена листов отдел сбыта: отдел маркетинга! B3, являющихся частью вычислениях все листы в диапазоне.

В примерах ниже объясняется, что происходит при вставке, копирование, удаление или перемещение листов, которые содержатся в трехмерной ссылке. Каждый из этих примерах используется формула = СУММ (Лист2: Лист6! A2: a5 полученное) для добавления ячейки с A2 по A5 на листах 2 – 6:

Вставка или копирование — Если вставлять или копировать листы между листами 2 и 6 (конечные точки в данном примере), Excel, включает в себя все значения в ячейках с A2 по A5 составные листов в вычислениях.

Удаление — Если удалить листы между листами 2 и 6, Microsoft Excel вычтет из суммы.

Перемещение — При перемещении оказались диапазон листа, на который указывает ссылка листы между листами 2 и 6, Microsoft Excel вычтет из суммы.

Перемещение конечного листа — Если переместить лист 2 или 6 в другое место в той же книге, Microsoft Excel скорректирует сумму с включить новые листы между ними, если только изменить порядок конечные точки в книге. Если отразить конечную точку, трехмерной ссылки изменяется на листе конечную точку. Например имеется ссылка на Лист2: Лист6. При перемещении Лист2 находится после Sheet6 в книге, формула будет настроить, чтобы они указывали Sheet3:Sheet6. При перемещении Sheet6 перед листом 2, формула будет настроить, чтобы они указывали Sheet2:Sheet5.

Удаление конечного листа — . Если удалить лист 2 или 6, Microsoft Excel удаляет значения удалятся из вычислений.

Щелкните ячейку, в которую вводятся функцию.

Тип знак равенства (=), за которым следует имя функции (смотрите в приведенной ниже таблице), а затем открывающую круглую скобку.

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

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

Выделите диапазон ячеек, на которые нужно создать ссылку.

Завершите ввод формулы, а затем нажмите клавишу ВВОД.

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

Вычисляет среднее арифметическое чисел.

Вычисляет среднее арифметическое чисел с учетом логических значений и текстовых строк.

Подсчитывает количество ячеек, содержащих числа.

Подсчитывает количество непустых ячеек.

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

Возвращает эксцесс множества данных.

Возвращает k-ое по величине значение из множества данных. Например, пятое наибольшее число.

Находит наибольшее значение из набора значений.

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

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

Находит наименьшее значение из набора значений.

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

Возвращает k-ю процентиль для значений диапазона, где k — число в диапазоне от 0 до 1, исключая границы. Предоставлена для совместимости с предыдущими версиями Excel.

Возвращает k-ю процентиль для значений диапазона, где k — число от 0 и 1 (не включая эти числа).

Возвращает k-ю процентиль для значений диапазона, где k — число от 0 и 1 (включая эти числа).

Возвращает ранг значения в наборе данных как процентное содержание в наборе данных (от 0 до 1). Предоставлена для совместимости с предыдущими версиями Excel.

Возвращает ранг значения в наборе данных как процентное содержание в наборе данных (от 0 до 1, не включая эти числа).

Возвращает ранг значения в наборе данных как процентное содержание в наборе данных (от 0 до 1, включая эти числа).

Возвращает квартиль набора данных на основе значений процентили от 0 до 1 (включительно). Предоставлена для совместимости с предыдущими версиями Excel.

Возвращает квартиль набора данных на основе значений процентили от 0 до 1 (исключая эти числа).

Возвращает квартиль набора данных на основе значений процентили от 0 до 1 (включительно).

Вычисляет произведение чисел.

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

Возвращает ранг числа в списке чисел, то есть его величину относительно других значений в списке.

Возвращает ранг числа в списке чисел, то есть его величину относительно других значений в списке.

Возвращает асимметрию распределения.

Возвращает k-ое наименьшее значение в множестве данных.

Вычисляет стандартное отклонение по выборке.

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

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

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

Возвращает среднее внутренности множества данных.

Вычисляет сумму чисел.

Оценивает дисперсию по выборке.

Вычисляет дисперсию для генеральной совокупности.

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

Вычисляет дисперсию для генеральной совокупности; логических значений и текстовых строк

На вкладке формулы щелкните Присвоить имя (в группе Определенные имена ).

Во всплывающем окне Новое имя введите имя в качестве ссылки. Имена могут быть длиной до 255 знаков.

В списке диапазон выберите знак равенства (=) и ссылки, а затем нажмите клавишу BACKSPACE.

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

Удерживая нажатой клавишу Shift и перейдите на вкладку ссылки на лист.

Выделите диапазон ячеек, на которые нужно создать ссылку.

Дополнительные сведения

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Формула. Как получить диапазон листов с условием в Excel?

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

P.S Т.е пользователь вводит значение в заранее определенную ячейку метку для поиска листов и автоматически формула применяется только к определенным листам. Для фото выше это будет например слово «Компонент», т.е это будут все листы содержащие подстроку — Компонент

Покажите пример такой формулы пожалуйста.

  • Вопрос задан более года назад
  • 123 просмотра

Вообще мне известно четыре способа получения имени листов таблицы.
Три тут:
https://www.datanumen.com/blogs/3-quick-ways-to-ge.
— вручную
— через name manager и формулы
— через VBA

Выбираете любой, создаете диапазон с именами листов, сравниваете с целевым значением.

через name manager и формулы тоже нужно использовать макрос «GET.WORKBOOK»

Да, но она штатная. С ее помощью вполне легко именно автоматически получить список листов.
Кодинга не требуется. Макросы разрешать не нужно, емнип. Содержащая такое решение книга сохраняется в xlsx, нее в xlsb. Так что сложностей с ним не вижу.

А вообще вопрос задан очень обще, не совсем понятно, что автору нужно на выходе — названия листов или сами листы в отдельном файле )

Вообще по всем признакам похоже на домашнее задание 🙂

Xambey, честно, не очень представляю
^)

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

John Smith, нет, это не домашнее задание:) Пытаюсь автоматизировать отчет по тестированию и есть необходимость не писать некоторые формулы по 50 раз. И если получиться использовать список листов для СЧЁТЕСЛИ(range, object), то это сильно упростит работу моему отделу.

Если вас не затруднит, можете тогда добавить ответ с примером использования GET.WORKBOOK для такой задачи?

Раз такое дело, даже скину конкретный файл. На листе Summary в таблице Тесты функционала для второго столбца не хочется добавлять по отдельной формуле для каждого листа. Хотелось бы просто на листе Initial добавить 1 ячейку, куда записывается метка для поиска листов по имени — типо как «Компонент». И тогда все листы имеющие в имени слово Компонент обрабатываются в таблице тестов. Как то так:) Файл: https://yadi.sk/d/RS_MmckmDDOfNA

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

Я бы делал через макрос VBA, тем более, что у вас уже xlsm — это гораздо удобнее и эффективнее (не говоря о том, что если формулами что-то такое и можно сделать, в чем я начинаю сомневаться, то это будет монструозно).

Решение легко написать, предварительно погуглив
«excel vba enumerate sheets»
«excel vba index sheet»
Затем в код добавить проверку на наличие подстроки «Компонент», и обработку таких листов.

Макрос же либо повесить на кнопку и запускать по необходимости, либо повесить на открытие книги.
Если будут вопросы по конкретной реализации, пишите сюда.

Допустим, у нас есть два листа:
Лист1
Лист2
На листе Лист1 в А1 пишем «Лист2» без кавычек.
На листе Лист2 в А1 пише «ФФФ» без кавычек
На листе Лист1 в А2 пишем формулу
=ДВССЫЛ(A1&»!A1″)
Получаем в ячейке значение ФФФ.

Динамический диапазон с автоподстройкой размеров

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

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

Все это в сумме не даст вам скучать 😉

Гораздо удобнее и правильнее будет создать динамический «резиновый» диапазон, который автоматически будет подстраиваться в размерах под реальное количество строк-столбцов данных. Чтобы реализовать такое, есть несколько способов.

Способ 1. Умная таблица

Выделите ваш диапазон ячеек и выберите на вкладке Главная – Форматировать как Таблицу (Home – Format as Table):

Если вам не нужен полосатый дизайн, который добавляется к таблице побочным эффектом, то его можно отключить на появившейся вкладке Конструктор (Design). Каждая созданная таким образом таблица получает имя, которое можно заменить на более удобное там же на вкладке Конструктор (Design) в поле Имя таблицы (Table Name) .

Теперь можно использовать динамические ссылки на нашу «умную таблицу»:

  • Таблица1 – ссылка на всю таблицу кроме строки заголовка (A2:D5)
  • Таблица1[#Все] – ссылка на всю таблицу целиком (A1:D5)
  • Таблица1[Питер] – ссылка на диапазон-столбец без первой ячейки-заголовка (C2:C5)
  • Таблица1[#Заголовки] – ссылка на «шапку» с названиями столбцов (A1:D1)

Такие ссылки замечательно работают в формулах, например:

=СУММ(Таблица1[Москва]) – вычисление суммы по столбцу «Москва»

=ВПР(F5;Таблица1;3;0) – поиск в таблице месяца из ячейки F5 и выдача питерской суммы по нему (что такое ВПР?)

Такие ссылки можно успешно использовать при создании сводных таблиц, выбрав на вкладке Вставка – Сводная таблица (Insert – Pivot Table) и введя имя умной таблицы в качестве источника данных:

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

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

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

Способ 2. Динамический именованный диапазон

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

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

Нам потребуются две встроенных функции Excel, имеющиеся в любой версии – ПОИКСПОЗ (MATCH) для определения последней ячейки диапазона и ИНДЕКС (INDEX) для создания динамической ссылки.

Ищем последнюю ячейку с помощью ПОИСКПОЗ

ПОИСКПОЗ(искомое_значение;диапазон;тип_сопоставления) – функция, которая ищет заданное значение в диапазоне (строке или столбце) и выдает порядковый номер ячейки, где оно было найдено. Например, формула ПОИСКПОЗ(“март”;A1:A5;0) выдаст в качестве результата число 4, т.к. слово «март» расположено в четвертой по счету ячейке в столбце A1:A5. Последний аргумент функции Тип_сопоставления = 0 означает, что мы ведем поиск точного соответствия. Если этот аргумент не указать, то функция переключится в режим поиска ближайшего наименьшего значения – это как раз и можно успешно использовать для нахождения последней занятой ячейки в нашем массиве.

Суть трюка проста. ПОИСКПОЗ перебирает в поиске ячейки в диапазоне сверху-вниз и, по идее, должна остановиться, когда найдет ближайшее наименьшее значение к заданному. Если указать в качестве искомого значение заведомо больше, чем любое имеющееся в таблице, то ПОИСКПОЗ дойдет до самого конца таблицы, ничего не найдет и выдаст порядковый номер последней заполненной ячейки. А нам это и нужно!

Если в нашем массиве только числа, то можно в качестве искомого значения указать число, которое заведомо больше любого из имеющихся в таблице:

Для гарантии можно использовать число 9E+307 (9 умножить на 10 в 307 степени, т.е. 9 с 307 нулями) – максимальное число, с которым в принципе может работать Excel.

Если же в нашем столбце текстовые значения, то в качестве эквивалента максимально большого числа можно вставить конструкцию ПОВТОР(“я”;255) – текстовую строку, состоящую из 255 букв «я» — последней буквы алфавита. Поскольку при поиске Excel, фактически, сравнивает коды символов, то любой текст в нашей таблице будет технически «меньше» такой длинной «яяяяя….я» строки:

Формируем ссылку с помощью ИНДЕКС

Теперь, когда мы знаем позицию последнего непустого элемента в таблице, осталось сформировать ссылку на весь наш диапазон. Для этого используем функцию:

ИНДЕКС(диапазон; номер_строки; номер_столбца)

Она выдает содержимое ячейки из диапазона по номеру строки и столбца, т.е. например функция =ИНДЕКС(A1:D5;3;4) по нашей таблице с городами и месяцами из предыдущего способа выдаст 1240 – содержимое из 3-й строки и 4-го столбца, т.е. ячейки D3. Если столбец всего один, то его номер можно не указывать, т.е. формула ИНДЕКС(A2:A6;3) выдаст «Самару» на последнем скриншоте.

Причем есть один не совсем очевидный нюанс: если ИНДЕКС не просто введена в ячейку после знака =, как обычно, а используется как финальная часть ссылки на диапазон после двоеточия, то выдает она уже не содержимое ячейки, а ее адрес! Таким образом формула вида $A$2:ИНДЕКС($A$2:$A$100;3) даст на выходе уже ссылку на диапазон A2:A4.

И вот тут в дело вступает функция ПОИСКПОЗ, которую мы вставляем внутрь ИНДЕКС, чтобы динамически определить конец списка:

=$A$2:ИНДЕКС($A$2:$A$100; ПОИСКПОЗ(ПОВТОР(«я»;255) ;A2:A100))

Создаем именованный диапазон

Осталось упаковать все это в единое целое. Откройте вкладку Формулы (Formulas) и нажмите кнопку Диспетчер Имен (Name Manager) . В открывшемся окне нажмите кнопку Создать (New) , введите имя нашего диапазона и формулу в поле Диапазон (Reference) :

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

Создание и ведение таблиц Excel

Итак, таблица в Excel – это прямоугольная область листа, в которой каждая строка представляет собой набор данных, а в ячейке на пересечении данной строки и каждого столбца находится единица данных. Каждому столбцу присваивается уникальное имя. Столбцы таблицы называются полями, а строки – записями. В таблице не может быть записей, в которых нет данных ни в одном поле.

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

Создание таблицы

  1. Выделить любую ячейку, содержащую данные, которые должны будут войти в таблицу.
  2. В ленте меню выбрать вкладку Вставка [Insert], в раскрывшейся группе команд Таблицы [Tables] необходимо выбрать команду Таблица [Table].

  1. Появится диалоговое окно, в котором Excel автоматически предложит границы диапазона данных для таблицы

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

  1. ОК.

Присвоение имени таблице

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

  1. Выделить ячейку таблицы.
  2. На вкладке Конструктор [Design], в группе Свойства [Properties] ввести новое имя таблицы в поле Имя таблицы нажать клавишу Enter.

Требования к именам таблиц аналогичны требованиям к именованным диапазонам.

Форматирование таблиц

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

  1. Выделить ячейку таблицы.
  2. На вкладке Конструктор [Design] выбрать нужное оформление в группе Стили таблиц [Table Styles].

Вычисления в таблицах

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

  1. На вкладке Конструктор [Design] в группе Параметры стилей таблиц [Table Style Options], выбрать Строка итогов [Total Row].

  1. В появившейся новой строке Итог [Total] выбрать поле, в котором нужно обработать данные, и в раскрывающемся меню выбрать нужную функцию.

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

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

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

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

  1. Выбрать вкладку Файл [File] или кнопку Офис [Office], в зависимости от версии Excel; затем вкладку Параметры [Options].
  2. В разделе Формулы [Formulas], в группе Работа с формулами [Working with formulas], отметить пункт Использовать имена таблиц в формулах [Use table name in formulas].
  3. OK.

Преобразование таблицы в обычный диапазон

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

  1. На вкладке Конструктор [Design] выбрать группу Сервис [Tools].
  2. Выбрать вкладку Преобразовать в диапазон [Convert to Range].

  1. Нажать на кнопку Да [Yes].

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

Выберите один и тот же диапазон ячеек на разных листах в Excel

Выберите один и тот же диапазон ячеек на всех листах с помощью Kutools for Excel


стрелка синий правый пузырь Выберите один и тот же диапазон ячеек на разных листах в Excel

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

Шаг 1: На вкладке «Лист» в Microsoft Excel выберите несколько листов вместе, удерживая Ctrl ключа или Shift ключ. См. Следующий снимок экрана:

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

Функции: если вы вводите данные в этот диапазон ячеек, то на все выбранные рабочие листы будут добавлены одни и те же данные в том же диапазоне.

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


стрелка синий правый пузырь Выберите один и тот же диапазон ячеек на всех листах с помощью Kutools for Excel

Kutools for Excel‘s Синхронизировать рабочие листы Инструмент также может помочь вам быстро выбрать один и тот же диапазон ячеек на всех листах.

Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас.

Шаг 1: Выберите диапазон ячеек на одном листе.

Шаг 2: Нажмите Предприятие > Инструменты рабочего листаСинхронизировать рабочие листы. Смотрите скриншот:

документ-выберите ту же ячейку-2

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

Для получения более подробной информации о синхронизации рабочих листов посетите Описание функции синхронизации рабочих листов.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (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 (ДВССЫЛ), а не наоборот.

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

Постановка задачи

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

Исходный файл

Давайте будем исходить из следующих соображений:

  • Структура и столбцов на всех листах одинаковая.
  • Количество строк на всех листах разное.
  • Листы могут в будущем добавляться или удаляться.

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

Способ 1. Сборка данных с листов с помощью Power Query

Если вы ещё не сталкивались в своей работе с Power Query, то очень советую копнуть в этом направлении. Использование этой бесплатной и уже встроенной по умолчанию в Excel надстройки, способно полностью перевернуть весь ваш процесс сбора и анализа данных, упростив всё в разы. С задачей сбора данных с листов Power Query справляется весьма успешно.

Шаг 1. Подключаемся к файлу

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

Если у вас Excel 2010-2013 и вы установили Power Query как отдельную надстройку, то откройте вкладку Power Query, если у вас Excel 2016 или новее, то вкладку Данные (Data). Нажмите кнопку Получить данные / Создать запрос — Из файла — Книга Excel (Get Data / New Query — From file — From Excel) и укажите наш файл с исходными листами:

Указываем файл

В появившемся окне Навигатора (Navigator) выберите слева любой лист и нажмите в правом нижнем углу кнопку Преобразовать данные (Transform Data) или Изменить (Edit):

Выбираем любой лист

Должно появиться окно редактора запросов Power Query, где отобразятся данные с выбранного листа. Поскольку нам нужен, на самом деле, не один лист, а все, то удалим в правой панели все шаги, кроме первого шага Источник (Source) используя крестик слева от названия шага:

Удаляем лишние шаги

То, что останется после удаления шагов — это список всех объектов, которые Power Query «видит» во внешних файлах, а это:

  • листы (Sheet)
  • «умные таблицы» (Table)
  • именованные диапазоны (Defined Name)
  • области печати (Print Area), которые, по сути, являются одним из видов именованного диапазона

Шаг 2. Отбираем нужные листы

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

Во-первых, легко можно отфильтровать нужные объекты по типу по столбцу Kind. Например, если вам нужны только листы:

Фильтруем листы

Во-вторых, если нам нужны только видимые листы, то дополнительно можно отфильтровать ещё по столбцу Hidden.

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

Подсчет числа столбцов

Для подсчёта количества строк можно использовать аналогичную функцию Table.RowCount. Получившийся столбец затем можно использовать для фильтрации «мусорных» таблиц.

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

=[Data][Column1]{0}

Здесь:

  • [Data] — имя столбца, где в каждой ячейке лежат таблицы с содержимым каждого листа (убийственная формулировка для рядового пользователя Excel, да, я знаю)
  • [Column1] — имя столбца на листе, из которого мы хотим извлечь данные
  • {0} — номер строки (считая с нуля), откуда мы хотим взять данные

Извлекаем содержимое А1 с каждого листа

После фильтрации «мусора» все добавленные вспомогательные столбцы можно, конечно же, спокойно удалить, оставив только колонки Name и Data.

Шаг 3. Разворачиваем таблицы

Теперь развернём содержимое таблиц в одно целое, используя кнопку с двойными стрелками в заголовке столбца Data, отключив флажок Использовать исходное имя столбца как префикс (Use original column name as prefix):

Разворачиваем вложенные таблицы

После нажатия на ОК Power Query соберёт для нас все данные в одну мегатаблицу со всех отобранных листов нашего файла:

Собранные данные

Останется лишь «навести блеск», а именно:

  1. Поднять первую строку в шапку таблицы кнопкой Использовать первую строку в качестве заголовков (Use first row as headers) на вкладке Главная (Home).
  2. Переименовать первый столбец в Город двойным щелчком на заголовку.
  3. Удалить повторяющиеся шапки таблиц, попавшие в одну кучу вместе с данными, используя фильтр по столбцу Товар.

Всё. Осталось только дать нашему запросу подходящее имя (например, Сборка) в панели справа и выгрузить затем собранные данные обратно в Excel кнопкой Закрыть и загрузить на вкладке Главная (Home — Close & Load):

Собранные данные

В будущем, при любых изменениях в исходном файле достаточно будет лишь обновить наш запрос, щелкнув по собранной таблице правой кнопкой мыши и выбрав команду Обновить (Refresh) или такой же кнопкой на вкладке Данные (Data) или сочетанием клавиш Ctrl+Alt+F5.

Плюсы такого подхода:

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

Минусы этого способа:

  • Собираются только значения, т.е. формулы с исходных листов не сохраняются.
  • Названия столбцов должны на всех листах совпадать с точностью до регистра.
  • Нельзя выбрать какой именно диапазон берётся с каждого листа — это определяется автоматически (берётся всё, что есть).
  • Для обновления нужен Excel 2016 или новее или установленная надстройка Power Query.

Способ 2. Сборка данных с листов макросом на VBA

Похожего результата можно добиться и с помощью более «классического» подохода — макросом на VBA. Для этого на вкладке Разработчик (Developer) нажмите кнпоку Visual Basic или воспользуйтесь сочетанием клавиш Alt+F11. В открывшемся окне добавьте новый модуль через меню Insert — Module и скопируйте туда текст вот такого макроса:

Sub CollectDataFromAllSheets()
    Dim ws As Worksheet
    
    Set wbCurrent = ActiveWorkbook
    Workbooks.Add
    Set wbReport = ActiveWorkbook
    
    'копируем на итоговый лист шапку таблицы из первого листа
    wbCurrent.Worksheets(1).Range("A1:D1").Copy Destination:=wbReport.Worksheets(1).Range("A1")
    
    'проходим в цикле по всем листам исходного файла
    For Each ws In wbCurrent.Worksheets
    
        'определяем номер последней строки на текущем листе и на листе сборки
        n = wbReport.Worksheets(1).Range("A1").CurrentRegion.Rows.Count
        
        'задаем исходный диапазон, который надо скопировать с каждого листа - любой вариант на выбор:
        Set rngData = ws.Range("A1:D5")            'фиксированный диапазон или
        Set rngData = ws.UsedRange                 'всё, что есть на листе или
        Set rngData = ws.Range("F5").CurrentRegion    'область, начиная от ячейки F5 или
        Set rngData = ws.Range("A2", ws.Range("A2").SpecialCells(xlCellTypeLastCell))    'от А2 и до конца листа
        
        'копируем исходный диапазон и вставляем в итоговую книгу со следующей строки
        rngData.Copy Destination:=wbReport.Worksheets(1).Cells(n + 1, 1)
        
    Next ws
End Sub

Запустить созданный макрос можно на вкладке Разработчик кнопкой Макросы (Developer — Macros) или с помощью сочетания клавиш Alt+F8. Макрос автоматически создаст новую книгу и скопирует туда нужные вам данные.

Плюсы такого подхода:

  • Формулы с исходных листов сохраняются в сборке.
  • Имена столбцов не играют роли.
  • Макрос будет работать в любой версии Excel.
  • Можно выбирать, что именно брать с каждого листа (конкретный фиксированный диапазон или весь лист).

Минусы этого способа:

  • Последовательность столбцов на всех листах должна быть одинаковой, т.к. происходит, по сути, тупое копирование таблиц друг-под-друга.
  • Защита от макросов должна быть отключена.
  • Быстрого обновления, как это было с Power Query, здесь, к сожалению, не будет. При изменении исходных данных придётся запустить макрос повторно.

Способ 3. Готовый макрос из надстройки PLEX

Если лень возиться с макросами или Power Query, то можно пойти по пути наименьшего сопротивления — использовать готовый макрос (кнопка Собрать) из моей надстройки PLEX для Excel. Это, может, и не спортивно, но зато эффективно:

Сборка данных с листов через PLEX

В общем, выбирайте любой удобный вам вариант и действуйте. Выбор — это всегда хорошо.

Ссылки по теме

  • Что такое Power Query и с чем его едят.
  • Как создавать свои макросы, использовать чужие и запускать их в своих файлах.
  • Сборка данных из нескольких файлов с помощью Power Query.

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

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

Предположим, у вас есть рабочая книга с тремя рабочими листами. У этих трех листов простые имена: Sheetl, Sheet2 и Sheets. Вы хотите создать именованный диапазон с именем MyRange (можно использовать любое допустимое имя), который будет относиться к диапазону А1:А10 на листе Sheetl, когда активен лист Sheetl, A1 :А10 на листе Sheet2, когда активен лист Sheet2, и А1:А10 на листе Sheet3, когда активен лист Sheets.

Для этого активируйте лист Sheetl, выделите диапазон А1:А10 и щелкните в поле имени, как описано в разделе «Трюк №39. Адресация данных по имени». Введите Sheetl!MyRange и нажмите клавишу Enter. To же самое сделайте на листах Sheet2 и Sheets, введя Sheet2!MyRange и Sheets!My Range соответственно.

Теперь активируйте любой лист и щелкните стрелку раскрывающего списка поля имени. Вы должны увидеть имя MyRange только один раз. Выберите его и вы попадете непосредственно в диапазон А1:А10. Теперь активируйте другой лист и сделайте то же самое. Вы всегда будете попадать в диапазон А1:А10 на активном листе.

Этот трюк работает благодаря тому, что перед именем диапазона вы поставили имя листа и восклицательный знак. Выбрав команду Вставка → Имя → Присвоить (Insert → Name → Define), вы увидите только одно имя — имя, относящееся к активному в данный момент листу.

Если в имени рабочего листа есть пробелы, нельзя просто сослаться на диапазон А1:А10 на листе Sheet1 как Sheet1 IMyRange. Нужно назвать его ‘Sheet1’!MyRange, поместив слово Sheetl в одиночные кавычки, апострофы. В действительности, апострофы можно использовать и с именем рабочего листа, не содержащим пробелы, поэтому лучше вставлять их при каждой ссылке на рабочие листы.

В именованных диапазонах можно использовать и относительные ссылки. По умолчанию именованные диапазоны — абсолютные, но вы можете исправить это. Сделайте следующее:
Выделите ячейку All на любом рабочем листе и выберите команду Вставка → Имя → Присвоить (Name → Insert → Define). В поле Имя (Names in workbook) введите МуNumbers. В поле Формула (Refers to) введите =А$1:А$10, щелкните на кнопке Добавить (Add ), затем щелкните на кнопке ОК. Теперь в ячейку А1 введите число 1. Выделите ячейку А1, подведите указатель к маркеру заполнения и нажмите левую кнопку мыши. Удерживая клавишу Ctrl, перетащите маркер к ячейке А10. Так вы создадите список с арифметической прогрессией с шагом 1.

В ячейку В1 введите 1 и перетащите маркер на ячейку В10, в этот раз не удерживая клавишу Ctrl. В ячейке АИ введите следующую формулу: =SUM(MyNumbers), в русской версии Excel =CYMM(MyNumbers). В ячейке В11 введите следующую формулу: =SUM(MyNumbers), в русской версии Excel =CYMM(MyNumbers).

Вы должны получить ответы 55 и 10 соответственно, так как ячейка АИ была активной, когда вы использовали команду Вставка → Имя → Присвоить (Name → Insert → Define) и присвоили имя диапазону А$1:А$10, то есть диапазону с относительной ссылкой на столбец и абсолютной ссылкой на строку.
[stextbox id=»warning»]Чтобы создать абсолютную ссылку на диапазон, воспользуйтесь знаком доллара ($).[/stextbox]
Используемое в формуле имя MyNumbers всегда обозначает 10 ячеек непосредственно над формулой. Если вы вставите формулу =cyMM(MyNumbers) (=SUM(MyNumbers)) в ячейку АИ на другом рабочем листе, она все так же будет обозначать ячейки А1:А10 на листе, который был активен при создании имени диапазона.

Предположим, вы хотите упростить суммирование значений в десяти ячейках. Выделите ячейку АН на любом листе. Выберите команду Вставка → Имя → Присвоить (Insert → Name → Define) и в поле Имя (Name) введите MySum. Затем в поле Формула (Refers to) введите следующую формулу: =SUM(A$1:A$10), в русской версии Excel =СУММ(А$1:А$10). Щелкните на кнопке Добавить (Add), затем щелкните на кнопке ОК. Теперь в ячейке А1 введите число 1. Выделите ячейку А1, подведите указатель мыши к маркеру заполнения и нажмите левую кнопку мыши. Удерживая клавишу Ctrl, перетащите маркер к ячейке А10. После этого в ячейке В1 введите 1 и перетащите маркер к ячейке В10, не удерживая клавишу Ctrl. В ячейке АИ введите следующую формулу: =MySum, в ячейке В11 также введите формулу =MySum. Вы получите такой же результат, что и в предыдущем примере, не используя функцию СУММ (SUM). Сочетание абсолютных и относительных ссылок и вложение нескольких функций друг в друга может быть очень полезным и сэкономит много времени.

Очень часто при формировании отчётов (аналитики)  основанных на больших  объемах данных приходиться сводить в одну таблицу информацию с нескольких листов книги «Excel» .
В идеале для сбора и аналитики информации с разных листов «Эксель» желательно  сделать сводную таблицу, которая будет брать данные из нескольких источников (листов книги).

Такую таблицу можно выполнить двумя разными способами.

  1. Создание сводной таблицы с разных листов при помощи стандартных возможностей и инструментов.
  2. Создание таблицы берущей данные с нескольких листов при помощи запроса сформированного в надстройке Power Query .
Рассмотрим первый способ.

Создание сводной таблицы с разных листов при помощи стандартных возможностей и инструментов.

Шаг первый.

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

Для этого следует кликнуть правой кнопкой мыши по ленте (панели инструментов) и выбрать из выпадающего меню пункт «Настройка ленты»

Настройка ленты

Настройка ленты

либо войти во вкладку

«Файл» => «Параметры» => «Настройка ленты».

Далее в настройках ленты из выпадающего списка под надписью «Выбрать команды» выбрать пункт «Все команды». В окне ниже отобразятся все возможные команды, которые можно разместить на панели, в алфавитном порядке.

Из списка выбираем «Мастер сводных таблиц и диаграмм»

Добавление мастера сводных таблиц

Добавление мастера сводных таблиц

В правом окне при помощи кнопки «Создать группу» создаем новую группу инструментов. Для группы можно выбрать удобное для Вас наименование. Например, «Своя группа». Можно выбрать на какой вкладке будет создана группа. В своем примере я выбрал вкладку «Главная».

Когда группа создана, выделите ее курсором, выделите курсором «Мастер сводных таблиц и диаграмм» в левом окне и нажмите кнопку «Добавить >>».

После нажмите «Ок».

Теперь на главной вкладке панели инструментов находится инструмент «Мастер сводных таблиц и диаграмм».

Мастер сводных на панели

Мастер сводных на панели

Шаг второй. Построение сводной таблицы из нескольких источников данных.

  • Кликнуть по кнопке мастера построения сводных таблиц.
  • На первом окне поставить флажок, напротив «в нескольких диапазонах консолидации» и флажок напротив «сводная таблица»
    Консолидация диапазонов
    Консолидация диапазонов
  • Во втором окне выбрать «Создать одно поле страницы»
    Поле сводной
    Поле сводной
  • В третьем окне добавить все диапазоны, которые Вы хотите консолидировать(соединить в сводной таблице).
    Несколько диапазонов
    Несколько диапазонов
  • В четвертом окне выбрать лист, на котором будет размещена сводная таблица.
    На существующий лист
    На существующий лист
  • Нажать кнопку «Готово».

Второй способ.

Создание таблицы берущей данные с нескольких листов при помощи запроса сформированного в надстройке Power Query .

Данный способ заключается в использовании запроса надстройки Power Query.

О данной надстройке рассказывалось в статье: «Power Query» в «Excel» — что это?

Создание запроса Power Query для сведения нескольких страниц книги в одну таблицу.

Шаг первый.

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

Шаг два.

Для этого во вкладке Power Query нужно нажать кнопку «Из таблицы» и указать в появившемся окне диапазон – источник данных. После чего нажать «Ок».

Power Query из таблицы

Power Query из таблицы

Шаг три.

Когда создан второй запрос, нужно во вкладке Power Query кликнуть по кнопке «Слияние запросов» и настроит в появившемся окне вид получившейся общей таблицы.

Слияние запросов

Слияние запросов

Шаг четыре.

Когда вид настроен, нужно нажать кнопку «Закрыть и загрузить.»

Закрыть и загрузить

Закрыть и загрузить

Надстройка Power Query соберет данные с двух листов и соединит их в одной таблице.

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

Сравните два листа в одной книге

Сравните два листа в двух разных книгах

Перечислите все различия между двумя листами в одной книге

Выделите различия между двумя листами в одной книге

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


Содержание

  1. Сравнить два листа в одной книге
  2. Сравните два диапазона и выберите и выделите одинаковые или разные значения в Excel
  3. Сравните два листа в двух разных книгах
  4. Список всех различий между двумя листами в одной книге
  5. Выделение различий между двумя листами в одной книге
  6. Сравните и выделите различия между двумя диапазонами на двух листах
  7. Сравнить два диапазона на двух листах
  8. быстро выбрать повторяющиеся или уникальные значения в диапазоне Excel

Сравнить два листа в одной книге

В Excel вы можете применить служебную программу «Новое окно» для сравнения двух листов в одной книге.

1. Включите книгу, в которой вы хотите сравнить два листа, и нажмите Просмотр > Новое окно . См. Снимок экрана:

2. Затем перейдите на панель задач, чтобы отобразить новое окно текущей книги. См. Снимок экрана:

3. В каждом окне перейдите к двум листам, которые вы хотите сравнить, и расположите их рядом. См. Снимок экрана:

4. Теперь сравните два листа по мере необходимости.


Сравните два диапазона и выберите и выделите одинаковые или разные значения в Excel

В Excel, если есть две таблицы на листе или двух листах, которые необходимо сравнить, обычно вы будете сравнивать одну строку за другой вручную. Но если у вас есть Kutools for Excel’s Выбрать одинаковые и разные ячейки, вы можете быстро найти те же строки или разные строки, а также вы можете выделить их цветом фона или цветом шрифта по мере необходимости. Бесплатная пробная версия на 30 дней с полным набором функций!
Kutools для Excel: с более чем 300 удобными надстройками Excel, попробуйте бесплатно без ограничений в течение 30 дней.

Сравните два листа в двух разных книгах

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

Откройте два листа, которые вы хотите сравнить, активируйте один лист и нажмите Просмотр > Просмотр бок о бок . См. Снимок экрана:

Затем два листа в двух книгах были отображены горизонтально.

А затем вы можете сравнить два листа по мере необходимости..


Список всех различий между двумя листами в одной книге

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

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

2. На новом листе выберите пустую ячейку, например A1, и введите эту формулу = IF (Sheet1! A1 Sheet7! A1, “Sheet1:” & Sheet1! A1 & “vs Sheet7:” & Sheet7! A1, “”) , Sheet1 и Sheet7 – это листы, с которыми вы хотите сравнить, а A1 – это первая ячейка, которую вы хотите сравнить. См. Снимок экрана:

3. Затем перетащите маркер автозаполнения по диапазону, который необходимо для сравнения между двумя листами. См. Снимок экрана:

Теперь перечислены различия между двумя листами.


Выделение различий между двумя листами в одной книге

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

1. Выберите диапазон на одном из обоих листов, в котором вы хотите выделить различия, и нажмите Главная > Условное форматирование > Новое правило . См. Снимок экрана:

2. В появившемся диалоговом окне выберите Использовать формулу для определения ячеек для форматирования в разделе Выбрать тип правила и введите эту формулу = A1 Sheet7! A1 в поле Значения формата, в которых эта формула верна , затем нажмите Формат , чтобы указать стиль форматирования для выделения ячеек. См. Снимок экрана:

Совет: в формула, A1 – это первая ячейка в вашем выделении, Sheet7 – это лист, с которым вы хотите сравнить.

3. Нажмите OK > OK , и теперь различия выделены.


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

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

Kutools for Excel , с более чем 300 удобными функциями, упрощает вашу работу.

Бесплатная загрузка
Бесплатная полнофункциональная версия через 30 дней

После бесплатной установки Kutools for Excel, сделайте следующее:

1. Нажмите Kutools > Выбрать > Выбрать одинаковые и разные ячейки . См. Снимок экрана:

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

3. Нажмите Ok , появится диалоговое окно с напоминанием о том, что были найдены разные ячейки, и нажмите OK , чтобы закрыть его, различия были выделены и выбраны как хорошо.

Сравнить два диапазона на двух листах

Kutools for Excel: Более 300 функций, которые должны быть в Excel, 30-дневная бесплатная пробная версия отсюда.


быстро выбрать повторяющиеся или уникальные значения в диапазоне Excel

В листе Excel, если у вас есть диапазон, который включает несколько повторяющихся строк, вам может потребоваться выбрать их или выделить их, но как быстро решить эту задачу Если у вас есть Kutools для Excel вы можете использовать утилиту Выбрать повторяющиеся & Уникальные ячейки , чтобы быстро выбрать повторяющиеся или уникальные значения в e диапазон или заливка фона и цвета шрифта для дубликатов и уникальных значений. Нажмите, чтобы получить 30-дневную бесплатную пробную версию!
Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней.


Каждый месяц работник отдела кадров получает список сотрудников вместе с их окладами. Он копирует список на новый лист рабочей книги Excel. Задача следующая: сравнить зарплату сотрудников, которая изменилась по отношению к предыдущему месяцу. Для этого необходимо выполнить сравнение данных в Excel на разных листах. Воспользуемся условным форматированием. Таким образом мы не только автоматически найдем все отличия в значениях ячеек, но и выделим их цветом.

Сравнение двух листов в Excel

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

Решить эту непростую задачу нам поможет условное форматирование. Для примера, возьмем данные за февраль и март, как показано на рисунке:

Данные за 2 месяца.

Чтобы найти изменения на зарплатных листах:

  1. Перейдите на лист с именем «Март» и выберите инструмент: «ФОРМУЛЫ»-«Определенные имена»-«Присвоить имя».
  2. В окне «Создание имени» для поля «Имя:» введите значение – Фамилия.
  3. Ниже в поле ввода «Диапазон:» введите следующую ссылку:
  4. Март.

  5. Выберите инструмент «ФОРМУЛЫ»-«Присвоить имя» и в поле «Имя:» введите значение — Зарплата.
  6. В поле «Диапазон:» введите ссылку:
  7. Диапазон.

  8. Теперь перейдите на лист с именем «Февраль» и выделите диапазон ячеек B2:C12.
  9. Февраль.

  10. А на панели «ГЛАВНАЯ» выберите «Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматированных ячеек:».
  11. Создать правило.

  12. В поле ввода формул вводим следующее:
  13. ЕСЛИОШИБКА.

  14. Щелкните по кнопке «Формат» и на вкладке «Заливка» укажите зеленый цвет.
  15. зеленый цвет.

  16. На всех окнах жмем ОК.

Пример.

После ввода всех условий для форматирования Excel автоматически выделил цветом тех сотрудников зарплаты которых изменились по сравнению с предыдущим месяцем.



Принцип сравнения двух диапазонов данных в Excel на разных листах:

В определенном условии существенное значение имеет функция ПОИСКПОЗ. В ее первом аргументе находится пара значений, которая должна быть найдена на исходном листе следующего месяца, то есть «Март». Просматриваемый диапазон определяется как соединение значений диапазонов, определенных именами, в пары. Таким образом выполняется сравнение строк по двум признакам – фамилия и зарплата. Для найденных совпадений возвращается число, что по сути для Excel является истиной. Поэтому следует использовать функцию =НЕ(), которая позволяет заменить значение ИСТИНА на ЛОЖЬ. Иначе будет применено форматирование для ячеек значение которых совпали. Для каждой не найденной пары значений (то есть – несоответствие) &B2&$C2 в диапазоне Фамилия&Зарплата, функция ПОИСКПОЗ возвращает ошибку. Ошибочное значение не является логическим значением. Поэтому исползаем функцию ЕСЛИОШИБКА, которая присвоит логическое значение для каждой ошибки – ИСТИНА. Это способствует присвоению нового формата только для ячеек без совпадений значений по зарплате в отношении к следующему месяцу – марту.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel диапазон между датами
  • Excel диапазон значений строкой
  • Excel диапазон значений на графике
  • Excel диапазон если цвет
  • Excel диапазон до текущей ячейки

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии