Как настроить автоматическое обновление сводной таблицы в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2013 Еще…Меньше

Вы можете в любой момент нажать кнопку Обновить, чтобы обновить данные в сводных таблицах в книге. Вы можете обновить данные для сводных таблиц, импортированных из Power Query, таких как база данных (SQL Server, Oracle, Access и т. д.), куб служб Analysis Services, веб-канал данных и многие другие источники. Можно также обновить данные из таблицы Excel,которая автоматически включает все изменения внешнего источника данных.

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

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

    Изображение ленты Excel

    Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».

  3. Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

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

  1. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  2. На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  3. На вкладке « Данные» проверьте данные обновления при открытии файла .

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

    Изображение ленты Excel

    Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».

  3. Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

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

  1. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  2. На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  3. На вкладке « Данные» проверьте данные обновления при открытии файла .

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

    Изображение ленты Excel

    Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».

  3. Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

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

  1. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  2. На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  3. На вкладке « Данные» проверьте данные обновления при открытии файла .

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

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

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

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

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

Оптимально формировать сводный отчет на основе исходной таблицы, если она отвечает следующим параметрам:

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

Требования к исходной таблице:

  • у каждого столбца есть заголовок (первый вариант – неправильный; второй – правильный);
  • Заголовки.

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

Нерациональная организация информации:

Информация.

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

Рационально.

Лучше значения ввести следующим таким образом.



Как сделать сводную таблицу в Excel

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

Каталог.

Подразумевается, что данная таблица состоит из сотен строк. Создадим сводный отчет для выведения списка книг из конкретной категории или определенного года. Задача сформулирована – перейдем к реализации.

  1. Активизируем любую ячейку в исходном диапазоне – щелкаем мышкой. Переходим на вкладку «Вставка» — «Таблица». Нажимаем кнопку «Сводная таблица».
  2. Вставка.

  3. Автоматически выделяется весь диапазон. Открывается диалоговое окно инструмента. Необходимо проверить правильность параметров для отчета (диапазон, куда выводить сводную таблицу).
  4. Параметры.

  5. Открывается окно для построения отчета, список полей. В правой нижней части страницы – области для размещения данных из исходного диапазона.
  6. Настройки.

  7. Области позволяют сформировать структуру сводного отчета.
  8. Структура.

  9. Сначала заполним «Названия строк». Так как нужно вывести список книг по годам, то в этом разделе должен быть перечень названий книг. В списке полей ставим птичку напротив поля «Название». Данные столбца имеют текстовый формат – автоматически попадают в область «Названия строк». К значениям сразу применяется сортировка по алфавиту.
  10. Название.

  11. Теперь ставим птичку напротив поля «Год выпуска».

Год выпуска.

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

Как обновить сводную таблицу в Excel

От сводной таблицы больше пользы, если она динамическая. То есть при внесении новых данных в исходный диапазон поля отчета можно обновить. Как это сделать?

Вручную:

  1. Когда данные внесены в исходную таблицу, переходим на лист со сводным отчетом и щелкаем в любом его месте правой кнопкой мыши. В открывшемся меню выбираем «Обновить».
  2. Обновить.

  3. Активизируем нужное поле сводного отчета – становится доступен инструмент «Работа со сводными таблицами». Открываем вкладку «Параметры». В группе «Данные» нажимаем кнопку «Обновить».
  4. Данные.

  5. Выделить сводную таблицу или отдельное поле, нажать сочетание клавиш Alt + F5.

Как настроить автоматическое обновление сводной таблицы в Excel:

  1. Открыть лист со сводным отчетом. Щелкнуть в любом месте таблицы левой кнопкой мыши. Это нужно для того, чтобы активизировалась «Работа со сводными таблицами».
  2. На вкладке «Параметры» находим группу «Сводная таблица». Нажимаем – открывается меню кнопки. Выбираем пункт «Параметры».
  3. Параметры1.

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

Пункты.

Закрыть окно, нажав кнопку ОК.

Еще один вариант:

  1. Открыть лист со сводным отчетом. На вкладке «Разработчик» нажать кнопку «Запись макроса».
  2. Выполнить вручную обновление сводной таблицы – остановить запись. Нажать на кнопку «Макросы». Выбрать из доступных макросов записанный – «выполнить».

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

