Вопрос или проблема
Я пытаюсь создать таблицу инструментов.
Первый столбец имеет иерархическую структуру, которая показывает, где находится инструмент. У меня есть несколько заголовков строк, таких как шкафы, ящики и т. д. Я хотел бы иметь возможность использовать фильтр для поиска по названию инструмента, модели, типу и т. д., чтобы сохранить заголовки местоположений, чтобы можно было увидеть, где находятся инструменты.
Цель состоит в том, чтобы это было относительно легко изменять, будь то добавление новых местоположений (это должно быть так же легко, как добавить новую строку с названием местоположения и отредактировать стиль или подобное для этой строки) или перемещение инструментов в другие места, поэтому жесткое кодирование названий местоположений или диапазонов не является вариантом.
Как выглядит таблица
Как это должно выглядеть после фильтрации по Типу=2
Вы можете считать вашу группировку очевидной, но Excel не знает, что ваша индикация означает группировку. В стандартной функциональности нет способа заставить его рассматривать отступы как группировку.
Однако в нем есть встроенная функция группировки, созданная именно для этого. Попробуйте с ней поэкспериментировать, и вы сможете сделать то, что вы хотели (это слишком сложно объяснить здесь, но не трудно – просто поиграйтесь немного).
Смотря на точные данные и макет, вы могли бы сделать следующее. Это сработает благодаря тому, что ваши элементы более высокого уровня (“заголовки” определенного рода) все не имеют записи в столбце Тип.
Фильтры, используемые в заголовках столбцов таблицы, все предлагают значение “Пусто”, если пустоты действительно существуют в их строках. Не так у функции FILTER()
и формул, которые делают похожие вещи, но вы используете возможности фильтрации таблицы, так что вы можете это сделать.
Просто отметьте флажок для значений Типа, по которым вы хотите фильтровать, И флажок для Пустых (который будет последним элементом в списке вариантов фильтрации).
Тогда заголовки более высокого уровня все равно будут отображаться. Поскольку элементы “внутри” них находятся ниже, иерархическая структура будет поддерживать себя так, как вы показываете, как желательно.
Вы можете обнаружить, что пользователи забывают о флажке (Пустые). Они вспомнят, когда не увидят заголовки. Но если вы можете разрешить значения строк заголовков быть чем-то, отличным от буквальной пустоты, или множество вариаций, которые Excel считает пустыми, выберите символ с низким номером, который не отображает никаких видимых символов в ячейке, но алфавитно располагается в начале списка, тогда он будет вверху, прямо под флажком “Выбрать все”, который его возглавляет.
Мне кажется, у меня возникают трудности с тем, чтобы сделать это легко. Символ Alt-2
не остается пустым, и Alt-002
или Alt-+002
не вставляют ничего в ячейку. Думаю, что делаю что-то неправильно, но… Тем не менее, вставка формулы =UNICHAR(2)
в ячейку, а затем копирование и вставка как значения работают, и это отсутствующий символ, который ожидается, но не рассматривается как пустота Excel в фильтре, так что он подходит. Странные шаги, которые следует пройти, но это срабатывает, и если кто-то настраивает новые вещи, не пользователи, это не самое странное, что вы когда-либо делали в Excel. (“2” – это не только самый низкий номер, поэтому он будет вверху почти всего, но первые 32 символа в наборе ASCII традиционно редко используются для чего-либо непосредственно. Символ 10, конечно, является обычным исключением в Excel, но 2<10, так что…)
Существуют и другие альтернативы, которые не требуют полного пересмотра структуры данных, но самая простая, которая приходит мне на ум, все равно требовала бы вспомогательный столбец в таблице, который формульно делает вышеуказанное. Так что введите значение в одном столбце, и формула в строках другого столбца (скопированная вниз, это не динамическая массивная формула, так как таблицы не позволяют этого) создает этот символ, или ваш UNICHAR(2)
, если строка этого столбца пустая, и вы фильтруете ТОТ столбец, формульный столбец, а не столбцы, где вводятся записи. Неудобно, если вы делаете это для пользователей. Совсем не проблема, если делаете работу с ним сами. (Если последнее, вспомогательный столбец не нужен, так как можно легко вводить данные на сессии, а затем вводить функцию =UNICHAR(2)
где-то и вставлять ее значение в новые иерархические строки работы.)
Ответ или решение
Для создания таблицы инструментов с иерархической структурой размещения в Excel и фильтрации по таким параметрам, как название инструмента, модель и тип, важно исключить определенные строки из процесса фильтрации, чтобы заголовки локаций оставались видимыми. В данной статье мы рассмотрим методы достижения этой цели, одновременно сохраняя гибкость для внесения изменений в структуру данных.
Понимание иерархической структуры
Ваша таблица содержит верхние уровни, обозначающие местоположение (например, шкафы, ящики), и подчиненные уровни с инструментами. Поэтому критически важно, чтобы при фильтрации инструменты были связаны с соответствующими местоположениями.
Использование встроенной функции группировки в Excel
Excel предлагает встроенную функцию группировки, которая позволяет сохранить иерархическую структуру:
-
Группировка заголовков: Сначала выделите строки с заголовками местоположений. Перейдите на вкладку "Данные" и выберите "Группировать". Это создаст возможность свертывания и развертывания, позволяя вам скрывать и отображать заголовки по мере необходимости.
-
Фильтрация данных: После группировки аналогичных заголовков, вы можете использовать стандартные фильтры Excel. Просто активируйте фильтры в заголовках столбцов и выберите значений, которые хотите отобразить.
Учет пустых строк в фильтрации
Важно, чтобы для строк заголовков в столбце "Тип" оставались пустые значения. Вы можете воспользоваться этой особенностью, чтобы фильтры отображали как инструменты, так и соответствующие заголовки:
- Переключите фильтры так, чтобы в списке фильтрации были выбраны как необходимые значения для фильтрации, так и пункт "Пустые". Это позволит заголовкам оставаться видимыми после фильтрации.
Использование дополнительных методов для улучшения фильтрации
Иногда пользователи могут забыть выбрать "Пустые" в списке фильтров. Чтобы избежать этой проблемы, вы можете задать специальный символ как заглушку для пустых ячеек:
-
Использование Юникода: Вы можете использовать формулу
=UNICHAR(2)
для создания невидимого символа в ячейках заголовков. Копируйте это значение и вставляйте в пустые ячейки заголовков. -
Помощник-столбец: Если вам нужно много заголовков, можно ввести формулу в помощник-столбецы, которая будет заполнять пустые значения необходимым символом. Создание такой структуры упростит обновление данных в дальнейшем.
Применение и поддержка
Выбор правильной стратегии фильтрации и визуализации расчетных данных зависит от потребностей вашей группы пользователей. Убедитесь, что все участники понимают, как использовать фильтры правильно; возможно, вам нужно будет создать небольшие инструктажи или даже памятки по использованию фильтров с включением "Пустых".
Заключение
Создание эффективной системы фильтрации в таблице с иерархической структурой позволяет сохранить видимость заголовков местоположений при фильтрации инструментов. Метод группировки и использование символов в пустых ячейках предоставляют вам надежные инструменты для управления данными. Регулярные обновления и добавление новых ресурсов будут легкими и не потребуют значительных изменений в существующей структуре.