Excel обращение к ячейке умной таблицы

Работа с умной таблицей из кода VBA Excel. Обращение к ячейкам, строкам и столбцам умной таблицы. Добавление и удаление строк и столбцов.

Обращение к умной таблице

Все примеры кода в этой статье привязаны к таблице с именем «Таблица1», расположенной на активном листе:

Обращение к умной таблице:

ActiveSheet.ListObjects(«Таблица1»)

Обращение к диапазону умной таблицы на рабочем листе:

ActiveSheet.ListObjects(«Таблица1»).Range

Проверяем:

Debug.Print ActiveSheet.ListObjects(«Таблица1»).Range.Address  ‘Результат: $B$3:$G$9

Далее все примеры кода VBA Excel, чтобы их не дублировать, будут представлены как аргументы метода Debug.Print.

Обращение к строкам

Работа с умной таблицей — обращение к строке заголовков:

Debug.Print ActiveSheet.ListObjects(«Таблица1»).Range.Rows(1).Address  ‘Результат: $B$3:$G$3

Таким же образом можно обращаться и к остальным строкам таблицы (Строка1-Строка6), указывая индекс нужной строки от 2 до 7.

К записям таблицы (Строка1-Строка6) обращаются через коллекцию ListRows, указывая индекс записи от 1 до 6:

With ActiveSheet.ListObjects(«Таблица1»)

    Debug.Print .ListRows.Count  ‘Результат: 6

    Debug.Print .ListRows(1).Range.Address  ‘Результат: $B$4:$G$4

    Debug.Print .ListRows(2).Range.Address  ‘Результат: $B$5:$G$5

End With

Обращение к столбцам

Обращение к третьему столбцу умной таблицы из кода VBA Excel:

With ActiveSheet.ListObjects(«Таблица1»)

    ‘Обращение через диапазон умной таблицы

    Debug.Print .Range.Columns(3).Address  ‘Результат: $D$3:$D$9

    Debug.Print .Range.Columns.Count  ‘Результат: 6

    ‘Обращение через коллекцию ListColumns

    Debug.Print .ListColumns(3).Range.Address  ‘Результат: $D$3:$D$9

    Debug.Print .ListColumns.Count  ‘Результат: 6

End With

Обращение к ячейкам

Работа с умной таблицей — обращение к ячейке «E7» с отображением ее значения:

With ActiveSheet.ListObjects(«Таблица1»)

    Debug.Print .Range.Cells(5, 4)  ‘Результат: 91

    Debug.Print .ListColumns(4).Range(5)  ‘Результат: 91

    Debug.Print .ListRows(4).Range(4)  ‘Результат: 91

End With

Вставка и удаление строк

Вставка новой строки в конец умной таблицы:

ActiveSheet.ListObjects(«Таблица1»).ListRows.Add

Удаление последней строки:

With ActiveSheet.ListObjects(«Таблица1»)

    .ListRows(.ListRows.Count).Delete

End With

Вставка новой строки на место пятой записи (Строка5 в таблице) со сдвигом пятой и нижерасположенных записей вниз:

ActiveSheet.ListObjects(«Таблица1»).ListRows.Add 5

Удаление пятой строки:

ActiveSheet.ListObjects(«Таблица1»).ListRows(5).Delete

Вставка и удаление столбцов

Вставка нового столбца в конец умной таблицы из кода VBA Excel:

ActiveSheet.ListObjects(«Таблица1»).ListColumns.Add

Удаление последнего столбца:

With ActiveSheet.ListObjects(«Таблица1»)

    .ListColumns(.ListColumns.Count).Delete

End With

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

ActiveSheet.ListObjects(«Таблица1»).ListColumns.Add 4

Удаление четвертого столбца таблицы:

ActiveSheet.ListObjects(«Таблица1»).ListColumns(4).Delete


Создание и удаление умной таблицы описано в статье VBA Excel. Создание таблицы (умной, обычной)


Видео

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

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

table1.gif

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

Решение

Выделяем любую ячейку в таблице и на вкладке Главная (Home) разворачиваем список Форматировать как таблицу (Format as table):

table2.gif

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

table5.gif