Хитрости »

21 Август 2016              62078 просмотров


Автообновляемая сводная таблица

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

    Выделить любую ячейку сводной таблицы→Правая кнопка мыши→Обновить(Refresh) или вкладка Данные(Data) →Обновить все(Refresh all) →Обновить(Refresh)

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


Недоавтообновление
Почему «недо» — жать кнопку Обновить все же придется…Но не отчаивайтесь — читайте до конца и мы научимся обновлять все автоматом.

Для счастливых обладателей Excel 2007 и старше есть простой способ без лишних телодвижений. Это встроенный инструмент Таблица(Table). Его еще иначе называют «умная таблица» и я тоже буду применять этот термин, чтобы не было путаницы.

Умная таблица

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

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

    Если вдруг захочется и здесь навести красоту, то это тоже делается довольно легко:
    Выделяем любую ячейку в этой таблице-переходим на вкладку Работа с таблицами(Table tools)Конструктор(Desigh)Стили таблиц(Table styles). Можно выбрать один из предлагаемых там вариантов и применить. Если ни один из вариантов не подходит — создаем свой. Раскрываем список стилей и выбираем Создать стиль таблицы(New table style…)

А дальше все как привыкли:

  1. Выделить любую ячейку исходной таблицы(теперь уже «умной»)
  2. Вкладка Вставка(Insert) -группа Таблица(Table) -Сводная таблица(PivotTable)
  3. В диалоговом окне Создание сводной таблицы(Create PivotTable) в пункте Выбрать таблицу или диапазон(Select a table or range) в поле Таблица или диапазон(Range/Table) будет автоматически указан не адрес какого-то диапазона, а имя созданной умной таблицы:
    Создание сводной на основе умной таблицы
    Далее надо определить место размещения Сводной таблицы:

    • На новый лист (New Worksheet)
    • На существующий лист (Existing Worksheet)
  4. нажать OK

Готово. Теперь при добавлении строк в эту таблицу для их отображения в сводной достаточно будет лишь обновить сводную таблицу как привыкли. Правда, тут тоже есть нюанс — добавлять строки надо правильно. Можно вбить данные в любую ячейку первой пустой строки таблицы — таблица автоматом расшириться, добавив еще одну строку. Теперь туда можно скопировать нужные данные или добить вручную. Если надо вставить сразу несколько строк — в правом нижнем углу последней строки умной таблицы есть слегка выделяющийся уголочек, который надо ухватить мышью и растянуть на нужное кол-во строк/столбцов.
Если мы просто скопируем строки ниже таблицы, то она не расширится. Это надо учитывать.


Если необходимо

настроить на авторасширение уже созданную сводную

, то порядок почти такой же, только сводную таблицу создавать не надо. Преобразуем исходные данные в умную таблицу, переходим на лист со сводной таблицей. Выделяем любую ячейку в сводной таблице, переходим на динамическую вкладку Работа со сводными таблицами(PivotTable Tools)Параметры(Options) -группа кнопок Даныне(Data)Источник данных(Change data Source). В появившемся окне в поле Таблица или диапазон(Table/Range) указываем либо ссылку на всю умную таблицу, либо имя нашей умной таблицы(если знаете где его подсмотреть).

На что здесь следует обратить внимание:

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


