Как собрать данные с нескольких листов или книг на один лист?
Одной из классических операций в Excel является копирование данных с одного листа на другой. Скопировал — вставил, никаких вопросов. Проблемы начинаются когда требуется собрать данные из разных источников, например с нескольких листов Excel на одном листе.
Существуют различные способы сбора данных в одном месте, в одной книге или на одном листе. Многократное копирование данных с последующей вставкой в нужном месте не рассматривается по понятным причинам, объединение данных при помощи сводных таблиц — это тоже отдельная тема. Остановимся на способе, который является наиболее эффективным в ситуации, когда требуется собрать большое количество данных с различных листов или книг на одном листе.
Сбор данных с нескольких листов Excel на итоговый лист
Для того чтобы слить данные с разных листов рабочей книги на один лист, потребуется надстройка для Excel по сбору данных. После ее установки Вам останется лишь запустить программу нажатием одной кнопки из ленты Excel и в диалоговом окне выбрать необходимые параметры для сбора информации.
Надстройка позволяет копировать заданные пользователем диапазоны данных на выбранных листах рабочей книги и вставлять скопированные данные на результирующий лист. При выборе диапазонов доступны четыре опции:
1) Используемые диапазоны — это диапазоны, начинающиеся с первой используемой ячейки и заканчивающиеся последней используемой ячейкой;
2) Предварительно выделенные диапазоны на каждом листе — диапазоны, выделенные пользователем самостоятельно, исходя из его потребностей по консолидации данных;
3) Одноименные диапазоны — диапазоны с одинаковым адресом на каждом листе, указанным на активном рабочем листе;
4) Выборочные диапазоны — диапазоны ячеек, начинающиеся с выбранной ячейки и заканчивающиеся концом листа (последней используемой ячейкой).
В диалоговом окне надстройки можно гибко настроить листы, с которых необходимо собрать данные. На выбор пользователя программа может обработать как все листы, так и только видимые, скрытые, непустые, с заданными именами, по маске имен, в интервале номеров, с заданным значением в определенном диапазоне.
Кроме того, в диалоговом окне надстройки можно указать способ расположения данных на итоговом листе, в зависимости от выбранной опции диапазоны будут располагаться один ниже другого (вертикальное расположение), либо один правее другого (горизонтальное расположение).
Для наглядности, чтобы на итоговом листе можно было видеть где заканчивается один диапазон и начинается другой, предусмотрена возможность отделять диапазоны друг от друга двойной сплошной линией, а также добавлять имена листов перед диапазонами.
Зачастую копируемые диапазоны содержат формулы, которые ссылаются на ячейки, адреса которых выходят за пределы копируемой области, либо наличие которых на итоговом листе нежелательно, для этих случаев добавлена опция «Заменять формулы результатами вычислений». Возможность заменять формулы результатами вычислений отсутствует, если копируемые диапазоны содержат объединенные ячейки.
Когда возникает необходимость собрать с разных листов строки, отвечающие определенным условиям, например, содержащие заданный текст, то предварительно, при помощи надстройки для выборочного выделения строк, можно выделить нужные строки на всех листах, после чего используя опцию «Предварительно выделенные диапазоны на каждом листе» собрать выделенные строки на итоговый лист.
В случае, если итоговый лист содержит ненужные пустые строки, можно провести их автоматическое удаление при помощи надстройки для выборочного удаления строк.
Как правило, после переноса данных на итоговый лист, сами исходные листы становятся ненужными, в этом случае их можно удалить полностью либо выборочно при помощи надстройки для удаления листов.
Видео по сбору данных со всех листов на итоговый лист
Сбор данных с нескольких книг Excel на один лист
Аналогичный сбор данных можно организовать и из разных рабочих книг. Сделать это можно в два этапа при помощи последовательного использования двух надстроек для Excel.
1) При помощи надстройки для объединения рабочих книг в один файл, собрать все листы в одной рабочей книге;
2) При помощи надстройки для сбора данных на итоговый лист, объединить данные с разных листов.
Как собрать данные с нескольких листов excel на один лист
Многие пользователи совершают одну и ту же ошибку: разносят исходную информацию на несколько листов. Таким образом файл становится неудобным для итогового анализа. Представим что такой файл достался Вам, например от уволенного сотрудника, место которого Вы заняли 🙂 В файле 12 листов итогов работы сотрудников по месяцам, содержащие абсолютно одинаковые таблицы, отличающиеся только значениями результативности, и один общий лист, на который необходимо собрать всю информацию за год, для того что бы определить кто из сотрудников работал наиболее результативно.
ПРОБЛЕМА: Как быстро собрать информацию на один лист из нескольких?
И заполнить такую форму:
КАК ЭТО РАБОТАЕТ:
Функция ДВССЫЛ() возвращает ссылку, заданную текстовой строкой. По простому говоря:=ДВССЫЛ( B1 &» !B2 «) — даёт нам ссылку аналогичную = Янв !B2 , потому как в ячейке В1 находится текст Янв , который конкатенируется (сцепляется) посредством оператора конкатенации амперсанда & с указанием конкретной ячейки листа Янв В2 .
КОММЕНТАРИИ: Так же можно использовать подобные конструкции и для извлечения данных из других книг.
МИНУСЫ: Функция ДВССЫЛ() не работает с закрытыми книгами.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Любая версия Excel
Консолидация данных с нескольких листов
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Для подведения итогов и результатов из отдельных листов, можно объединить данные из каждого листа в главном листе. Листы может быть в той же книге как главном листе или в других книгах. При объединении данных, чтобы упростить можно обновить и статистической обработки при необходимости собирать данные.
Например, если в каждом из региональных офисов есть свой лист расходов, с помощью консолидации можно свести эти данные на главном листе корпоративных расходов. Главный лист также может содержать итоговые и средние значения продаж, данные о складских запасах и информацию о самых популярных товарах в рамках всей компании.
Совет: Если вы часто консолидировать данные, он помогут создать новые листы на основе шаблона с единообразным макетом. Дополнительные сведения о шаблонах читайте в статье: Создать шаблон. Это также идеально время Настройка шаблона с помощью таблиц Excel.
Консолидация данных по положению или категории двумя способами.
Консолидация данных по расположению: данные в исходных областях том же порядке и использует одинаковых наклеек. Этот метод используется для консолидации данных из нескольких листов, например отделов бюджета листов, которые были созданы из одного шаблона.
Консолидация по категории: данные в исходных областях не расположены в одном и том же порядке, но имеют одинаковые метки. Используйте этот способ, чтобы консолидировать данные из нескольких листов с разными макетами, но одинаковыми метками данных.
Консолидация данных по категории похоже на создание сводной таблицы. Со сводной таблицей тем не менее, вы можете легко переупорядочение категории. Если вам нужна более гибкие Консолидация по категории, можно создать сводную таблицу .
Примечание: В этой статье были созданы с Excel 2016. Хотя представления могут отличаться при использовании другой версии Excel, шаги одинаковы.
Выполните указанные ниже действия, чтобы консолидация нескольких рабочих листов в главном листе.
Если вы еще не сделано, настройте данные на каждом листе составные, сделав следующее:
Убедитесь, что все диапазоны данных представлены в формате списка. Каждый столбец необходимо иметь метку (верхний колонтитул) в первой строке и содержать похожие данные. Должен быть отсутствуют пустые строки или столбцы в любом месте в списке.
Разместите каждый диапазон на отдельном листе, но не было введено никаких данных в основном листе где план для консолидации данных. Excel будет сделать это для вас.
Убедитесь, что всех диапазонов совпадают.
На основном листе щелкните левый верхний угол области, в которой требуется разместить консолидированные данные.
Примечание: Чтобы избежать перезаписи существующие данные в основном листе, убедитесь, оставьте достаточно ячеек справа и верхний угол консолидированные данные.
Нажмите кнопку данные>Консолидация (в группе Работа с данными ).
Выберите в раскрывающемся списке Функция функцию, которую вы хотите использовать для консолидации данных. По умолчанию используется значение СУММ.
Вот пример, в котором выбраны три диапазоны листа:
Далее в поле ссылка нажмите кнопку Свернуть, чтобы уменьшить масштаб панели и выбрать данные на листе.
Щелкните лист, содержащий данные, которые требуется консолидировать данные и нажмите кнопку Развернуть диалоговое окно справа, чтобы вернуться в диалоговое окно Консолидация .
Если лист, содержащий данные, которые необходимо объединить в другой книге, нажмите кнопку Обзор, чтобы найти необходимую книгу. После поиска и нажмите кнопку ОК, Excel в поле ссылка введите путь к файлу и добавление восклицательный знак, путь к. Чтобы выбрать другие данные можно нажмите Продолжить.
Вот пример, в котором выбраны три диапазоны листа выбранного:
Во всплывающем окне Консолидация нажмите кнопку Добавить. Повторите этот сценарий, чтобы добавить все нужные диапазоны консолидации.
Обновления автоматически и вручную: Если требуется автоматическое обновление консолидации таблицы при изменении исходных данных, просто установите флажок создавать связи с исходными данными. Если это поле остается неограниченный, возможность обновления консолидации вручную.
Связи невозможно создать, если исходная и конечная области находятся на одном листе.
Если необходимо изменить степень диапазона — или замените диапазон — выберите диапазон, во всплывающем окне Консолидация и обновлять его, выполнив указанные выше действия. Создаст новый в ссылке на диапазон, поэтому вам нужно будет сначала удалить предыдущий перед Консолидация еще раз. Просто выберите старой ссылки и нажмите клавишу Delete.
Нажмите кнопку ОК, а Excel создаст консолидации для вас. Кроме того можно применить форматирование. Бывает только необходимо отформатировать один раз, если не перезапустить консолидации.
Все названия, не совпадающие с названиями в других исходных областях, приведут к появлению дополнительных строк или столбцов в консолидированных данных.
Убедитесь, что все категории, которые не нужно консолидировать, должны иметь уникальные подписи, которые появляются в диапазоне только один источник.
Если данные для консолидации находятся в разных ячейках разных листов:
Введите формулу со ссылками на ячейки других листов (по одной на каждый лист). Например, чтобы консолидировать данные из листов «Продажи» (в ячейке B4), «Кадры» (в ячейке F5) и «Маркетинг» (в ячейке B9) в ячейке A2 основного листа, введите следующее:
Совет: Чтобы указать ссылку на ячейку — например, продажи! B4 — в формуле, не вводя, введите формулу до того места, куда требуется вставить ссылку, а затем щелкните лист, используйте клавишу tab и затем щелкните ячейку. Excel будет завершена адрес имя и ячейку листа для вас. Примечание: формулы в таких случаях может быть ошибкам, поскольку очень просто случайно выбираемых неправильной ячейки. Также может быть сложно ошибку сразу после ввода сложные формулы.
Если данные для консолидации находятся в одинаковых ячейках разных листов:
Ввод формулы с трехмерной ссылки, которая использует ссылку на диапазон имен листов. Например для консолидации данных в ячейках с A2 по продажам через маркетинга включительно, в ячейке E5 главном листе вы бы введите следующие данные:
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Как собрать данные с нескольких листов или книг?
Очень часто бывает необходимо собрать данные с нескольких листов одной книги или даже с листов нескольких книг. Например, каждую неделю мы получаем некие отчеты от отделов, которые необходимо собрать в одну общую таблицу для построения сводной таблицы. Или это могут быть некие книги прайсов по товарам от разных поставщиком, который опять же надо сначала объединить, а потом уже анализировать. Вручную делать это довольно муторно. И то, муторно это только для первых 20-ти листов/файлов, потом становится просто тошно. Поэтому решил поделиться решением, которое поможет собрать данные со всех листов книги, со всех листов всех указанных книг или только с указанных листов:
‘————————————————————————————— ‘ Module : mConsolidated ‘ DateTime : 02.02.2010 17:06 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Purpose : http://www.excel-vba.ru/chto-umeet-excel/kak-sobrat-dannye-s-neskolkix-listov-ili-knig/ ‘ Процедура сбора данных с нескольки листов/книг ‘————————————————————————————— Option Explicit Sub Consolidated_Range_of_Books_and_Sheets() Dim iBeginRange As Range, rCopy As Range, lCalc As Long, lCol As Long Dim oAwb As String, sCopyAddress As String, sSheetName As String Dim lLastrow As Long, lLastRowMyBook As Long, li As Long, iLastColumn As Integer Dim wsSh As Worksheet, wsDataSheet As Worksheet, bPolyBooks As Boolean, avFiles Dim wbAct As Workbook Dim bPasteValues As Boolean On Error Resume Next ‘Выбираем диапазон выборки с книг Set iBeginRange = Application.InputBox(«Выберите диапазон сбора данных.» & vbCrLf & _ «1. При выборе только одной ячейки данные будут собраны со всех листов начиная с этой ячейки. » & _ vbCrLf & «2. При выделении нескольких ячеек данные будут собраны только с указанного диапазона всех листов.», Type:=8) ‘для указания диапазона без диалогового окна: ‘Set iBeginRange = Range(«A1:A10») ‘диапазон указывается нужный ‘Если диапазон не выбран — завершаем процедуру If iBeginRange Is Nothing Then Exit Sub ‘Указываем имя листа ‘Допустимо указывать в имени листа символы подставки ? и *. ‘Если указать только * то данные будут собираться со всех листов sSheetName = InputBox(«Введите имя листа, с которого собирать данные(если не указан, то данные собираются со всех листов)», «Параметр») ‘Если имя листа не указано — данные будут собраны со вех листов If sSheetName = «» Then sSheetName = «*» On Error GoTo 0 ‘Запрос — вставлять на результирующий лист все данные ‘или только значения ячеек (без формул и форматов) bPasteValues = (MsgBox(«Вставлять только значения?», vbQuestion + vbYesNo, «Excel-VBA») = vbYes) ‘Запрос сбора данных с книг(если Нет — то сбор идет с активной книги) If MsgBox(«Собрать данные с нескольких книг?», vbInformation + vbYesNo, «Excel-VBA») = vbYes Then avFiles = Application.GetOpenFilename(«Excel files(*.xls*),*.xls*», , «Выбор файлов», , True) If VarType(avFiles) = vbBoolean Then Exit Sub bPolyBooks = True lCol = 1 Else avFiles = Array(ThisWorkbook.FullName) End If ‘отключаем обновление экрана, автопересчет формул и отслеживание событий ‘для скорости выполнения кода и для избежания ошибок, если в книгах есть иные коды With Application lCalc = .Calculation .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual End With ‘создаем новый лист в книге для сбора Set wsDataSheet = ActiveWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)) ‘если нужно сделать сбор данных на новый лист книги с кодом ‘Set wsDataSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) ‘цикл по книгам For li = LBound(avFiles) To UBound(avFiles) If bPolyBooks Then Set wbAct = Workbooks.Open(Filename:=avFiles(li)) Else Set wbAct = ThisWorkbook End If oAwb = wbAct.Name ‘цикл по листам For Each wsSh In wbAct.Worksheets If wsSh.Name Like sSheetName Then ‘Если имя листа совпадает с именем листа, в который собираем данные ‘и сбор идет только с активной книги — то переходим к следующему листу If wsSh.Name = wsDataSheet.Name And bPolyBooks = False Then GoTo NEXT_ With wsSh Select Case iBeginRange.Count Case 1 ‘собираем данные начиная с указанной ячейки и до конца данных lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row iLastColumn = .Cells.SpecialCells(xlLastCell).Column sCopyAddress = .Range(.Cells(iBeginRange.Row, iBeginRange.Column), .Cells(lLastrow, iLastColumn)).Address Case Else ‘собираем данные с фиксированного диапазона sCopyAddress = iBeginRange.Address End Select lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row + 1 ‘определяем для копирования диапазон только заполненных данных на листе Set rCopy = Intersect(.Range(sCopyAddress).Parent.UsedRange, .Range(sCopyAddress)) ‘вставляем имя книги, с которой собраны данные If lCol Then wsDataSheet.Cells(lLastRowMyBook, 1).Resize(rCopy.Rows.Count).Value = oAwb ‘если вставляем только значения и форматы ячеек If bPasteValues Then rCopy.Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteFormats Else ‘если вставляем все данные ячеек(значения, формулы, форматы и т.д.) rCopy.Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol) End If End With End If NEXT_: Next wsSh If bPolyBooks Then wbAct.Close False Next li With Application .ScreenUpdating = True: .EnableEvents = True: .Calculation = lCalc End With End Sub
Приведенный выше код необходимо вставить в стандартный модуль(Что такое модуль? Какие бывают модули?). Выполнить его можно будет из этой книги нажатием клавиш Alt+F8. В появившемся окне выбрать Consolidated_Range_of_Books_and_Sheets и нажать Выполнить. Так же можно создать на листе кнопку и назначить ей данный макрос. Так же, если впервые работаете с макросами настоятельно рекомендую прочитать статью: Что такое макрос и где его искать?, а так же Почему не работает макрос?
После вызова макроса поочередно будут появляется запросы, в которых надо будет указать исходные параметры:
- Диапазон сбора данных — Если в окне выбора диапазона выбрать только одну ячейку, то данные будут собраны со всех листов книги/книг, начиная с этой ячейки и до последней ячейки листа.
Если выбрать несколько ячеек, данные будут собраны только с указанного диапазона всех листов книги/книг. Допускается указать несвязанный(рваный) диапазон(например, только три столбца: A:A , D:D , F:F ). Сделать это можно, выделив нужный диапазон с зажатой клавишей Ctrl - Имя листа — Необязателен для указания. Если не указан — данные будут собраны со всех листов. Указать можно как точное соответствие имени листа, так и с частичным соответствием. Например, если в книгах для сбора данных необходимо собрать данные только с листа «Январь», то следует так и указать — «Январь». Если требуется собрать данные только с листов, начинающихся с «Продажи»(«Продажи ЮГ», «Продажи НН», «Продажи Запад» и т.д.), то следует применить символ подстановки звездочку — «Продажи*». Если надо собрать с листов, содержащих в имени «продажи»(«Итоговые продажи ЮГ», «Продажи НН», «Сезонные продажи» и т.д.), то указываем «*продажи*». Если надо собрать только с листа «Сезонные продажи», но известно, что вместо пробела может быть нижнее подчеркивание или тире(«Сезонные продажи», «Сезонные_продажи», «Сезонные-продажи») или иной символ, то можно также применить звездочку — «Сезонные*продажи». Но если среди листов могут встречаться и такие как «Сезонные разовые продажи», «Сезонные корпоративные продажи» и т.п., но информацию с них собирать не надо, то можно применить вопросительный знак — «Сезонные?продажи». Вопросительный знак заменяет любой один символ, звездочка — любое количество любых символов.
- Далее появится запрос: Вставлять только значения? — если выбрать Да, то в результирующий лист с листов будут вставлены исключительно значения ячеек (без формул), но при этом сохранятся их форматы(формат чисел, цвет заливки, цвет шрифта, границы и т.п.). Может пригодится, если на листах для сбора записаны формулы, ссылающиеся на другие листы, книги, диапазоны. При обычном копировании может случиться так, что формула выдаст ошибку, т.к. в книге для вставки нет таких листов и диапазонов или данные расположены иначе. Если выбрать Нет, то все ячейки с листов на результирующий будут копироваться в точности как в исходных листах.
- И последний запрос: Собрать данные с нескольких книг? — если выбрать Да, то появится диалоговое окно выбора файлов. Надо указать все файлы, данные с которых необходимо собрать. Если выбрать Нет, то данные будут собираться с листов только активной книги.
Данные будут собраны на новый лист книги с макросом. Если данные собирались с нескольких книг, то в первый столбец будут занесены имена книг, с которых собраны данные.
Если после сбора данных обнаружили, что после каждого файла/листа много пустых строк, то следует найти в коде строку:
lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row
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} — номер строки (считая с нуля), откуда мы хотим взять данные
После фильтрации «мусора» все добавленные вспомогательные столбцы можно, конечно же, спокойно удалить, оставив только колонки Name и Data.
Шаг 3. Разворачиваем таблицы
Теперь развернём содержимое таблиц в одно целое, используя кнопку с двойными стрелками в заголовке столбца Data, отключив флажок Использовать исходное имя столбца как префикс (Use original column name as prefix):
После нажатия на ОК Power Query соберёт для нас все данные в одну мегатаблицу со всех отобранных листов нашего файла:
Останется лишь «навести блеск», а именно:
- Поднять первую строку в шапку таблицы кнопкой Использовать первую строку в качестве заголовков (Use first row as headers) на вкладке Главная (Home).
- Переименовать первый столбец в Город двойным щелчком на заголовку.
- Удалить повторяющиеся шапки таблиц, попавшие в одну кучу вместе с данными, используя фильтр по столбцу Товар.
Всё. Осталось только дать нашему запросу подходящее имя (например, Сборка) в панели справа и выгрузить затем собранные данные обратно в 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. Это, может, и не спортивно, но зато эффективно:
В общем, выбирайте любой удобный вам вариант и действуйте. Выбор — это всегда хорошо.
Ссылки по теме
- Что такое Power Query и с чем его едят.
- Как создавать свои макросы, использовать чужие и запускать их в своих файлах.
- Сборка данных из нескольких файлов с помощью Power Query.
создать список, данные на разных листах в одной ячейке |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Функция ЛИСТ в Excel возвращает числовое значение, соответствующее номеру листа, на который указывает ссылка, переданная функции в качестве параметра.
Функции ЛИСТ и ЛИСТЫ в Excel: описание аргументов и синтаксиса
Функция ЛИСТЫ в Excel возвращает числовое значение, которое соответствует количеству листов, на которые предоставлена ссылка.
Примечания:
- Обе функции полезны для использования в документах, содержащих большое количество листов.
- Лист в Excel – это таблица из всех ячеек, отображаемых на экране и находящихся за его пределами (всего 1 048 576 строк и 16 384 столбца). При отправке листа на печать он может быть разбит на несколько страниц. Поэтому нельзя путать термины «лист» и «страница».
- Количество листов в книге ограничено лишь объемом ОЗУ ПК.
Функция ЛИСТ имеет в своем синтаксисе всего 1 аргумент и то не обязательный для заполнения: =ЛИСТ(значение).
- значение – необязательный аргумент функции, который содержит текстовые данные с названием листа либо ссылку, для которой требуется установить номер листа. Если данный параметр не указан, функция вернет номер листа, в одной из ячеек которого она была записана.
Примечания:
- При работе функции ЛИСТ учитываются все листы, которые являются видимыми, скрытыми и очень скрытыми. Исключениями являются диалоги, макросы и диаграммы.
- Если аргументом функции является текстовое значение, которое не соответствует названию ни одного из листов, содержащихся в книге, будет возвращена ошибка #НД.
- Если в качестве аргумента функции было передано недействительное значение, результатом ее вычислений будет являться ошибка #ССЫЛКА!.
- В рамках объектной модели (иерархия объектов на VBA, в которой Application является главным объектом, а Workbook, Worksheer и т. д. – дочерними объектами) функция ЛИСТ недоступна, поскольку она содержит схожую функцию.
Функция листы имеет следующий синтаксис: =ЛИСТЫ(ссылка).
- ссылка – объект ссылочного типа, для которого требуется определить количество листов. Данный аргумент является необязательным. Если данный параметр не указан, функция вернет количество листов, содержащихся в книге, на одном из листов которой она была записана.
Примечания:
- Данная функция подсчитывает количество всех скрытых, очень скрытых и видимых листов, за исключением диаграмм, макросов и диалогов.
- Если в качестве параметра была передана недействительная ссылка, результатом вычислений является код ошибки #ССЫЛКА!.
- Данная функция недоступна в объектной модели в связи с наличием там схожей функции.
Как получить имя листа формулой в Excel
Пример 1. При выполнении расчетной работы студент использовал программу Excel, в которой создал книгу из несколько листов. Для собственного удобства, студент решил в ячейках A2 и B2 каждого листа выводить данные о названии листа и его порядковом номере соответственно. Для этого он использовал следующие формулы:
Описание аргументов для функции ПСТР:
- ЯЧЕЙКА(«имяфайла») – функция, возвращающая текст, в котором функция ПСТР выполняет поиск заданного количества символов. В данном случае вернется значение «C:UserssoulpDesktop[ЛИСТ_ЛИСТЫ.xlsx]Статические расчеты», где после символа «]» находится искомый текст – название листа.
- НАЙТИ(«]»;ЯЧЕЙКА(«имяфайла»))+1 – функция, возвращающая номер позиции символа «]», единица добавлена с той целью, чтобы функция ПСТР не учитывала символ «]».
- 31 – максимальное количество символов в названии листа.
=ЛИСТ() – данная функция без параметра вернет номер текущего листа. В результате ее вычисления получим количество листов в текущей книге.
Примеры использования функции ЛИСТ и ЛИСТЫ
Пример 2. В книге Excel содержится несколько листов. Необходимо:
- Вернуть номер текущего листа.
- Вернуть номер листа с названием «Статические_расчеты».
- Вернуть номер листа «Динамические_расчеты», если его ячейка A3 содержит значение 0.
Внесем данные в таблицу:
Далее составим формулы для всех 4-х условий:
- для условия №1 используем следующую формулу: =ЛИСТ()
- для условия №2 введем формулу: =ЛИСТ(«Статические_расчеты»)
- для условия №3 запишем формулу:
Функция ЕСЛИ выполняет проверку условия равенства значения, хранящегося в ячейке A3 листа Динамические_расчеты, нулю или пустому значению.
В результате получим:
Обработка информации о листах книги по формуле Excel
Пример 3. В книге Excel содержится несколько листов. Необходимо определить общее количество листов, а также число листов, содержащихся между листами «Статические_расчеты» и «Экономические_расчеты».
Исходная таблица имеет вид:
Общее количество листов вычислим по формуле:
Для определения количества листов, содержащихся между двумя указанными листами, запишем формулу:
- Статические_расчеты:Экономические_расчеты!A2 – ссылка на ячейку A2 диапазона листов между «Статические_расчеты» и «Экономические_расчеты» включая эти листы.
- Для получения искомого значения было вычтено число 2.
В результате получим следующее:
Скачать примеры функций ЛИСТ и ЛИСТЫ в формулах Excel
Формула выводит подробную информацию по данным о листах в определенном диапазоне их расположения в рабочей книге Excel.
Определяем имя листа в MS EXCEL
Смотрите также 2, лист продукт
Для получения ссылки на о курсе валюты диапазона от 1 так скажу:Serge_07 сделал
Имя листа из
вариант записи ссылки. бралось из ячейки листов. Необходимо: синтаксис: =ЛИСТЫ(ссылка).Функция ЛИСТЫ в ExcelMobServis «D4″ ячейки в аргументе вы увидите сообщение
ДВССЫЛ(«Лист1!A1»). В статьеОпределим имя листа с 2 не меняется.((( ячейку B6 используем USD. Для этого до 4, соответствующее совершенно правильно.невозможно читать ячейки
Условие простенькое суммировать L1Вернуть номер текущего листа.ссылка – объект ссылочного возвращает числовое значение,: Я прошу прощения,Д МММ ГГ «ссылка». об ошибке #VALUE! Определение имени листа помощью функции ЯЧЕЙКА().2. Скопировав (допусти
следующую формулу: =АДРЕС(6;2;1;0).
введем следующую формулу: одному из типов пост,разбираться в поставленнойдругой книги, допустим ячейку (или диапазон)На ум пришлоВернуть номер листа с типа, для которого которое соответствует количеству но в функции или ДД МММ»строка» Номер строки в ячейке. При для использования вИмя листа можно определить
нечаяно) значение ячейкиАргументы функции: =АДРЕС(3;2;1;1;»Курсы»). возвращаемой ссылки на задаче,если там одно
с названием «БазаДанных»,
с нескольких листов, только это.. но названием «Статические_расчеты». требуется определить количество листов, на которые ЯЧЕЙКА я не ГГ «D1″ ячейки в ссылке.
сохранении листа, сообщение
функции ДВССЫЛ() показано с помощью функции В4 в В56 – номер строкиЗначение параметров: ячейку: сплошное зеленое месивото куда или а сам диапазон не осилил..Вернуть номер листа «Динамические_расчеты», листов. Данный аргумент предоставлена ссылка. нашел нужного мнед.м, или дд.ммм,»тип» Текстовое значение, об ошибке заменяется
excel2.ru
Вставка в ячейку текущего имени файла Excel, пути или листа
как использовать функцию ЯЧЕЙКА(), записав формулу получаем новое имя искомой ячейки;3 – номер строки,абсолютная на всю ячейку, цитат из всех как его подставить задавать значением в200?’200px’:»+(this.scrollHeight+5)+’px’);»>=(ДВССЫЛ(L1) & «!A1»)+(ДВССЫЛ(L1) & если его ячейка является необязательным. ЕслиПримечания: параметра. Мне необходимо, или Д МММ соответствующее типу данных на имя файла. ЯЧЕЙКА(), чтобы сохранить (см. файл примера): В5(допустим было продукт2 – номер столбца,
в которой содержится например — $A$4 возможных предидущих постов.и в эту формулу ячейке работая на «!C1») A3 содержит значение данный параметр неОбе функции полезны для
Вставьте имя текущего файла, его полный путь и имя активного листа
чтобы, например, в «D2″ в ячейке. ПустойMobServis работоспособность формулы с=ПРАВСИМВ(ЯЧЕЙКА(«имяфайла»);ДЛСТР(ЯЧЕЙКА(«имяфайла»))-ПОИСК(«]»;ЯЧЕЙКА(«имяфайла»))) 2 а стало
в котором содержится
Вставить текущее имя файла и имя активного листа
искомая ячейка;абсолютная только на строку, в конце просто200?’200px’:»+(this.scrollHeight+5)+’px’);»> итоговом листе. То- данная формула
0.
указан, функция вернет использования в документах,
-
ячейке С3, отображалосьммм.гг, или ммм.гггг, ячейке соответствует «b»,: Нужна формула, чтобы
-
функцией ДВССЫЛ().Если формула вводится в молоко, далее меняем ячейка;2 – номер столбца например — A$4; написано «спасибо вам».жалко=СУММЕСЛИ(ДВССЫЛ(«‘»&B4&»‘!G:G»);»Итого:»;(ДВССЫЛ(«‘»&B4&»‘!H:H»))) есть, итоговый лист
Вставить только текущее имя файла
возвращает — #ЗНАЧВнесем данные в таблицу: количество листов, содержащихся содержащих большое количество
название листа на
или МММ ГГ, текстовой константе в перенести название листаПримечание: новую книгу, то В5 на продукт1 – тип ссылки с искомой ячейкой;абсолютная только на столбец,
support.office.com
Название листа в ячейку?
времени.чем ваше сообщениени как не есть в этойСпасибоДалее составим формулы для в книге, на листов. котором находится эта
или МММ ГГГГ
ячейке соответствует «l» в ячейку. Уже Мы стараемся как можно
ее сначала нужно
2 обратно), в (абсолютная);1 – тип ссылки например — $A4;
№ 12 стало
соображу.
же книге сWasilich всех 4-х условий: одном из листовЛист в Excel – ячейка. Т.е. С3 «D3″ и «v» —
обсуждалось но найти
оперативнее обеспечивать вас сохранить. После сохранения, результате получается что0 – указание на
– абсолютная;относительная на всю ячейку, хуже после редакцииЗаранее спасибо!
однотипными листами с:для условия №1 используем которой она была это таблица из = Лист1дд.мм «D5″ любому другому значению не могу. Я
актуальными справочными материалами возможно, потребуется нажать лист который изначально стиль R1C1.1 – выбор стиля например A4. Сергея?ничем.только лучше икитин данными и забивая200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ДВССЫЛ(L1&»!A1″)+ДВССЫЛ(L1&»!C1″) следующую формулу: =ЛИСТ() записана. всех ячеек, отображаемыхmazayZRч:мм AM/PM «D7″
в ячейке. так понимаю здесь на вашем языке. клавишу предназначен для продуктаВ результате получим ссылку:
ссылок с буквенно-цифровой[a1] – логическое значение, понятнее.вот почему я
: в ячейку номерAriesT
для условия №2 введемПримечания:
на экране и: а по ссылочкеч:мм:сс AM/PM «D6″»формат» Текстовое значение, нужна пользовательская формула. Эта страница переведенаF9 1 (молоко) начинаетПрактическое применение функции АДРЕС:
записью; определяющее один из и написал:200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ДВССЫЛ(«‘[БазаДанных.xlsx]»&B4&»‘!G:G») листа получаем диапазон: Wasilic, формулу: =ЛИСТ(«Статические_расчеты»)Данная функция подсчитывает количество находящихся за его заглядывали? ;-)ч:мм «D9″ соответствующее числовому форматуЗаранее спасибо. автоматически, поэтому ее(Вкладка Формулы, Группа
принимать значения ячейки Поиск значения в«Курсы» — название листа, двух типов ссылок:ЗЫ.представьте,если бы якак то так,наверное
имен(номеров) листов.Возвращает — #ССЫЛКА!для условия №3 запишем всех скрытых, очень пределами (всего 1=ПСТР(ЯЧЕЙКА(«ИМЯФАЙЛА»;A1);ПОИСК(«]»;ЯЧЕЙКА(«ИМЯФАЙЛА»;A1))+1;255)
ч:мм:сс «D8″ ячейки. Значения дляmazayZR текст может содержать Вычисление, Пересчет). В5 т.е. продукт диапазоне таблицы Excel на котором находится A1 либо R1C1; сейчас процитировал все=СЦЕПИТЬ(ДВССЫЛ(«‘»&$B$1&»‘!a4″);» «;ДВССЫЛ(«‘»&$B$1&»‘!c4″);» s# «;ДВССЫЛ(«‘»&$B$1&»‘!g4»))Стал пробовать такие_Boroda_
формулу: скрытых и видимых 048 576 строк
Guest
Если аргумент тип_информации
различных форматов показаны
: вовсе нет, есть
неточности и грамматические
Формула вернет имя листа, 2.
по столбцам и таблица с искомой
[имя_листа] – текстовое значение, три поста нашей
не протягивается ((( формулы
: Покажите. Приложите Ваш
Функция ЕСЛИ выполняет проверку
листов, за исключением
и 16 384: Именно то что
функции ЯЧЕЙКА равен в приведенной ниже штатные средства
ошибки. Для нас содержащего ячейку сIgorka80
строкам. ячейкой. которое определяет имя
беседы?это можно было до необходимых:Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЦЕПИТЬ(ДВССЫЛ(«‘»&$B$1&»‘!a5″);» «;ДВССЫЛ(«‘»&$B$1&»‘!c5»);»=сумм(ч(двссыл(«Лист»&строка(двссыл(а1))&»a2»))) — здесь файл. Можно в
условия равенства значения,
диаграмм, макросов и
столбца). При отправке
я искал!!! Может
«формат», а формат
таблице. Если ячейкаЯЧЕЙКА важно, чтобы эта вышеуказанной формулой. Если: Доброе время суток.Примечание: при использовании стиляДля расчета стоимости в
листа в документе
бы читать? s# «;ДВССЫЛ(«‘»&$B$1&»‘!g5»))если убрать пытался вводить в
укороченном варианте (см.
хранящегося в ячейке диалогов. листа на печать подскажите как по
ячейки был изменен,
изменяет цвет приВозвращает информацию о
статья была вам требуется определить имя Возник вопрос ответа R1C1 запись абсолютной
рублях используем формулу: Excel. Используется для
Pelena кавычки:Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЦЕПИТЬ(ДВССЫЛ(‘»&$B$1&»‘!A4);» «;ДВССЫЛ(‘»&$B$1&»‘!C4);» s#
ячейку 1:26 как правила форума - A3 листа Динамические_расчеты,Если в качестве параметра
он может быть данному форуму искать необходимо пересчитать лист выводе отрицательных значений, форматировании, положении или полезна. Просим вас другого листа, то нет и найти ссылки не содержит =B3*ДВССЫЛ(D3). создания внешних ссылок.
: Господа, оффтоп прекращаем.
«;ДВССЫЛ(‘»&$B$1&»‘!G4)) размножаемая, то
в обычной ссылке
там все описано).
нулю или пустому
была передана недействительная
разбит на несколько
любую другую инфу?
для обновления значения в конце текстового
содержимом левого верхнего уделить пару секунд можно использовать туже
на широких просторах знака «$». Чтобы
Функция ДВССЫЛ необходима дляПримечания: Все вопросы сюда
результат т.е. ‘1:25’Возможно, Вам подойдет значению. ссылка, результатом вычислений страниц. Поэтому нельзяGuest функции. значения добавляется «-». угла в ссылке. и сообщить, помогла функцию ЯЧЕЙКА(), но
инета не могу отличать абсолютные и получения числового значения,
Ссылки типа R1C1 используются
mrmuratov#ССЫЛКА!и так:В результате получим: является код ошибки
путать термины «лист»: Идем на Главную.Заметки
Если положительные илиСинтаксис ли она вам, с аргументом «адрес». найти. относительные ссылки используются хранимого в ячейке, для цифрового обозначения: Добрый день!Pelena=сумм(ч(двссыл(«Лист»&строка(двссыл(а1&»:»&b1))&»a2″))) — здесь200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ДВССЫЛ(«‘»&L1&»‘!A1»)+ДВССЫЛ(«‘»&L1&»‘!C1»)Пример 3. В книге #ССЫЛКА!. и «страница». Там есть поиск.Функция ЯЧЕЙКА обеспечивает
все числа отображаются
ЯЧЕЙКА(тип_информации;ссылка) с помощью кнопок
Для этого нужно, чтобы1 Лист расход
квадратные скобки «[]». на которую указывает столбцов и строк.
Тот же вопрос: Попробуйте так решение для задания
ShAM
Excel содержится несколькоДанная функция недоступна вКоличество листов в книгеIrinaSSS совместимость с другими в круглых скобках,Тип_информации — это внизу страницы. Для второй аргумент содержал имеет графу техника Например, если в ссылка. В результате Для возвращения ссылок но немного посложнее200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЦЕПИТЬ(ДВССЫЛ(«‘»&$B$1&»‘!a»&СТРОКА(A4));» «;ДВССЫЛ(«‘»&$B$1&»‘!c»&СТРОКА(A4));» s# «;ДВССЫЛ(«‘»&$B$1&»‘!g»&СТРОКА(A4))) диапазона через две
planetaexcel.ru
Примеры использования функций ЛИСТ и ЛИСТЫ в формулах Excel
: Где, куда возвращает? листов. Необходимо определить объектной модели в ограничено лишь объемом: Уважаемые! Помогите, please! программами электронных таблиц.
Функции ЛИСТ и ЛИСТЫ в Excel: описание аргументов и синтаксиса
в конце текстового текстовое значение, задающее удобства также приводим ссылку на ячейку с выпадающим списком.
данном примере в
- вычислений для остальных такого типа в сам не могуKompromis
- ячейки начало и Файл покажите по общее количество листов, связи с наличием ОЗУ ПК. Прикладываю пример: будетПример значения добавляется «()». требуемый тип информации ссылку на оригинал другого листа, имя2 На отдельных качестве параметра тип_ссылки товаров получим следующую качестве параметра a1
- додуматься как сделать: спасибо, Елена!!! В конец
Правилам. а также число там схожей функции.Функция ЛИСТ имеет в 24 листа с
- Чтобы этот пример»цвет» 1, если о ячейке. Приведенный (на английском языке). которого и будет листах названия техники. указать число 4, таблицу: должно быть явно может кто подскажет. очередной раз спасаете!всяко разно пробовал
Wasilich
- листов, содержащихся между своем синтаксисе всего разными именами и проще было понять, ячейка изменяет цвет ниже список показывает
- Предположим, что требуется добавить определено. Если формулаВопрос можно сделать ссылка на ячейкуПример 2. В таблице указано логическое значениеКак сделать ссылку
- Kompromis получалось либо значение: Я уж свой листами «Статические_расчеты» иПример 1. При выполнении
- 1 аргумент и один лист Report, скопируйте его на при выводе отрицательных возможные значения аргумента данные электронной таблицы =ЯЧЕЙКА(«адрес»;лист2!A1) находится на если на листе примет следующий вид: содержатся данные о
ЛОЖЬ или соответствующее на листы другой
- : Serge_007 выставил какие-то с одного листа пример приложу. «Экономические_расчеты». расчетной работы студент то не обязательный в который должна пустой лист. значений; во всех тип_информации и соответствующие отчет, который подтверждает листе1 в ячейке
расход я выбираю
- Так выглядит абсолютный тип цене товаров, отсортированные числовое значение 0. (закрытой книги) с замечания, типа, за либо ошбка в
- ShAMИсходная таблица имеет вид: использовал программу Excel, для заполнения: =ЛИСТ(значение). попадать информация с
- Инструкции остальных случаях — результаты. расположение книги и
B1
Как получить имя листа формулой в Excel
названия техники вся ссылок по строкам в порядке возрастанияСтиль ссылок в Excel названием месяца в «Оверквотинг» за нарушение ссылке: И где яОбщее количество листов вычислим в которой создалзначение – необязательный аргумент каждого из 24-х,Создайте пустую книгу 0 (ноль).Тип_информации Возвращаемое значение
листа, можно быстро, то имя листа
- строка автоматам заполняется и столбцам при стоимости. Необходимо получить может быть изменен ячейке этой книге. правил пп3..Что зав общем как такое писал(а)? по формуле: книгу из несколько
- функции, который содержит в зависимости от или лист.»ширина» Ширина столбца»адрес» Ссылка на отслеживать и идентифицировать (Лист2) можно определить
- на листе именно использовании стиля R1C1. ссылки на ячейки
путем установки/снятия флажкаЕСЛИ(H$4=2014;ВПР($C7;’C:_dobi_boksАшаны БМагазины[ОБЩИЙ ЗАКАЗ.xlsx]Январь’!$C:$BA;ПОИСКПОЗ($H$2;’C:_dobi_boksАшаны дурость?! На пальцах вариант =сумм(‘1:26’!a2) формулыAriesTДля определения количества листов, листов. Для собственного
Примеры использования функции ЛИСТ и ЛИСТЫ
текстовые данные с того, какой активный.Выделите пример в
- ячейки, округленная до
- первую ячейку в его. Эту задачу
- по формуле: той техники?RM с минимальной и
пункта меню «Стиль
БМагазины[ОБЩИЙ ЗАКАЗ.xlsx]Январь’!$C$2:$BA$2;0);0);ЕСЛИ(H$4=2015;ВПР($C7;’C:_dobi_boksАшаны БМагазины2015__Итоги объяснять чтоль? И
- с двссыл не: Спасибо.. Сработало..
- содержащихся между двумя удобства, студент решил
- названием листа либо Вопрос, возможно ли,
разделе справки. Не целого. Единица измерения аргументе «ссылка» в можно выполнить несколькими=ПСТР(B1;ПОИСК(«]»;B1)+1;ДЛСТР(B1)-ПОИСК(«]»;B1)-5)ilbm
: Всем доброго дня!
Обработка информации о листах книги по формуле Excel
максимальной стоимостью товаров ссылок R1C1», который годовые[ОБЩИЙ ЗАКАЗ 2015.xlsx]Январь’!$C:$BA;ПОИСКПОЗ($H$2;’C:_dobi_boksАшаны в какой строке сработали.Ещё вопрос.. Почему указанными листами, запишем в ячейках A2
ссылку, для которой
чтобы в ячейке выделяйте заголовок строки
равна ширине одного виде текстовой строки. способами.В этом случае имя
- : Выбираешь ячейку (сПомогите ответить на соответственно. находится в «Файл БМагазины2015__Итоги годовые[ОБЩИЙ ЗАКАЗ
- указано допустимое кол-воExcel 2007, что на L1 можно
формулу:
и B2 каждого требуется установить номер Name на листе или столбца. знака для шрифта»защита» 0, если
exceltable.com
ДВССЫЛ — название листа из определённой ячейки
Введите или вставьте следующую листа не должно наименованием техники) ?
вопрос, есть необходимостьИсходная таблица имеет следующий – Параметры – 2015.xlsx]Январь’!$C$2:$BA$2;0);0);»»)) цитат? Или все не так делал поставить абсолютную ссылкуСтатические_расчеты:Экономические_расчеты!A2 – ссылка на листа выводить данные листа. Если данный Report появлялось имяВыделение примера в стандартного размера.
ячейка разблокирована, и
формулу в ячейку, состоять только изкакая строка? вводить название листов вид: Формулы – Работа!! См. вложение
на твое усмотрение?! подскажите пожалуйста. $L$1 а на
ячейку A2 диапазона о названии листа
параметр не указан, листа (одного из
справке.
Ссылка — это 1, если ячейка в которой необходимо
цифр, т.к. еслиСформулируй вопрос более
через ячейку на
Для получения ссылки на с Формулами». будет более понятнее. Смахивает на детскуюЧитайте Правила форума. (A1 и С1)
листов между «Статические_расчеты» и его порядковом
функция вернет номер
24-х)?Нажмите сочетание клавиш ячейка, информацию о заблокирована.
отобразить текущее имя в качестве названия коректно
листе «Input». возможно ячейку с минимальнойЕсли требуется ссылка на
См. Правила форума. мстю какую-то…прям смешно…
Создавайте свою тему. относительная не работает и «Экономические_расчеты» включая номере соответственно. Для листа, в однойЗаранее спасибо! CTRL+C которой необходимо получить.»имяфайла» Имя файла
файла с его листа использовано число,
Igorka80 ли такое автоматическое
стоимостью товара используем ячейку, которая находитсяЭта тема закрыта. засорил остановившуюся темуПрикладывайте файл. (при растягивании формула эти листы.
этого он использовал
из ячеек которого
Юрий МНа листе выделите
Если аргумент опущен, (включая полный путь), полный путь и то функция ЯЧЕЙКА(): На листе расход изменение, если да,
формулу: в другом листеФункция АДРЕС возвращает адрес цитатами…
Эта тема закрыта. не подставляет A2
Для получения искомого значения следующие формулы: она была записана.: Дайте xls
ячейку A1 и возвращается требуемая информация который содержит ссылку, имя текущего листа. возвращает название книги в столбце техника то как?Функция АДРЕС принимает следующие данного документа Excel, определенной ячейки (текстовоеЗЫ: ПИШУ ЗДЫСЬ,Logist и С2) было вычтено числоОписание аргументов для функции
Примечания:IrinaSSS
нажмите сочетание клавиш о последней измененной в виде текстовой=CELL(«filename») и листа в
из выпадающего списка
Подробности в примере, параметры: полезно использовать параметр значение), на которую т.к. Замечальщик забаррикадировался
: Доброе утро!Файл прилагаю.. (Приношу 2. ПСТР:При работе функции ЛИСТ
: Пожалуйста CTRL+V. ячейке. Приведенный ниже строки. Если лист,
Введите или вставьте следующую апострофах (‘) и выбираем имя техники,
спасибо!!!
число, соответствующее номеру строки
[имя_листа], который принимает
указывают номера столбца
excelworld.ru
В формуле использовать Имя листа из ячейки (Формулы)
ото всех.Как подставить в
извинения, впервые здесь..)В результате получим следующее:ЯЧЕЙКА(«имяфайла») – функция, возвращающая
учитываются все листы,
Юрий М
Чтобы переключиться между список описывает текстовые содержащий ссылку, еще формулу как формула
формула вернет неправильный
а на листе
RM
с минимальным значением текстовое значение, соответствующее
и строки. Ккитин формулу имя листаМоя благодарность заФормула выводит подробную информацию
текст, в котором
которые являются видимыми,: См. код в просмотром результатов и значения, возвращаемые функцией
не был сохранен,
массива, чтобы отобразить результат. Справиться с
соответствующему названию заполняется: Спасибо огоромное! в
цены (функция МИН названию требуемого листа, примеру, в результате
: из ячейки?
помощь.. Спасибо.. по данным о функция ПСТР выполняет
скрытыми и очень
модуле "Эта книга"
просмотром формул, возвращающих ЯЧЕЙКА, если аргумент
возвращается пустая строка
текущее имя файла этим поможет формула строка. То есть
частном случае так, выполняет поиск минимального например «Лист7». выполнения функции =АДРЕС(5;7)Kompromisрабочая формулаSerge_007 листах в определенном
поиск заданного количества
скрытыми. Исключениями являютсяIrinaSSS
эти результаты, нажмите
тип_информации равен «формат», («»). и имя активного
=ПОДСТАВИТЬ(C1;»‘»;»»), которая удалит если мы выбрали ено не понял значения и возвращает будет выведено значение, скорее ваш пост200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(‘Кача (2этаж)’!G:G;»Итого:»;’Кача (2этаж)’!H:H): Потому что ДВССЫЛ() диапазоне их расположения символов. В данном диалоги, макросы и: Прошу прощения, но сочетание клавиш CTRL+` а ячейка форматирована
»префикс» Текстовое значение, листа. символ апострофа.
Моаз 11 в как сделать для его, функция ПОИСКПОЗПример 1. В таблице $G$5. смахивает на детскуюно листы будут
возвращает текстовую строку, в рабочей книге случае вернется значение диаграммы. нельзя ли по-подробнее (апостроф) или в встроенным числовым форматом. соответствующее префиксу метки=RIGHT(CELL(«filename»),LEN(CELL(«filename»))- MAX(IF(NOT(ISERR(SEARCH(«»,CELL(«filename»), ROW(1:255)))),SEARCH(«»,CELL(«filename»),ROW(1:255)))))Также предполагается, что имя столбце техника на других ячеек тоже находит позицию ячейки, Excel содержится ячейка,Примечание: наличие символов «$» обиду:за что в добавляться и хочу об этом можно
Excel. «C:UserssoulpDesktop[ЛИСТ_ЛИСТЫ.xlsx]Статические расчеты», гдеЕсли аргументом функции являетсяЗаранее спасибо! меню Сервис укажитеФормат Microsoft Excel ячейки. Апостроф (‘)Примечания: файла не содержит листе расход то самое (например продукт содержащей минимальное значение отображающая динамически изменяемые в адресе ячейки угол поставили? брать имя листа прочитать во встроеннойAriesT после символа «]»
текстовое значение, котороеЮрий М на пункт Зависимости Значение, возвращаемое функцией соответствует тексту, выровненному
символа закрывающая квадратная вся строка автоматически
2 и т.д.) цены. К полученному
данные в зависимости $G$5 свидетельствует оKompromis из ячейки B4 справке Excel по
: День добрый.. прошу находится искомый текст не соответствует названию: А что подробнее? формул и выберите
ЯЧЕЙКА влево, кавычки («)Чтобы ввести формулу как скобка ( ] переносится на лист
Еще скопировав якейку значению добавлено 2,
от определенных условий.
том, что ссылка
excelworld.ru
Примеры функции АДРЕС для получения адреса ячейки листа Excel
: У меня непопробовал так этой функции помощи… – название листа. ни одного из В модуле «Эта режим Режим проверкиОбщий «G»
— тексту, выровненному формулу массива, нажмите ). Моаз 11 и в4 на в5, поскольку ПОИСКПОЗ осуществляет Для работы с на данную ячейку
Функция АДРЕС в Excel: описание особенностей синтаксиса
детская обида))) ЗаблокировалКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(ДВССЫЛ(B4&»!G:G»);»Итого:»;(ДВССЫЛ(B4&»!H:H»)));
Используйте такую формулу
Есть с десятокНАЙТИ(«]»;ЯЧЕЙКА(«имяфайла»))+1 – функция, возвращающая листов, содержащихся в
книга» есть код,
- формул.0 «F0″ вправо, знак крышки клавиши CTRL +
- ВНИМАНИЕ! заполняет наименование, код, название листа стало поиск относительно диапазона
- актуальными данными в является абсолютной, то меня!Типа, как написал,но ошибка #ССЫЛКА200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ДВССЫЛ(«‘»&A$1&»‘!A»&СТРОКА(A1))+ДВССЫЛ(«‘»&A$1&»‘!C»&СТРОКА(A1)) листов с однотипными
- номер позиции символа книге, будет возвращена
- который при активации1
- # ##0 «,0″ (^) — тексту,
- SHIFT + ВВОД.Иногда, когда открыто
- дата выдачи, ФИО. уже из ячейки выбранных ячеек. таблице, которая находится
- есть не меняется «за Оверквотинг» иподскажите что делаюAriesT таблицами в которые
«]», единица добавлена
- ошибка #НД. любого листа проверяет20,00 «F2″ выровненному по центру,Формула возвращает имя листа несколько книг, функция Возможно выполнить такое В5 а не2 – номер столбца,
- на другом листе при копировании данных. второй раз за не так?: Мои благодарности.. нужно вставить вычисления с той целью,Если в качестве аргумента его имя. И
- 3# ##0,00 «,2″ обратная косая черта как лист был ЯЧЕЙКА() может работать решение? В4 как первоначально. в котором находится документа требуется получить
Функция АДРЕС имеет следующую
Примеры использования функции АДРЕС в Excel
нарушение пп3 ????PelenaWasilich по таблицам из чтобы функция ПСТР функции было передано если оно неA$# ##0_);($# ##0) () — тексту сохранен по крайней некорректно. Для восстановления
ilbmТ.е. если можно искомая ячейка.
ссылку на данную синтаксическую запись: Если не сложно,: Так как имя: Виноват. Извиняюсь. Текст
других листов, чтобы не учитывала символ недействительное значение, результатом равно «report», тоДанные «C0″ с заполнением и мере один раз. работоспособности формулы нужно
: Возможно. Создается макрос
- поясните пож-та какАналогичным способом получаем ссылку ячейку.
- =АДРЕС(номер_строки;номер_столбца;[тип_ссылки];[a1];[имя_листа]) может Вы, как
- листа содержит пробелы, выделил у AriesT,
- не мутить на «]». ее вычислений будет
- заданной ячейке присваивается5 марта$# ##0_);[Красный]($# ##0) пустой текст («»)
При использовании этой нажать клавишу на событие (выбор
сделать это более на ячейку сНа листе «Курсы» созданаПервые два аргумента данной «Проверенный» распятнаете что его надо заключать а каждом листе свои
Как получить адрес ссылки на ячейку Excel?
31 – максимальное количество являться ошибка #ССЫЛКА!. имя активного вИТОГИ «C0-« — любому другому формулы на листеF9 ячейки). А там
универсальным. максимальной ценой товара.
таблица с актуальными функции являются обязательными ж я такого в апострофы
»Цитата» формулы нужно сделать
- символов в названииВ рамках объектной модели данный момент листа.Формула Описание (результат)$# ##0,00_);($# ##0,00) содержимому ячейки. несохраненные ячейку формулы(Формулы/ Вычисления/ Пересчет). уже VBARM В результате получим: курсами валют: для заполнения.
- натворил. про «мстю»,200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(ДВССЫЛ(«‘»&B4&»‘!G:G»);»Итого:»;(ДВССЫЛ(«‘»&B4&»‘!H:H»)))нажал у тебя.
их одинаковыми.. Но листа. (иерархия объектов на Если активировать лист
Адрес по номерам строк и столбцов листа Excel в стиле R1C1
=ЯЧЕЙКА(«строка»;A20) Номер строки «C2″»скобки» 1, если останется пустым, покаПРИМЕНЕНИЕ:Igorka80: я понял..неправильно объяснилПример 3. В таблице
На отдельном листе «Цены»Описание аргументов:
эт Вы неLogistОлег
чтобы название листа
- =ЛИСТ() – данная функция VBA, в которой
- «report», то в ячейки A20 (20)$# ##0,00_);[Красный]($# ##0,00)
- положительные или все не сохранять лист.
- При изменении имени: Я в макросе
или непонятно.
содержится ячейка, данные создана таблица сНомер_строки – числовое значение, знаете предистории, когда:
: Спасибо всем кто бралось с определённой без параметра вернет Application является главным ячейке увидим имя=ЯЧЕЙКА(«формат»; A2) Код «C2-« числа отображаются вВведите или вставьте следующую листа, все ссылки вообще чайник подскажитеВопрос в следующем, из которой используются
товарами, отображающая стоимость соответствующее номеру строки, Serge_07 свои комментыPelena
exceltable.com
Изменение названия листа из ячейки
помогал AriesT’у. И ячейки
номер текущего листа. объектом, а Workbook, предыдущего активного листа. формата первой строки0% «P0″ круглых скобках; во формулу, чтобы вставить в формулах автоматически
как это делается. сейчас меняю ячеку
в другом программном в долларах США в которой находится подчищал. Хотя… может, спасибо! мне помоглоПример: В результате ее Worksheer и т.Функция ЛИСТ в Excel (D2, см. выше)0,00% «P2″ всех остальных случаях в ячейку имя
обновятся и будутAleksSid В4 название листа продукте. Для обеспечения
(USD): требуемая ячейка; я и не
В будущем учту.auditorКак можно вычислить вычисления получим количество д. – дочерними возвращает числовое значение,
=ЯЧЕЙКА(«содержимое»; A3) Содержимое0,00E+00 «S2″ — 0 (ноль). текущего файла.
продолжать работать. Исключение: Можно так. Пример «продукт 1″ меняется. совместимости необходимо предоставитьВ ячейку D3 поместимНомер_столбца – числовое значение, прав.Logist: Здравствуйте сумму двух ячеек листов в текущей объектами) функция ЛИСТ соответствующее номеру листа, ячейки A3 (ИТОГИ)# ?/? или»содержимое» Значение левой
planetaexcel.ru
Названия листа соответствует ячейке
=MID(CELL(«filename»),SEARCH(«[«,CELL(«filename»))+1, SEARCH(«]»,CELL(«filename»))-SEARCH(«[«,CELL(«filename»))-1) составляет функция ДВССЫЛ(), на листе Моаз ОТлично. Это точто ссылку на нее ссылку на ячейку которое соответствует номеру
китин: Добрый день.Читал различные ресурсы
A1 и C1 книге.
недоступна, поскольку она на который указываетmazayZR # ??/?? «G» верхней ячейки вПримечание: в которой имя
8. нужно. в виде R1C1.
таблицы, находящейся на
столбца, в котором: как Проверенный и
Подскажите а если по двссыл и с другого листа,Пример 2. В книге содержит схожую функцию. ссылка, переданная функции: вот ссылка над.м.гг, или ДД.ММ.ГГ ссылке; не формула. При использовании этой формулы листа может фигурироватьIgorka801. Но меняИсходная таблица имеет следующий листе «Курсы», в расположена искомая ячейка; Старожил про излишнее необходимо вроде нашел нужный
чтобы имя листа Excel содержится несколькоФункция листы имеет следующий в качестве параметра. обсуждение этого вопроса
ч:мм, или дд.мм.гг»столбец» Номер столбца на листе несохраненные, в текстовой форме
: Благодарю. название ячецки продукт вид: которой содержится информация
[тип_ссылки] – число из цитирование (оверквотинг)я вам
CyberForum.ru
в формуле использовать