Недостатки "умных" таблиц Excel
Начиная с Excel 2007 появилась возможность использовать так называемые «умные» таблицы Excel.
Для того чтобы преобразовать обычную таблицу в «умную» нужно выделить в обычной таблице любую ячейку, на вкладке меню Главная развернуть список Форматировать как таблицу и выбрать один из понравившихся стилей (см. рисунок выше) , либо использовать команды меню Вставка -> Таблица.
Это очень удобный и порой незаменимый инструмент Excel, который значительно облегчает жизнь пользователям. Но в программах ExcelSoft они пока не используются, потому что имеют множество недостатков, о которых часто умалчивают.
Сначала о достоинствах:
- преобразование вашей таблицы в "умную" придаст ей презентабельный «полосатый» внешний вид;
- "умная" таблица автоматически увеличивается размерах при добавлении данных правее последнего столбца или ниже последней строки. Причем при добавлении строк формулы в ячейках сохраняются. Еще один способ добавить в таблицу строки и столбцы - просто «потащить» ее за правый нижний угол;
- можно мгновенно создать строку итогов с результатами на ваш выбор (сумма, количество, среднее, минимум, максимум и т.д.);
- Excel автоматически присваивает имена столбцам «умной» таблицы, которые можно использовать в формулах.
- с умной таблицей очень удобно работать в надстройке Power Query. На мой взгляд это главное достоинство умных таблиц.
Недостатки «умной» таблицы – это продолжение ее достоинств:
- При большом количестве строк «умная» таблица начинает изрядно «тормозить» по сравнению с обычной. Ее «полосатый» внешний вид основан на том же принципе, что и условное форматирование, поэтому эта "фишка" потребляет много ресурсов компьютера. В больших таблицах рекомендуется эту красоту и возвращать «умной» таблице одноцветный внешний вид.
Кстати, если вам так хочется "полосатости", это легко можно сделать и для обычной таблицы. Достаточно задать для вашей таблицы правило условного форматирование вот с такой формулой: =ЕЧЁТН(СТРОКА()
- Если вы добавили строку итогов, то функция автоматического расширение «умной таблицы» по строкам при добавлении данных перестает работать. Это логично. Не могут же новые строки с данными быть после строки итогов. Расширить таблицу в этом случае можно только растаскиванием за уголок.
Замечу, что часто удобнее иметь итоговую строку вверху в шапке под наименованиями столбцов, чтобы она оставалась закрепленной на экране. Но в «умной» такой возможности нет.
- Первой строкой умной таблицы должны быть заголовки столбцов. Аналогичное требования предъявляются к исходным данным при создании сводных таблиц. Это лишает вас возможности делать сложные шапки, а также использовать одну из фишек ExcelSoft - строку суперфильтра.
- Если адресоваться к столбцам таблицы, используя наименования столбцов, которые «умная таблица» присвоила автоматически, то формулы могут стать «трехэтажными».
Например, для колонки, содержащей наименование контрагента, можно вручную задать имя диапазона, например КонтрИмя. Оно компактное, но информативное, поэтому его удобно использовать в формулах.
Второй вариант - использовать в формуле имя, присвоенное умной таблицей, например Таблица 1[Наименование контрагента]. Но если у вас сложные формулы, они станут в разы длиннее и просто нечитабельными.
Конечно можно принудительно поменять имена и адреса, но тогда где экономия времени от использования «умных» таблиц?
Вот пример не самой длинной формулы в ячейке на листе "Контрагенты" в программе ES: “Финансовое планирование и учет”, которая рассчитывает сальдо по контрагенту:
=ЕСЛИ(ИЛИ(НаТ1;НаТ4);ЕСЛИ($B19<>"";-СУММЕСЛИМН(КаПрихРасхБДР;КаДата;"<="&НаКД;КаНомКонтр;$U19;КаПодчинСправ;"КонтрИмя";КаВидУч;"Б")-СУММЕСЛИМН(РсПрихРасхБДР;РсДата;"<="&НаКД;РсНомКонтр;$U19;РсПодчинСправ;"КонтрИмя";РсВидУч;"Б") +СУММЕСЛИМН(ОпПрихРасхБДР;ОпДата;"<="&НаКД;ОпНомКонтр;$U19;ОпПодчСправКонтр;"КонтрИмя";ОпВидУч;"Б") +СУММЕСЛИМН(ОпПрихРасхБДР;ОпДата;"<="&НаКД;ОпНомКонтр;$U19;ОпПодчСправКонтр;"КонтрИмя";ОпВидУч;"НоБ");0);0)
Если вместо имен диапазонов были бы использованы имена столбцов, автоматически присвоенные «умной таблицей», длина формулы оказалась бы в 2-3 раза больше и разобраться в ней визуально стало бы намного сложнее.
- На защищенных листах функция ставки строк растаскивание за уголок или автоматическое расширение при добавлении данных не работает. Вставить строки внутри «умной» таблицы на защищенном листе также невозможно. И если для обычных таблиц есть «костыль» – использование методов Insert, Delete в макросах VBA, то умные таблицы Excel эти методы не поддерживают и как решить проблему вставки строк с помощью макросов пока непонятно.
- В Excel есть очень полезный инструмент – так называемые Представления. Представления позволяют запоминать внешний вид таблицы на заданном листе (закрепление областей, скрытые и видимые строки и столбцы, условия фильтрации и т.д.), что особенно удобно при подготовке отчетов. Более подробно о Представлениях можно почитать здесь. К сожалению, если в рабочей книге есть хоть одна «умная» таблица, использование Представлений становится невозможным.
- Еще один существенный недостаток «умных» таблиц в том, что при наличии в рабочей книге Excel хотя бы одной «умной» таблицы совместный доступ к файлу сделать невозможно. Excel предложит преобразовать все "умные" таблицы в обычные и удалить карты XML.
Представьте себе, как будет обидно, если вы сделали программу, отладили формулы (которые обращаются непосредственно к колонкам «умной» таблицы) и тут такой облом. Переделывать придется очень много. Я собственно так и попался в первый раз.
Конечно, совместный доступ к файлу - инструмент устаревший и имеет много ограничений. Но многие продолжают его использовать, т.к. альтернатива ему - совместное редактирование доступна пока лишь при подписке на Office 365, что не всем компаниям по карману.
В заключении нужно отметить, что «умные» таблицы - это будущее Excel, уже наступившее:). Рано или поздно на них перейдут все . А по имеющимся недостаткам будем надеяться, что компания Microsoft исправит их добавит в коробочные версии MS Office.