Полное автообновление

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

  1. убеждаемся, что макросы разрешены(Почему не работает макрос?, Что такое макрос и где его искать?)
  2. перейти на лист исходных данных(в моем случае лист так и называется — Исходные данные)
  3. жмем на ярлычке этого листа правой кнопкой мыши —Исходный текст(View code):
    Модуль листа
  4. вставляем туда следующий код:
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
        'проверяем - изменения внутри умной таблицы или нет
        If Not Intersect(Target, Target.Parent.ListObjects(1).Range) Is Nothing Then
            'если внутри таблицы, то обновляем сводную таблицу на листе "Автообновляемая сводная"
            Sheets("Автообновляемая сводная").PivotTables(1).RefreshTable
            'для всех сводных на листе
    '        Dim pt As PivotTable
    '        For Each pt In Sheets("Автообновляемая сводная").PivotTables
    '            pt.RefreshTable
    '        Next
        End If
    End Sub
  5. Сохраняем файл(это опционально :))

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

  • Sheets(«Автообновляемая сводная») — здесь Автообновляемая сводная это имя листа, на котором расположена сводная таблица. Это очень важно. Если будет указано неверное имя листа — код выдаст ошибку и никакого обновления, конечно же, не произойдет
  • код сделан таким образом, что на листе исходных данных должна быть только одна умная таблица. Нет, их может быть несколько, но код будет ориентироваться исключительно на первую. И если вы плохо знакомы с принципами создания объектов — то лучше не рисковать. Хотя и здесь можно выйти из положения. Если вы знаете имя своей умной таблицы(его можно подсмотреть на вкладке Конструктор -группа Свойства), то можно изменить код так:
    вместо строки
    If Not Intersect(Target, Target.Parent.ListObjects(1).Range) Is Nothing Then
    записать такую
    If Not Intersect(Target, Target.Parent.ListObjects(«Таблица1»).Range) Is Nothing Then
    где Таблица1 — имя вашей умной таблицы, на основании которой создана сводная.
  • тот же нюанс с листом самой сводной — код ориентирован так, что обновляет только первую сводную на листе Автообновляемая сводная. Здесь так же можно заменить цифру 1 на имя сводной(например .PivotTables(«СводнаяТаблица1»).RefreshTable), либо же сделать обновление всех сводных. Для этого надо раскомментировать блок ‘для всех сводных на листе(убрать апострофы перед строками) и убрать строку с именем листа, чтобы получилось так:
    Private Sub Worksheet_Change(ByVal Target As Range)
        'проверяем - изменения внутри умной таблицы или нет
        If Not Intersect(Target, Target.Parent.ListObjects(1).Range) Is Nothing Then
            'если внутри таблицы, то обновляем все сводные на листе "Автообновляемая сводная"
            Dim pt As PivotTable
            For Each pt In Sheets("Автообновляемая сводная").PivotTables
                pt.RefreshTable
            Next
        End If
    End Sub

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

  • P.S. Так же можно использовать и иной подход — вставить в модуль листа Автообновляемая сводная такой код:

    Private Sub Worksheet_Activate()
        Me.PivotTables(1).RefreshTable
    End Sub

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

    Скачать файл с автообновляемой сводной таблицей:

      Tips_PT_AutoRefreshPT.xlsm (46,5 KiB, 3 041 скачиваний)


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Как обновить несколько сводных таблиц в Excel файле

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

Кнопка “Обновить все” на панели инструментов

Кнопка “Обновить все” – самый простой способ обновить все сводные таблицы в файле одновременно. Она находится на панели инструментов в разделе “Данные”:

Все что требуется сделать, это перейти во вкладку “Данные” => раздел “Запросы и подключения” = > “Обновить все”.

Автоматическое обновление всех сводных таблиц при открытии файла

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

  • Кликните правой кнопкой мыши на любой сводной таблице файла
  • В выпадающем меню выберите пункт “Параметры сводной таблицы”:

  • В появившемся диалоговом окне “Параметры сводной таблицы” перейдите на вкладку “Данные” и отметьте галочкой пункт “Обновить при открытии файла”:

  • Нажмите “ОК”
  • После этого Excel сообщит вам в диалоговом окне о том, что примененные настройки будут распространены на параметры других отчетов сводных таблиц, основанных на этих же исходных данных. Другими словами, если ваши сводные таблицы построены на одном и том же массиве исходных данных, то такую настройку не нужно осуществлять на других сводных таблицах вашего файла.

Овладеть всеми навыками работы со сводными таблицами вы можете на моем курсе “Сводные таблицы в Excel“!

Обновление данных в сводной таблице

Вы можете в любой момент нажать кнопку Обновить, чтобы обновить данные в сводных таблицах в книге. Можно обновлять значения в сводных таблицах, подключенных к внешним данным, таким как базы данных (SQL Server, Oracle, Access и другие), куб служб Analysis Services, веб-каналы данных и многие другие источники. Вы также можете обновлять данные из исходной таблицы в той же или другой книге. Кроме того, можно настроить автоматическое обновление данных сводной таблицы при открытии книги.

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

