Excel работа с большим количеством листов

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

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

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

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

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

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

Наша задача — собрать все данные со всех листов в одну таблицу, чтобы потом с ней работать (фильтровать, сортировать, построить сводную и т.д.) Сделать это можно разными способами, но самыми удобными будут, пожалуй, 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 для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше

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

В этой статье

  • Группировка выделенных листов

  • Отмена группировки выделенных листов

  • Группировка всех листов

  • Отмена группировки всех листов

Группировка выделенных листов

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

Пример листа

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

  1. Удерживая клавишу CTRL, щелкните ярлычки листов, которые хотите объединить в группу.

    Выделены ярлыки "Париж" и "Берлин".

    Совет: Если вы хотите сгруппировать листы, расположенные подряд, щелкните ярлычок первого листа диапазона, а затем, удерживая клавишу SHIFT — последнего.

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

    Формула на листе "Париж"
    Формула также есть на листе "Лондон".

    Примечание: После группировки листов в названии книги отобразится надпись [Группа].

Совет: Клиентам нравятся советы. Если вы можете поделиться хорошим советом, добавьте его.

Отмена группировки выделенных листов

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

  • Удерживая клавишу CTRL, щелкните листы, которые хотите убрать из группы.

Группировка всех листов

Вы можете легко сгруппировать все листы книги.

  1. Щелкните правой кнопкой мыши ярлычок любого листа.

  2. Выберите команду Выделить все листы.

    В контекстном меню выбран элемент "Выделить все листы".
    Выбраны все листы.

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

    В контекстном меню выбран элемент "Разгруппировать листы".

Отмена группировки всех листов

После внесения всех нужных изменений вы можете отменить группировку листов.

  1. Щелкните ярлычок любого листа группы.

  2. Выберите команду Разгруппировать листы.

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

См. также

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

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

Содержание:

  1. Сгруппируйте некоторые выбранные рабочие листы
  2. Разгруппировать некоторые выбранные рабочие листы
  3. Сгруппировать все рабочие листы
  4. Разгруппировать все рабочие листы
  5. Осторожно при группировании листов

При работе с несколькими листами в Excel иногда может возникнуть необходимость отредактировать одну и ту же ячейку на всех листах (или применить определенное форматирование к одной и той же ячейке / диапазону на всех листах).

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

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

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

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

Сгруппируйте некоторые выбранные рабочие листы

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

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

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

  1. Выберите любой из листов, которые вы хотите сгруппировать.
  2. Удерживайте клавишу Ctrl на клавиатуре
  3. Используйте мышь / трекпад, чтобы выбрать все листы, которые вы хотите сгруппировать (при этом удерживайте нажатой клавишу Ctrl)
  4. Оставьте контрольный ключ

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

Вы также сможете визуально увидеть сгруппированные листы (цвет изменится на светло-серый, как показано ниже).

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

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

Примечание. Когда вы группируете листы в Excel, слово «Группа» добавляется перед именем книги. Это также быстрый способ проверить, есть ли в книге сгруппированные листы.

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

Совет профессионала: Если вы хотите сгруппировать последовательные листы в Excel, вы можете выбрать первый лист, удерживать клавишу Shift, а затем выбрать последний лист. Это выберет все листы посередине.

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

Разгруппировать некоторые выбранные рабочие листы

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

Ниже описано, как разгруппировать некоторые выбранные листы:

  1. Удерживайте клавишу Ctrl
  2. Щелкните все таблицы, которые нужно разгруппировать.
  3. Оставьте клавишу Ctrl

Это разгруппирует выбранные листы, но оставит остальные листы сгруппированными.

Сгруппировать все рабочие листы

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

  1. Щелкните правой кнопкой мыши любую вкладку рабочего листа.
  2. Нажмите на опцию «Выбрать все листы».

Еще один быстрый способ сгруппировать все листы в Excel — использовать клавишу Shift:

  1. Выберите первый рабочий лист (крайняя левая вкладка)
  2. Удерживайте клавишу Shift
  3. Щелкните последний лист в книге (крайняя правая вкладка)
  4. Оставьте клавишу Shift

Разгруппировать все рабочие листы

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

  1. Щелкните правой кнопкой мыши любую вкладку сгруппированного рабочего листа.
  2. Нажмите «Разгруппировать листы»