В результате после такого преобразования диапазона в «умную» Таблицу (с большой буквы!) имеем следующие радости (кроме приятного дизайна):

  1. Созданная Таблица получает имя Таблица1,2,3 и т.д. которое, можно изменить на более адекватное на вкладке Конструктор (Design). Это имя можно использовать в любых формулах, выпадающих списках и функциях, например в качестве источника данных для сводной таблицы или массива поиска для функции ВПР (VLOOKUP).
  2. Созданная один раз Таблица автоматически подстраивается в размерах при добавлении или удалении в нее данных. Если дописать к такой Таблице новые строки — она растянется ниже, если добавить новые столбцы — разойдется вширь. В правом нижнем углу Таблицы можно увидеть автоматически перемещающийся маркер границы и, при необходимости, скорректировать его положение мышью:

    table3.gif

  3. В шапке Таблицы автоматически включается Автофильтр (можно принудительно отключить на вкладке Данные (Data)).
  4. При добавлении новых строк в них автоматически копируются все формулы.
  5. При создании нового столбца с формулой — она будет автоматически скопирована на весь столбец — не надо тянуть формулу черным крестом автозаполнения.
  6. При прокрутке Таблицы вниз заголовки столбцов (A, B, C…) меняются на названия полей, т.е. уже можно не закреплять шапку диапазона как раньше (в Excel 2010 там еще и автофильтр):

    table4.gif

  7. Включив флажок Показать итоговую строку (Total row) на вкладке Конструктор (Design) мы получаем автоматическую строку итогов в конце Таблицы с возможностью выбора функции (сумма, среднее, количество и т.д.) по каждому столбцу:

    table6.gif

  8. К данным в Таблице можно адресоваться, используя имена отдельных ее элементов. Например, для суммирования всех чисел в столбце НДС можно воспользоваться формулой =СУММ(Таблица1[НДС]) вместо =СУММ(F2:F200) и не думать уже про размеры таблицы, количество строк и корректность диапазонов выделения. Также возможно использовать еще следующие операторы (предполагается, что таблица имеет стандартное имя Таблица1):
  • =Таблица1[#Все] — ссылка на всю таблицу, включая заголовки столбцов, данные и строку итогов
  • =Таблица1[#Данные] — ссылка только на данные (без строки заголовка)
  • =Таблица1[#Заголовки] — ссылка только на первую строку таблицы с заголовками столбцов
  • =Таблица1[#Итоги] — ссылка на строку итогов (если она включена)
  • =Таблица1[#Эта строка] — ссылка на текущую строку, например формула =Таблица1[[#Эта строка];[НДС]] — будет ссылаться на значение НДС из текущей строки таблицы.
    (В англоязычной версии эти операторы будут звучать, соответственно, как #All, #Data, #Headers, #Totals и #This row).

P.S.

В Excel 2003 было что-то отдаленно похожее на такие «умные» таблицы — называлось Списком и создавалось через меню Данные — Список — Создать список (Data — List — Create list). Но даже половины нынешнего функционала там не было и в помине. В более древних версиях Excel не было и этого.

Содержание

  • Применение «умной» таблицы
    • Создание «умной» таблицы
    • Наименование
    • Растягивающийся диапазон
    • Автозаполнение формулами
    • Строка итогов
    • Сортировка и фильтрация
    • Преобразование таблицы в обычный диапазон
  • Вопросы и ответы

Умные таблицы в Microsoft Excel

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

Применение «умной» таблицы

«Умная» таблица представляет собой специальный вид форматирования, после применения которого к указанному диапазону данных, массив ячеек приобретает определенные свойства. Прежде всего, после этого программа начинает рассматривать его не как диапазон ячеек, а как цельный элемент. Данная возможность появилась в программе, начиная с версии Excel 2007. Если сделать запись в любой из ячеек строки или столбца, которые находятся непосредственно у границ, то эта строчка или столбец автоматически включаются в данный табличный диапазон.

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

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

Создание «умной» таблицы

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

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

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

    Переформатирование диапазона в Умную таблицу в Microsoft Excel

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

    Переформатирование диапазона в Умную таблицу через вкладку Вставка в Microsoft Excel

    Но самый быстрый вариант — это после выделения ячейки или массива использовать нажатие горячих клавиш Ctrl+T.

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

    Кроме того, обратите внимание на то, чтобы стояла галочка около параметра «Таблица с заголовками», так как в большинстве случаев заголовки у исходного набора данных уже имеются. После того, как вы удостоверились, что все параметры правильно введены, жмите на кнопку «OK».

  3. Окно с диапазоном таблицы в Microsoft Excel

  4. После этого действия диапазон данных будет преобразован в «умную» таблицу. Это будет выражаться в приобретении некоторых дополнительных свойств у данного массива, а также в смене его визуального отображения, согласно выбранному ранее стилю. Об основных возможностях, которые предоставляют эти свойства, мы и поговорим далее.

Умная таблица создана в Microsoft Excel

Урок: Как сделать таблицу в Excel

Наименование

После того, как «умная» таблица сформирована, ей автоматически будет присвоено имя. По умолчанию это наименование типа «Таблица1», «Таблица2» и т.д.

  1. Чтобы посмотреть, какое имя имеет наш табличный массив, выделяем любой его элемент и перемещаемся во вкладку «Конструктор» блока вкладок «Работа с таблицами». На ленте в группе инструментов «Свойства» будет располагаться поле «Имя таблицы». В нем как раз и заключено её наименование. В нашем случае это «Таблица3».
  2. Наименование таблицы в Microsoft Excel

    Lumpics.ru

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

Имя таблицы изменено в Microsoft Excel

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

Растягивающийся диапазон

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

  1. Выделяем любую ячейку в первой же строчке ниже табличного массива. Делаем в ней произвольную запись.
  2. Установкеа произвольного значение в ячейку в Microsoft Excel

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

Строка добавлена в таблицу в Microsoft Excel

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

Формула подтянулась в новую строку таблицы в Microsoft Excel

Аналогичное добавление произойдет, если мы произведем запись в столбце, который находится у границ табличного массива. Он тоже будет включен в её состав. Кроме того, ему автоматически будет присвоено наименование. По умолчанию название будет «Столбец1», следующая добавленная колонка – «Столбец2» и т. д. Но при желании их всегда можно переименовать стандартным способом.

Новый столбец включен в состав таблицы в Microsoft Excel

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

наименования столбцов в Microsoft Excel

Урок: Как добавить новую строку в Excel

Автозаполнение формулами

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

  1. Выделяем первую ячейку пустого столбца. Вписываем туда любую формулу. Делаем это обычным способом: устанавливаем в ячейку знак «=», после чего щелкаем по тем ячейкам, арифметическое действие между которыми собираемся выполнить. Между адресами ячеек с клавиатуры проставляем знак математического действия («+», «-», «*», «/» и т.д.). Как видим, даже адрес ячеек отображается не так, как в обычном случае. Вместо координат, отображающихся на горизонтальной и вертикальной панели в виде цифр и латинских букв, в данном случае в виде адреса отображаются наименования колонок на том языке, на котором они внесены. Значок «@» означает, что ячейка находится в той же строке, в которой размещается формула. В итоге вместо формулы в обычном случае

    =C2*D2

    мы получаем выражение для «умной» таблицы:

    =[@Количество]*[@Цена]

  2. Формула умной таблицы в Microsoft Excel

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

Столбец автозаполнен формулами в Microsoft Excel

Данная закономерность касается не только обычных формул, но и функций.

Функция в Умной таблице в Microsoft Excel

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

Адреса в формуле отображаются в обычном режиме в Microsoft Excel

Строка итогов

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

  1. Для того, чтобы активировать суммирование, выделяем любой табличный элемент. После этого перемещаемся во вкладку «Конструктор» группы вкладок «Работа с таблицами». В блоке инструментов «Параметры стилей таблиц» устанавливаем галочку около значения «Строка итогов».
    Установка строки итогов в Microsoft Excel

    Для активации строки итогов вместо вышеописанных действий можно также применить сочетание горячих клавиш Ctrl+Shift+T.

  2. После этого в самом низу табличного массива появится дополнительная строка, которая так и будет называться – «Итог». Как видим, сумма последнего столбца уже автоматически подсчитана с помощью встроенной функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
  3. Строка итог в Microsoft Excel

  4. Но мы можем подсчитать суммарные значения и для других столбцов, причем использовать при этом совершенно разные виды итогов. Выделяем щелчком левой кнопки мыши любую ячейку строки «Итог». Как видим, справа от этого элемента появляется пиктограмма в виде треугольника. Щелкаем по ней. Перед нами открывается список различных вариантов подведения итогов:
    • Среднее;
    • Количество;
    • Максимум;
    • Минимум;
    • Сумма;
    • Смещенное отклонение;
    • Смещенная дисперсия.

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

  5. Варианты суммирования в Microsoft Excel

  6. Если мы, например, выберем вариант «Количество чисел», то в строке итогов отобразится количество ячеек в столбце, которые заполнены числами. Данное значение будет выводиться все той же функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
  7. Количество чисел в Microsoft Excel

  8. Если вам недостаточно тех стандартных возможностей, которые предоставляет список инструментов подведения итогов, описанный нами выше, то жмем на пункт «Другие функции…» в его самом низу.
  9. Переход в другие функции в Microsoft Excel

  10. При этом запускается окошко Мастера функций, где пользователь может выбрать любую функцию Excel, которую посчитает для себя полезной. Результат её обработки будут вставлен в соответствующую ячейку строки «Итог».

мастер функций в Microsoft Excel

Читайте также:
Мастер функций в Экселе
Функция промежуточные итоги в Excel

Сортировка и фильтрация

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

  1. Как видим, в шапке около наименований столбцов в каждой ячейке уже имеются пиктограммы в виде треугольников. Именно через них мы получаем доступ к функции фильтрации. Жмем на значок около наименования того столбца, над которым мы собираемся производить манипуляцию. После этого открывается список возможных действий.
  2. Открытие меню сортировки и фильтрации в Microsoft Excel

  3. Если в столбце расположены текстовые значения, то можно применить сортировку согласно алфавиту или в обратном порядке. Для этого нужно выбрать соответственно пункт «Сортировка от А до Я» или «Сортировка от Я до А».
    Варианты сортировки для текстового формата в Microsoft Excel

    После этого строки будут выстроены в выбранном порядке.

    Значения отсортированы от Я до А в Microsoft Excel

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

    Варианты сортировки для формата даты в Microsoft Excel

    Для числового формата тоже будет предложено два варианта: «Сортировка от минимального к максимальному» и «Сортировка от максимального к минимальному».

  4. Варианты сортировки для числового формата в Microsoft Excel

  5. Для того, чтобы применить фильтр, точно таким же образом вызываем меню сортировки и фильтрации, щелкнув по значку в том столбце, относительно к данным которого вы собираетесь задействовать операцию. После этого в списке снимаем галочки с тех значений, строки которых мы хотим скрыть. После выполнения вышеуказанных действий не забываем нажать на кнопку «OK» внизу всплывающего меню.
  6. Выполнение фильтрации в Microsoft Excel

  7. После этого останутся видны только строки, около которых в настройках фильтрации вы оставили галочки. Остальные будут спрятаны. Что характерно, значения в строке «Итог» тоже изменятся. Данные отфильтрованных строк не будут учитываться при суммировании и подведении других итогов.
    Фильтрация произведена в Microsoft Excel

    Это особенно важно, учитывая то, что при применении стандартной функции суммирования (СУММ), а не оператора ПРОМЕЖУТОЧНЫЕ.ИТОГИ, в подсчете участвовали бы даже скрытые значения.

Функция СУММ в Microsoft Excel

Урок: Сортировка и фильтрация данных в Экселе

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

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

  1. Выделяем любой элемент табличного массива. На ленте перемещаемся во вкладку «Конструктор». Щелкаем по иконке «Преобразовать в диапазон», которая расположена в блоке инструментов «Сервис».
  2. Переход к преобразованию Умной таблицы в диапазон в Microsoft Excel

  3. После этого действия появится диалоговое окно, в котором будет спрашиваться, действительно ли мы хотим преобразовать табличный формат в обычный диапазон данных? Если пользователь уверен в своих действиях, то следует нажать на кнопку «Да».
  4. Подтверждение преобразования таблицы в диапазон в Microsoft Excel

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

Таблица преобразована в обычный диапазон данных в Microsoft Excel

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

Умные таблицы появились в Excel, начиная с 2007 версии. Это привычные многим полосатые таблицы, которые выглядят примерно так:

умная таблица в excel

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

  • Как создать умную таблицу в Excel
  • Плюсы и минусы умной таблицы в Excel
  • Форматирование умной таблицы
  • Добавляем срезы (фильтры) к умной таблице
  • Как убрать умную таблицу

Чтобы из обычной таблицы Excel сделать “умную” таблицу, нужно:

1. Щелкнуть на любой ячейке таблицы. 

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

2. Нажать сочетание клавиш Ctrl + T. Вокруг таблицы появится рамочка- выделение и окно Создать таблицу, в котором указан выделенный диапазон

умная таблица в excel

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

Обратите внимание на предыдущую картинку — если ваша таблица уже имеет заголовки (“шапку”), то обязательно должна быть установлена “галочка” Таблица с заголовками. Иначе заголовки будут добавлены автоматически в формате Столбец1, Столбец2 и т.д.

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

3. Нажать Ок или клавишу Enter. Готово, у нас получилось преобразовать обычный диапазон в умную таблицу Excel.

умная таблица в excel

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

1. Также щелкаем в любой ячейке таблицы.

2. Вкладка Главная — Блок Стили Форматировать как таблицу — в Выпадающем окне выбираем стиль таблицы.

умная таблица в excel

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

Плюсы и минусы инструмента умные таблицы в Excel

Преимущества инструмента Умные таблицы в Excel

1. Таблица автоматически расширяется при добавлении строк или столбцов. 

Главное требование при этом — новый столбец или строка должны добавляться “впритык” к таблице — без пропусков строк или столбцов.

умная таблица в excel

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

умная таблица в excel

3. Автоматически добавляются автофильтры ко всем столбцам. И на столбцы, добавленные уже после создания таблицы, фильтры также “навешиваются” автоматически. При этом фильтр можно убрать (см. в разделе Форматирование умной таблицы)

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

умная таблица в excel

4. Умные таблицы в Excel имеет имя, которое присваивается автоматически, но его можно изменить. 

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

умная таблица в excel

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

умная таблица в excel

6. Структурированные формулы, которые легко читать.

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

умная таблица в excel

7. Автоматическое добавление итогов к таблице с возможностью выбора вида итога (сумма, среднее и т.д.).

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

9. Умные таблицы в Excel удобно загружать в Power Query для последующей обработки. 

10. Ну и конечно, красивый “полосатый” внешний вид без “танцев с бубнами” с условным форматированием. 

Еще одно преимущество “внешности” — легкая настройка форматирования умной таблицы в Excel. На вкладке Конструктор таблиц его можно быстро настроить (см. раздел Форматирование умной таблицы)

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

Минусы инструмента Умные таблицы в Excel
  1. При достаточно большом размере таблицы и большом количестве формул файл с умной таблицей может тормозить. Это связано с тем, что форматирование умной таблицы сделано по типу условного форматирования, которое “нагружает” файл.
  2. Если добавить строку итогов, то функция автоматического расширение «умной таблицы» по строкам при добавлении данных перестает работать. Это логично, т.к. не могут же новые строки с данными быть после строки итогов. Расширить таблицу в этом случае можно только растягиванием за уголок.
  3. Заголовки можно располагать только в первой строке умной таблицы. Это лишает возможность делать сложные «шапки» таблиц, а также использовать одинаковые названия столбцов — если столбцы будут называться одинаково, Excel автоматически добавить к ним цифру 2, 3 и т.д. 
  4.  Формулы могут становятся очень длинными, поскольку в формулу прописывается наименование столбца. Особенно если заголовки длинные сами по себе. Этот момент ограничивает возможность давать сложные названия столбцам.
  5. Нет возможности закрепить ячейки или столбцы абсолютными/относительными ссылками, и при “протягивании” формулы ссылки съезжают.
  6. Нельзя установить режим совместного доступа в файл, который содержит хотя бы одну “умную” таблицу.

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

Можно достаточно гибко настраивать форматирование умной таблицы в Excel. 

Настройка внешнего вида умной таблицы

  1. Откроем вкладку Конструктор таблиц (при этом должна быть активна любая ячейка внутри таблицы)
  2. В блоке Стили таблиц можно выбрать подходящий стиль из выпадающего списка.

умная таблица в excel

Также можно создать собственный стиль таблицы умной таблицы в Excel. 

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

умная таблица в excel

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

Также можно очистить стиль умной таблицы

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

Для этого нужно щелкнуть на любой ячейке таблицы — вкладка Конструктор таблиц — блок Стили таблиц — выпадающий список — Очистить.

умная таблица в excel

Теперь таблица не имеет форматирование. Но она не перестала быть умной таблицей! Обратите внимание, что у нее так же есть границы и имя, следовательно, это такая же умная таблица, просто не цветная.

умная таблица в excel

Параметры стиля умных таблиц в Excel

Если вы выбрали предустановленный стиль умной таблицы в Excel, то можно сделать его поднастройку. На вкладке Конструктор таблиц в блоке Параметры стилей таблиц можно настроить параметры установкой/снятием “галочек”

умная таблица в excel

  • Строка заголовков: включает и отключает заголовки в таблице
  • Строка итогов: включает/отключает строку итогов. 
  • Чередующиеся строки — включает/отключает “полосатость” таблицы, все строки становятся бесцветными.
  • Чередующиеся столбцы — включает/отключает чередования цвета столбцов. Со включенным параметром столбцы окрашиваются цветом “через один”
  • Первый столбец и Последний столбец — включает/отключает жирный шрифт для первого и последнего столбца в таблице.
  • Кнопка фильтра — включает/отключает автофильтр.

Как изменить имя умной таблицы в Excel

Также на вкладке Конструктор таблиц можно изменить имя таблицы. По умолчанию Excel присваивает таблицам имена типа Таблица1, Таблица2… Однако, лучше их менять на более релевантные, это удобно для использования в формулах.

Чтобы изменить имя умной таблицы, заходим на вкладку Конструктор таблиц — Блок Свойства — в поле Имя таблицы пишем новое имя.

умная таблица в excel

Добавляем срезы (фильтры) к умной таблице

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

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

умная таблица в excel

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

умная таблица в excel

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

умная таблица в excel

Как убрать умную таблицу

Иногда нужно преобразовать умную таблицу обратно в диапазон — это значит, что нужно убрать умную таблицу и оставить просто данные.

Для этого переходим на вкладку Конструктор таблиц — блок ИнструментыПреобразовать в диапазон

умная таблица в excel

В появившемся окне нажимаем кнопку Да.

умная таблица в excel

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

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

Вам может быть интересно:

Medison1

5 / 2 / 1

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

Сообщений: 28

1

10.03.2018, 05:32. Показов 37721. Ответов 5

Метки нет (Все метки)


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

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

Visual Basic
1
2
3
4
WTName = "UT"
Set WS = ThisWorkbook.Worksheets("Лист1")
Set WT = WS.ListObjects(WTName)
WT.Range(i1, 3)

Последняя строка, мне не нравится, т.к. при добавлении столбца в начало таблицы. Формула «поедет». Т.к. нужно будет брать уже 4ый столбец и т.д.
Можно ли строку задавать переменной, а столбец задавать так как он назван в самой таблице? Чтобы не быть привязанным к порядку столбцов в таблице.

Что-то вроде:

Visual Basic
1
WT.Range(i1, WTName & "[Столбец3]")



0



1232 / 670 / 238

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

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

10.03.2018, 08:09

2

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

Решение

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

WT.Range(i1, WTName & «[Столбец3]»)

Полагаю, range возвращает обычный диапазон, для которого доступно свойство cells. Не очень понял, что такое i3 — если это число, равное номеру строки, то код будет (например, что-бы выделить ячейку)

Код

WT.Range(WTName & "[Столбец3]").Cells(i1,1).Select

или

Код

WT.Range(WTName & "[Столбец3]").Rows.Item(i1).Select



1



ji2n

39 / 37 / 13

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

Сообщений: 171

10.03.2018, 12:31

3

Так формула не «поедет» :

Visual Basic
1
2
3
Dim R As Range
'...
Set R =WT.Range(i1, 3)

Иными словами R -становится указателем на на искомый диапазон.
Дальше просто работаем с ней как заблагорассудится



0



Medison1

5 / 2 / 1

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

Сообщений: 28

10.03.2018, 12:51

 [ТС]

4

Dinoxromniy,
Хорошие варианты визуально, но по какой-то причине не работают.
Ошибка: #5 invalid procedure call or argument

Пробовал еще так:

Visual Basic
1
WT.Range(WTName & "[Столбец3]",i1)

Ошибка: #13 Type mismatch

Вот этот вариант оказался рабочим. Не нужно было писать перед этим «WT.»

Visual Basic
1
String1 = Range(WTName & "[Столбец3]").Cells(i1,1)

ji2n,
Спасибо. Но немного не то. В данном случае искомый диапазон зависит от константы «3». А мне необходимо уйти от этой константы к названию столбца умной таблицы. Т.к. столбцы могут изменять порядок и в какой-то момент нужный столбец будет к примеру не 3им, а 4ым или 5ым и т.д.



0



Казанский

15136 / 6410 / 1730

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

Сообщений: 9,999

10.03.2018, 13:31

5

Medison1, весь столбец (включая заголовок и ячейку из строки итогов)

Visual Basic
1
wt.listcolumns("заголовок_столбца").range

Только столбец с данными например так

Visual Basic
1
wt.ListColumns("заголовок_столбца").DataBodyRange

Хорошая шпаргалка по тому, как обращаться к разным частям умной таблицы: https://www.thespreadsheetguru… cel-tables



2



1232 / 670 / 238

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

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

10.03.2018, 13:57

6

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

по какой-то причине не работают.

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



0



Like this post? Please share to your friends:
  • Excel обращение к таблице по имени
  • Excel обращение к одной ячейке
  • Excel обращение к листу по номеру
  • Excel обращение к листу по индексу
  • Excel обратный порядок строки