Обновление вручную

Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

Совет: Чтобы одновременно обновить все сводные таблицы в книге, нажмите кнопку анализ > Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

Блокировка изменения ширины столбцов и форматирования ячеек

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

На вкладке Анализ нажмите кнопку Параметры.

На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

Автоматическое обновление данных при открытии книги

Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

На вкладке Анализ нажмите кнопку Параметры.

На вкладке » данные » установите флажок Обновить данные при открытии файла .

Обновление вручную

Щелкните в любом месте сводной таблицы.

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

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

Чтобы обновить данные в соответствии с источником данных, нажмите кнопку Обновить или нажмите клавиши Alt + F5.

Вы также можете щелкнуть сводную таблицу правой кнопкой мыши и выбрать команду Обновить.

Чтобы обновить все сводные таблицы в книге, нажмите кнопку » Обновить «, а затем выберите команду » Обновить все«.

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

Чтобы отменить обновление, нажмите Отменить обновление.

Блокировка изменения ширины столбцов и форматирования ячеек

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

Нажмите кнопку параметры > Параметры.

На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

Автоматическое обновление данных сводной таблицы при открытии книги

Щелкните в любом месте сводной таблицы.

На вкладке Параметры в группе Сводная таблица нажмите кнопку Параметры.

В диалоговом окне » Параметры сводной таблицы » на вкладке » данные » установите флажок обновлять данные при открытии файла .

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

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

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

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

Обновление данных в сводных таблицах Excel

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

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

Оптимально формировать сводный отчет на основе исходной таблицы, если она отвечает следующим параметрам:

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

Требования к исходной таблице:

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

Нерациональная организация информации:

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

Лучше значения ввести следующим таким образом.

Как сделать сводную таблицу в Excel

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

Подразумевается, что данная таблица состоит из сотен строк. Создадим сводный отчет для выведения списка книг из конкретной категории или определенного года. Задача сформулирована – перейдем к реализации.

  1. Активизируем любую ячейку в исходном диапазоне – щелкаем мышкой. Переходим на вкладку «Вставка» — «Таблица». Нажимаем кнопку «Сводная таблица».
  2. Автоматически выделяется весь диапазон. Открывается диалоговое окно инструмента. Необходимо проверить правильность параметров для отчета (диапазон, куда выводить сводную таблицу).
  3. Открывается окно для построения отчета, список полей. В правой нижней части страницы – области для размещения данных из исходного диапазона.
  4. Области позволяют сформировать структуру сводного отчета.
  5. Сначала заполним «Названия строк». Так как нужно вывести список книг по годам, то в этом разделе должен быть перечень названий книг. В списке полей ставим птичку напротив поля «Название». Данные столбца имеют текстовый формат – автоматически попадают в область «Названия строк». К значениям сразу применяется сортировка по алфавиту.
  6. Теперь ставим птичку напротив поля «Год выпуска».

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

Как обновить сводную таблицу в Excel

От сводной таблицы больше пользы, если она динамическая. То есть при внесении новых данных в исходный диапазон поля отчета можно обновить. Как это сделать?

  1. Когда данные внесены в исходную таблицу, переходим на лист со сводным отчетом и щелкаем в любом его месте правой кнопкой мыши. В открывшемся меню выбираем «Обновить».
  2. Активизируем нужное поле сводного отчета – становится доступен инструмент «Работа со сводными таблицами». Открываем вкладку «Параметры». В группе «Данные» нажимаем кнопку «Обновить».
  3. Выделить сводную таблицу или отдельное поле, нажать сочетание клавиш Alt + F5.

Как настроить автоматическое обновление сводной таблицы в Excel:

  1. Открыть лист со сводным отчетом. Щелкнуть в любом месте таблицы левой кнопкой мыши. Это нужно для того, чтобы активизировалась «Работа со сводными таблицами».
  2. На вкладке «Параметры» находим группу «Сводная таблица». Нажимаем – открывается меню кнопки. Выбираем пункт «Параметры».
  3. В открывшемся меню «Параметры сводной таблицы» нажать кнопку «Разметка и формат». Поставить галочки напротив следующих пунктов:

Закрыть окно, нажав кнопку ОК.