Другой способ разгруппировать все листы — щелкнуть любую вкладку листа (кроме вкладки активного листа).

Осторожно при группировании листов

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

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

Как этого избежать?

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

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

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

Надеюсь, вы нашли это руководство по Excel полезным.

Как переключаться между листами книги Excel при большом количестве листов?

В книге Excel больше сотни листов; как быстро переключаться между листами, если на ярлычках видно только несколько листов?

Как быстро отыскать нужный лист?

ЕхсеlЯрлычки

Сочетания Ctrl+PgUp и Ctrl+PgDown позволят вам быстро пролистывать вашу книгу вперед-назад. Либо просто щелкните правой кнопкой мыши по кнопкам прокрутки, находящимся слева от ярлычков листов и выберите нужный

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

СписокЛистов

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

Быстрый переход между листами

У вас бывают файлы, где много листов? Реально много — несколько десятков? Переход на нужный лист в такой книге может напрягать — пока найдешь нужный ярлычок листа, пока по нему щелкнешь.

Способ 1. Горячие клавиши

Сочетания Ctrl+PgUp и Ctrl+PgDown позволят вам быстро пролистывать вашу книгу вперед-назад.

Способ 2. Переход мышью

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

quick-sheet-select1.png

Просто и изящно. Работает во всех версиях Excel.

Способ 3. Оглавление

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

Вставьте в книгу пустой лист и добавьте на него гиперссылки на нужные вам листы, используя команду Вставка — Гиперссылка (Insert — Hyperlink) :

quick-sheet-select2.png

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

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

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

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

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

Способ 1. Горячие клавиши.

С помощью клавиш переключения Ctrl + Page Up и Ctrl + Page Down можно быстро переходить между листами в Excel на 1 лист вперед или назад соответственно.

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

Способ 2. Полоса прокрутки.

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

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

Переключение листов с помощью полосы прокрутки

Перейдем к чуть более сложному варианту.

Способ 3. Гиперссылка.

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

Переключение листов с помощью гиперссылок

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

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

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

вывести списком все листы, для удобства работы

Гость

Дата: Пятница, 18.05.2012, 11:25 |
Сообщение № 1

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

 

Ответить

Hugo

Дата: Пятница, 18.05.2012, 11:30 |
Сообщение № 2

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

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

Сообщений: 3140


Репутация:

670

±

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


2010, теперь уже с PQ

Не пробовали нажать ПКМ на стрелочках навигации по листам?


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

Гость

Дата: Пятница, 18.05.2012, 11:38 |
Сообщение № 3

Классно… Я даже и не знала про такую функцию…
Спасибо, что просвятили)))

 

Ответить

Alex_ST

Дата: Пятница, 18.05.2012, 14:39 |
Сообщение № 4

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

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

Сообщений: 3176


Репутация:

604

±

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


2003

Quote (Гость)

Спасибо, что просвятили

Игорь, а ты у нас оказывается святой, а не просветитель biggrin



С уважением,
Алексей
MS Excel 2003 — the best!!!

 

Ответить

ivanov1974

Дата: Пятница, 18.05.2012, 19:52 |
Сообщение № 5

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

Ранг: Форумчанин

Сообщений: 149


Репутация:

1

±

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


Меня тоже интересует этот ворос. Но я ничего не понял, что такое ПКМ?

 

Ответить

Serge_007

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

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

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

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (ivanov1974)

что такое ПКМ?

Правая Кнопка Мыши


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

ivanov1974

Дата: Воскресенье, 20.05.2012, 15:36 |
Сообщение № 7

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

Ранг: Форумчанин

Сообщений: 149


Репутация:

1

±

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


Спасибо!

 

Ответить

nikitan95

Дата: Воскресенье, 20.05.2012, 16:51 |
Сообщение № 8

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

Ранг: Обитатель

Сообщений: 410


Репутация:

0

±

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


2016

ПКМ конечно не плохой вариант, а если листов к примеру больше ста? В смысле что можно ли посредством функций вывести на первом листе список листов и при нажатии на них перейти на соответствующий лист?

Сообщение отредактировал nikitan95Воскресенье, 20.05.2012, 16:52

 

Ответить

Serge_007

