каскадный поиск xls на основе источника данных в стиле сводной таблицы?
-
21-08-2019 - |
Вопрос
Предполагая, что набор данных выглядит следующим образом
Country Region Product
UK North fdhlw46
UK North fdhlw47
UK North fdhlw48
UK North fdhlw49
UK North fdhlw50
UK South fdhlw51
UK South fdhlw52
UK South fdhlw53
UK South fdhlw54
UK South fdhlw55
UK South fdhlw56
UK South fdhlw57
UK West fdhlw58
UK West fdhlw59
UK West fdhlw60
UK London fdhlw61
UK London fdhlw62
USA New York fdhlw63
USA New York fdhlw64
USA New York fdhlw65
USA New York fdhlw66
USA Chicago fdhlw67
USA Chicago fdhlw68
USA Chicago fdhlw69
USA Chicago fdhlw70
USA LA fdhlw71
USA LA fdhlw72
USA LA fdhlw73
USA LA fdhlw74
USA LA fdhlw75
Как я могу получить каскадные выпадающие списки / picklists в Excel, где пользователи выбирают страну, которая затем сужается до региона и, наконец, продукта?
Пока все, что у меня есть, - это диапазон под названием "country", который я могу затем "data - validation - source:= country", но это дает мне только первое значение, и оно не удаляет дубликаты
Решение
http://www.contextures.com/xlDataVal13.html
Такой подход действительно означает определение уникального набора значений для каждой группировки, но это тривиально.
Спасибо за другие идеи.
Другие советы
Выберите диапазон, затем Данные -> Фильтр -> Автофильтр.Достигает ли это того, что вы ищете?
Я думаю, вы хотите использовать КОСВЕННУЮ функцию для поиска значения ячейки, а не определять диапазон поиска непосредственно при проверке данных.Взгляните на эта страница что довольно хорошо все объясняет.
Однако имейте в виду, что множественные каскадные проверки, подобные этой, имеют свои особые проблемы.В основном, если вы сделаете второй (или третий и т.д.) выбор, затем вернетесь назад и отредактируете первый выбор, нет автоматического флага, указывающего на то, что выбор теперь может быть недействительным.Например, если у вас есть следующее:
Type Detail Fruit Apple
...а затем измените первый столбец:
Type Detail Vegetable Apple
... тогда, возможно, теперь у вас возникла проблема.Найти такие несоответствия может быть очень сложно, или для их выделения / исправления требуется некоторый код.В блоге DDoE показан один из методов выделения таких ошибок с использованием условного форматирования, но это требует больших вычислительных затрат и плохо масштабируется.
Имейте в виду, что многократный поиск такого рода может поставить книгу на колени, если ее использовать широко, даже без использования условного форматирования.
В целом, для небольшого проекта, где ввод данных жестко контролируется, это гибкий метод каскадирования выпадающих списков, но если у вас мало контроля над пользователями или если объем собираемых данных превысит несколько сотен строк, то вы, вероятно, захотите рассмотреть возможность проверки (!) с помощью VBA или просто пройти весь путь и принудительно ввести данные через пользовательскую форму, что, безусловно, лучший вариант.
Редактировать: Пример рабочей книги
Отредактируйте еще раз:Если данные обязательно должны оставаться такими, какие они есть, то потребуется расширенный фильтр, который создает именованные диапазоны, используемые при проверке.Однако на этом уровне сложности вам, несомненно, было бы лучше просто использовать форму для ввода данных.