Еще один вариант:

  1. Открыть лист со сводным отчетом. На вкладке «Разработчик» нажать кнопку «Запись макроса».
  2. Выполнить вручную обновление сводной таблицы – остановить запись. Нажать на кнопку «Макросы». Выбрать из доступных макросов записанный – «выполнить».

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

Обновление данных сводной таблицы

Сводные таблицы и диаграммы не обновляются автоматически.

Если вы изменили исходные данные, сводную таблицу необходимо обновить:

1. Выделите ячейку внутри Сводной таблицы.

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

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

1. Выделите ячейку внутри Сводной таблицы.

2. В разделе Работа со сводными таблицами на вкладке Параметры в группе Данные нажмите кнопку Источник данных.

3. В окне диалога Изменить источник данных сводной таблицы в поле Таблица или диапазон укажите измененный диапазон исходных данных.

4. Нажмите кнопку ОК.

Более подробную информацию вы можете найти в книгах:

1. Иванов И.И. Microsoft Excel 2010 для квалифицированного пользователя. — СПб.: 2011. — С. 153.

2. Джелен Б., Александр М. Сводные таблицы в Microsoft Excel 2010.: Пер. с англ. – М.: 2011. – С. 58.

Оформление сводной таблицы

При необходимости Вы можете изменить оформление сводной таблицы. Для этого:

1. Выделите ячейку внутри Сводной таблицы.

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

3. В группе Стили сводной таблицы выберите подходящий стиль оформления.

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

5. В группе Макет используя кнопку Общие итоги включите или отключите отображение итогов по строкам и/или столбцам используя соответствующие команды.

Более подробную информацию вы можете найти в книгах:

1. Иванов И.И. Microsoft Excel 2010 для квалифицированного пользователя. — СПб.: 2011. — С. 154.

2. Джелен Б., Александр М. Сводные таблицы в Microsoft Excel 2010.: Пер. с англ. – М.: 2011. – С. 66.

Создание Сводной диаграммы на основе Сводной таблицы

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

1. Выберите отчет сводной таблицы. На ленте появится панель Работа со сводными таблицами с дополнительными вкладками Параметры и Конструктор

2. На вкладке Параметры в группе Сервис нажмите кнопку Сводная диаграмма.

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

4. Нажмите кнопку ОК. На текущий лист будет добавлена сводная диаграмма.

Более подробную информацию вы можете найти в книгах:

1. Иванов И.И. Microsoft Excel 2010 для квалифицированного пользователя. — СПб.: 2011. — С. 155.

2. Джелен Б., Александр М. Сводные таблицы в Microsoft Excel 2010.: Пер. с англ. – М.: 2011. – С. 69.

93.79.221.197 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Автообновляемая сводная таблица

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

    Выделить любую ячейку сводной таблицы→Правая кнопка мыши→Обновить (Refresh) или вкладка Данные (Data) →Обновить все (Refresh all) →Обновить (Refresh)

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

Недоавтообновление
Почему «недо» — жать кнопку Обновить все же придется. Но не отчаивайтесь — читайте до конца и мы научимся обновлять все автоматом.
Для счастливых обладателей Excel 2007 и старше есть простой способ без лишних телодвижений. Это встроенный инструмент Таблица (Table) . Его еще иначе называют «умная таблица» и я тоже буду применять этот термин, чтобы не было путаницы.
Умная таблица — это специальный объект, который представляет собой правильную таблицу с заголовками, которая расширяется по мере добавления в неё данных. В ней много еще чего полезного, но нас интересует сейчас именно то, что она расширяется сама по мере добавления данных и что на её основе можно создать сводную таблицу. В нашем случае она будет играть роль динамического именованного диапазона(стандартный именованный диапазон не может быть источником данных для сводной таблицы, поэтому и приходится идти другими путями). Чтобы создать такую таблицу необходимо:

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

    Если вдруг захочется и здесь навести красоту, то это тоже делается довольно легко:
    Выделяем любую ячейку в этой таблице-переходим на вкладку Работа с таблицами (Table tools)Конструктор (Desigh)Стили таблиц (Table styles) . Можно выбрать один из предлагаемых там вариантов и применить. Если ни один из вариантов не подходит — создаем свой. Раскрываем список стилей и выбираем Создать стиль таблицы (New table style. )