Дата: Воскресенье, 20.05.2012, 17:15 |
Сообщение № 9

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

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

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (nikitan95)

…можно ли посредством функций вывести на первом листе список листов?

Нет.

Альтернатива — см. вложение. Макросы должны быть разрешены


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

nikitan95

Дата: Вторник, 22.05.2012, 08:06 |
Сообщение № 10

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

Ранг: Обитатель

Сообщений: 410


Репутация:

0

±

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


2016

спасибо, Сергей! Превосходное решение. Думаю, многим будет полезно. Виват!

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 12:00 |
Сообщение № 11

Сергей, а как поправить формулу на листе «Список»
[vba]

Code

=ЕСЛИ(ПРОВЕРКА;ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»)

[/vba]
так чтобы в общем списке листок не было самого листа «Список» и пары еще заранее известных, например Март и Сентябрь?

 

Ответить

Serge_007

Дата: Пятница, 01.06.2012, 12:26 |
Сообщение № 12

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

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

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Гость)

как поправить формулу на листе «Список»

Её править не надо. Тут дело не в формуле на листе, а в именованых формулах, на которые она ссылается. Вот их и надо изменять


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 13:16 |
Сообщение № 13

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

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 13:48 |
Сообщение № 14

предложенный мною вариант не есть хорошо,
[vba]

Code

=ЕСЛИ((ИЛИ(ЕСЛИ(ПРОВЕРКА;ЛИСТ.ИМЯ;»»)=»Март»;ЕСЛИ(ПРОВЕРКА;ЛИСТ.ИМЯ;»»)=»Сентябрь»)=ИСТИНА); «»; ЕСЛИ(ПРОВЕРКА;ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»))

[/vba]
т.к. отработав условие остается пустая ячейка и выглядеть это будет например так (исключаем «Март»):
Список
Январь 2012
Фераль

Апрель
Май
Июнь
Июль
Август

Октябрь
Ноябрь
Декабрь

а по хорошему нужно чтобы было без пустых ячеек … полистаю почитаю, может разберусь как с диапазонами работать =)

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 14:02 |
Сообщение № 15

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

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

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


Excel 2007

Я предложил бы такой вариант:
вводите в диапазон $H$3:$H$10 не нужные, можно расширить диапазон…

Code

=ЕСЛИ(ПРОВЕРКА;ЕСЛИ(ЕНД(ПОИСКПОЗ(ЛИСТ.ИМЯ;$H$3:$H$10;0));ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»);»»)


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

 

Ответить

Гость

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

Quote (ABC)

Я предложил бы такой вариант:
вводите в диапазон $H$3:$H$10 не нужные, можно расширить диапазон…

кстати да, так более грамотно, но все же результат остается прежним =( а именно список имеет вид:
[vba]

Code

Список
Январь 2012
Фераль

Апрель
Май
Июнь
Июль
Август

Октябрь
Ноябрь
Декабрь

[/vba]
вместо требуемого:
[vba]

Code

Список
Январь 2012
Фераль
Апрель
Май
Июнь
Июль
Август
Октябрь
Ноябрь
Декабрь

[/vba]

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 14:39 |
Сообщение № 17

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

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

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


Excel 2007

смотрите в ИМЕНИ ЛИСТА не должен быть ПРОБЕЛЫ.
массивная
Excel 2007

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

6540919.xls
(57.0 Kb)


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

Сообщение отредактировал ABCПятница, 01.06.2012, 14:49

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 15:04 |
Сообщение № 18

спасибо! воспользуюсь вашим вариантом =)

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 15:11 |
Сообщение № 19

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

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

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


Excel 2007

Quote (Гость)

воспользуюсь вашим вариантом

не мой вариант — вариант Сергея, я добавил кои что по Вашему 2-му хотелку!!! и все… smile


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

 

Ответить

Serge_007

Дата: Пятница, 01.06.2012, 16:56 |
Сообщение № 20

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

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

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (ABC)

не мой вариант — вариант Сергея

Не, я сам этот файлик где-то когда-то нашел smile

Подшаманил, сделал свой вариант, с исключаемыми листами. Можно ещё доработать, но сейчас лень smile


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Excel работа с базами данных access
  • Excel работа с огромными таблицами
  • Excel работа с авторами
  • Excel работа с номерами ячейки
  • Excel пустые ячейки при печати