А дальше все как привыкли:

  1. Выделить любую ячейку исходной таблицы(теперь уже «умной»)
  2. Вкладка Вставка (Insert) -группа Таблица (Table) -Сводная таблица (PivotTable)
  3. В диалоговом окне Создание сводной таблицы (Create PivotTable) в пункте Выбрать таблицу или диапазон (Select a table or range) в поле Таблица или диапазон (Range/Table) будет автоматически указан не адрес какого-то диапазона, а имя созданной умной таблицы:

    Далее надо определить место размещения Сводной таблицы:
  • На новый лист (New Worksheet)
  • На существующий лист (Existing Worksheet)
  • нажать OK
  • Готово. Теперь при добавлении строк в эту таблицу для их отображения в сводной достаточно будет лишь обновить сводную таблицу как привыкли. Правда, тут тоже есть нюанс — добавлять строки надо правильно. Можно вбить данные в любую ячейку первой пустой строки таблицы — таблица автоматом расшириться, добавив еще одну строку. Теперь туда можно скопировать нужные данные или добить вручную. Если надо вставить сразу несколько строк — в правом нижнем углу последней строки умной таблицы есть слегка выделяющийся уголочек, который надо ухватить мышью и растянуть на нужное кол-во строк/столбцов.
    Если мы просто скопируем строки ниже таблицы, то она не расширится. Это надо учитывать.

    Если необходимо настроить на авторасширение уже созданную сводную , то порядок почти такой же, только сводную таблицу создавать не надо. Преобразуем исходные данные в умную таблицу, переходим на лист со сводной таблицей. Выделяем любую ячейку в сводной таблице, переходим на динамическую вкладку Работа со сводными таблицами (PivotTable Tools)Параметры (Options) -группа кнопок Даныне (Data)Источник данных (Change data Source) . В появившемся окне в поле Таблица или диапазон (Table/Range) указываем либо ссылку на всю умную таблицу, либо имя нашей умной таблицы(если знаете где его подсмотреть). На что здесь следует обратить внимание: если указывался диапазон, то если он указан верно — в поле вместо адреса ячеек будет отображено имя умной таблицы:

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

    Полное автообновление
    Для полного счастья можно подключить работу макросов. Что я хочу? Я хочу, чтобы как только я изменил/добавил данные в исходные данные — сводная тут же обновилась. Для этого надо сделать следующее:

    1. убеждаемся, что макросы разрешены(Почему не работает макрос?, Что такое макрос и где его искать?)
    2. перейти на лист исходных данных(в моем случае лист так и называется — Исходные данные)
    3. жмем на ярлычке этого листа правой кнопкой мыши —Исходный текст (View code) :
    4. вставляем туда следующий код:

    Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) ‘проверяем — изменения внутри умной таблицы или нет If Not Intersect(Target, Target.Parent.ListObjects(1).Range) Is Nothing Then ‘если внутри таблицы, то обновляем сводную таблицу на листе «Автообновляемая сводная» Sheets(«Автообновляемая сводная»).PivotTables(1).RefreshTable ‘для всех сводных на листе ‘ Dim pt As PivotTable ‘ For Each pt In Sheets(«Автообновляемая сводная»).PivotTables ‘ pt.RefreshTable ‘ Next End If End Sub

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

    • Sheets(«Автообновляемая сводная») — здесь Автообновляемая сводная это имя листа, на котором расположена сводная таблица. Это очень важно. Если будет указано неверное имя листа — код выдаст ошибку и никакого обновления, конечно же, не произойдет
    • код сделан таким образом, что на листе исходных данных должна быть только одна умная таблица. Нет, их может быть несколько, но код будет ориентироваться исключительно на первую. И если вы плохо знакомы с принципами создания объектов — то лучше не рисковать. Хотя и здесь можно выйти из положения. Если вы знаете имя своей умной таблицы(его можно подсмотреть на вкладке Конструктор -группа Свойства), то можно изменить код так:
      вместо строки
      If Not Intersect(Target, Target.Parent.ListObjects( 1 ).Range) Is Nothing Then
      записать такую
      If Not Intersect(Target, Target.Parent.ListObjects( «Таблица1» ).Range) Is Nothing Then
      где Таблица1 — имя вашей умной таблицы, на основании которой создана сводная.
    • тот же нюанс с листом самой сводной — код ориентирован так, что обновляет только первую сводную на листе Автообновляемая сводная . Здесь так же можно заменить цифру 1 на имя сводной(например .PivotTables(«СводнаяТаблица1»).RefreshTable ), либо же сделать обновление всех сводных. Для этого надо раскомментировать блок ‘для всех сводных на листе (убрать апострофы перед строками) и убрать строку с именем листа, чтобы получилось так:

    Private Sub Worksheet_Change(ByVal Target As Range) ‘проверяем — изменения внутри умной таблицы или нет If Not Intersect(Target, Target.Parent.ListObjects(1).Range) Is Nothing Then ‘если внутри таблицы, то обновляем все сводные на листе «Автообновляемая сводная» Dim pt As PivotTable For Each pt In Sheets(«Автообновляемая сводная»).PivotTables pt.RefreshTable Next End If End Sub

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

    P.S. Так же можно использовать и иной подход — вставить в модуль листа Автообновляемая сводная такой код:

    Private Sub Worksheet_Activate() Me.PivotTables(1).RefreshTable End Sub

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

    Скачать файл с автообновляемой сводной таблицей:

    Tips_PT_AutoRefreshPT.xlsm (46,5 KiB, 1 388 скачиваний)

    Статья помогла? Поделись ссылкой с друзьями!

    Поиск по меткам

    Здравствуйте! Я в Excel мало что понимаю, прошу просто помочь.Это вроде моя тема.Книга,в ней 2 листа. Надо сделать так чтобы при изменение(обновление) листа 1, в лист 2(АВТОМАТИЧЕСКИ) копировались данные из определённой колонки(ячейки) листа 1.

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

    Добрый вечер. Попыталась использовать ваш код для автообновления сводной, но на листе исходных данных у меня уже есть иной код с именем
    Private Sub Worksheet_Change(ByVal Target As Range), и макрос выдает ошибку:
    Compile error:
    Аmbiguous name detected:Worksheet_Chenge
    Подскажите пожалуйста, как можно корректно изменить имя.

    Спасибо,разобралась сама) Все отлично работает

     

    lex

    Пользователь

    Сообщений: 71
    Регистрация: 01.01.1970

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

     

    lex

    Пользователь

    Сообщений: 71
    Регистрация: 01.01.1970

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

     

    В код листа с исходными данными:  
    Private Sub Worksheet_Change(ByVal Target As Range)  
    Sheets(«Лист2»).PivotTables(«СводнаяТаблица1»).PivotCache.Refresh  
    End Sub  
    где Лист2 — лист со сводной таблицей  
    СводнаяТаблица1 — имя сводной.  
    Или все таблицы листа:  
    Private Sub Worksheet_Change(ByVal Target As Range)  
    For Each PvTable In Sheets(«Лист2»).PivotTables  
       PvTable.PivotCache.Refresh  
    Next  
    End Sub

     

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

     

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

     

    lex

    Пользователь

    Сообщений: 71
    Регистрация: 01.01.1970

     

    Спасибо!  
    А можно как-нибудь при таком обновлении ещё и сортировку по алфавиту осуществлять? А то при таком автоматическом обновлении сортировка не производится, а если все делать вручную — то сортировка по алфавиту делается.

     

    user0

    Пользователь

    Сообщений: 26
    Регистрация: 01.01.1970

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

      1) обновляю 6 сводных таблиц, источником данных для которых являются 2 листа (~10k строк на лист), следующим кодом:  

      Private Sub Worksheet_Change(ByVal Target As Range)  
     Worksheets(«pivot_sheet1»).PivotTables(«pivot1_1»).PivotCache.Refresh  
     Worksheets(«pivot_sheet1»).PivotTables(«pivot1_2»).PivotCache.Refresh  
     Worksheets(«pivot_sheet1»).PivotTables(«pivot1_3»).PivotCache.Refresh  
     Worksheets(«pivot_sheet2»).PivotTables(«pivot2_1»).PivotCache.Refresh  
     Worksheets(«pivot_sheet2»).PivotTables(«pivot2_2»).PivotCache.Refresh  
     Worksheets(«pivot_sheet2»).PivotTables(«pivot2_3»).PivotCache.Refresh  
    End Sub  

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

    http://www.planetaexcel.ru/forum.php?thread_id=26093  

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

      зы: на всякий случай пример во вложении

     

    user0

    Пользователь

    Сообщений: 26
    Регистрация: 01.01.1970

    возможно описание сверху несколько сумбурно, попробую изложить просьбу проще..  

      на листе data есть код который при изменении данных на листе обновляет 6 сводных на листах pivot_sheet1 и pivot_sheet2. Собственно сам код:  

      Private Sub Worksheet_Change(ByVal Target As Range)  
    Worksheets(«pivot_sheet1»).PivotTables(«pivot1_1»).PivotCache.Refresh  
    Worksheets(«pivot_sheet1»).PivotTables(«pivot1_2»).PivotCache.Refresh  
    Worksheets(«pivot_sheet1»).PivotTables(«pivot1_3»).PivotCache.Refresh  
    Worksheets(«pivot_sheet2»).PivotTables(«pivot2_1»).PivotCache.Refresh  
    Worksheets(«pivot_sheet2»).PivotTables(«pivot2_2»).PivotCache.Refresh  
    Worksheets(«pivot_sheet2»).PivotTables(«pivot2_3»).PivotCache.Refresh  
    End Sub  

      вопрос 1 (основной)  
    сейчас как сделать обновление сводных при изменении только:  
    а) определенной ячееки (например B3)  
    б) диапазона (например B3:C4)    
    в) столбца (например B)  

      вопрос 2 (побочный)  
    можно ли как-то увеличить скорость обновления сводных?

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    по первому вопросу:  
    обратите внимание, что у обработчика события Worksheet_Change есть аргумент — ByVal Target As Range.  
    если ваша справка по VBA перестала быть бесплатной или другие какие капризы у неё в данный момент, то я вам поясняю: это как раз и есть ссылка на ячейку или диапазон, изменение значения в которой (котором) вызвало данный обработчик.  

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

      например:  
    а) if not intersect(target, me.[b3]) is nothing then …
    б) if not intersect(target, me.[b3:c4]) is nothing then …
    в) if not intersect(target, me.columns(2)) is nothing then …  

      ps всё-таки рекомендую один раз заплатить справке, чем мучиться :)

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Serge

    Пользователь

    Сообщений: 11308
    Регистрация: 01.01.1970

    {quote}{login=user0}{date=29.07.2012 04:24}{thema=}{post}…можно ли как-то увеличить скорость обновления сводных?{/post}{/quote}Уверен что нельзя.    

      Обновить сразу все сводные можно так:  
    Private Sub Worksheet_Change(ByVal Target As Range)  
    ActiveWorkbook.RefreshAll  
    End Sub

     

    user0

    Пользователь

    Сообщений: 26
    Регистрация: 01.01.1970

    ikki, Serge 007  
    Спасибо  

      Я бы с удовольствием почитал справку по VBA, но к сожалению на данном этапе я мало что там пойму, а так я только за самобразование )    

      Еще раз спасибо!

     

    199MOS

    Пользователь

    Сообщений: 61
    Регистрация: 01.01.1970

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

     

    Потому что эта процедура уже описана выше.

     

    199MOS

    Пользователь

    Сообщений: 61
    Регистрация: 01.01.1970

    но все равно не работают варианты -:((

     

    ber$erk

    Пользователь

    Сообщений: 2735
    Регистрация: 25.12.2012

    Учимся сами и помогаем другим…

     

    199MOS

    Пользователь

    Сообщений: 61
    Регистрация: 01.01.1970

    #17

    08.08.2012 11:40:54

    Получилось все!!!!!!!!!!  

      только эту строчку сунуть пришлось не после End If, а в начале всех записей, иначе первый макрос не работал!  

        очень большое спасибо!!!!

    Понравилась статья? Поделить с друзьями:
  • Как настроить автоматический перенос слов в word
  • Как настроить автозаполнение ячеек в excel
  • Как настроить автозаполнение даты в excel
  • Как настроить автозаполнение в word
  • Как настроить автозамену в word