Справка Excel: Dynami c range + Проверка данных - PullRequest
1 голос
/ 05 марта 2020

У меня возникла проблема с некоторыми популярными вопросами Excel, динамическими диапазонами c, раскрывающимися списками проверки данных и автозаполнением. Допустим, у меня есть 2 листа, и на одном листе у меня есть раскрывающиеся списки для выбора из другого листа, и это не проблема, когда я определяю ячейки и диапазон, используя:

enter image description here

=OFFSET($A$19;;;COUNTA('0528 - info'!$E$2))

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

Как вы видите, например, столбец В B есть несколько «групп», в которых вы можете найти более разные «значения», как в столбце C, например, в блоке питания есть MV1 и MV2 ... и так далее. Мои выпадающие списки на листе 1 называются точно так же, как эти «группы», и я ссылался на них вручную, используя данную функцию. Но возможно ли заполнить мои выпадающие списки автоматически, когда я добавляю, например, MV3 под MV2 в этой таблице? Или RN7 на 14-м ряду? Каждый раз, когда я добавляю новые значения, мне приходится расширять раскрывающиеся списки (что нормально ..), но проблема будет в том, когда я поделюсь этой таблицей с другими, они забудут ее на 90%.

enter image description here Надеюсь, вы поняли мою точку зрения, любое предложение будет в порядке!

ps Косвенный не работает так, как должен - он выдает мне все экземпляры из столбца, но не указывает c те, которые мне нужны .

=INDIRECT("Table4[VarEDS]")

Ну, эта опция снова дала мне то, что у меня уже было - все "совпадения" из столбца и все еще не ТОЛЬКО совпадения, которые есть для определенной группы. ...

enter image description here

Ответы [ 2 ]

3 голосов
/ 05 марта 2020

Если ваш источник проверки данных представляет собой «Таблицу», как показано на вашем изображении, тогда вы можете воспользоваться диапазоном «Столбец таблицы», который является динамическим c. Это означает, что всякий раз, когда вы указываете этот столбец как диапазон NAMED, и если вносите изменения в столбец (Edit, Add, Delete), он будет отражаться в указанной ячейке.

Вы можете использовать эту технику даже для диапазонов, не указанных в таблице. Вам нужно НАИМЕНОВАТЬ их с формулой смещения и сделать динамический c.

. Вы можете найти динамический c адрес вашего столбца, как показано на рисунке ниже. Выберите весь столбец БЕЗ Заголовка

enter image description here

Назовите диапазон данных столбца с соответствующим именем, как показано на рисунке ниже

enter image description here

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

enter image description here

Затем вы можете смотрите ... Даже если вы редактируете, добавляете или удаляете любую строку в столбце, проверка данных изменится

enter image description here

enter image description here

Редактирование на основе вашего комментария ниже: Если вы хотите, чтобы текст из столбца B и столбца C отображался вместе в раскрывающемся списке проверки. Вставьте столбец в таблицу и объедините текст из столбцов B и C, а затем выполните проверку данных на основе этого столбца, как показано в столбце D на изображении ниже

enter image description here

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

1 голос
/ 08 марта 2020

После нескольких дней поисков и попыток я получил то, что хотел - совсем не бесполезная работа. Нужно было объединить больше функций с помощью пары видео от Лейлы (Xelplus):

https://www.youtube.com/watch?v=gu4xJWAIal8

https://www.youtube.com/watch?v=7fYlWeMQ6L8&t=5s

Первым шагом было создание уникального списка моих значений (текст в моем случае) на отдельном листе:

=IFERROR(INDEX(t_VarGroup[Vargrouptext];MATCH(0;INDEX(COUNTIF($J$2:J2;t_VarGroup[Vargrouptext]););0));"")

Затем мне нужно было «извлечь» все значения, принадлежащие определенному уникальному. значения:

=@IF($I3<COLUMNS($K$2:K$2);"";INDEX(t_EDS[[VarEDS]:[VarEDS]];AGGREGATE(15;3;(t_VarGroup[[Vargrouptext]:[Vargrouptext]]=$J3)/(t_VarGroup[[Vargrouptext]:[Vargrouptext]]=$J3)*(ROW(t_VarGroup[Vargrouptext])-ROW(t_VarGroup[[#Headers];[Vargrouptext]]));COLUMNS($K$2:K$2))))

Более того, я создал уникальный выпадающий список:

=OFFSET($J$3;;;COUNTIF($J$3:$J$14;"?*"))

А затем зависимый раскрывающийся список рядом с помощью:

=OFFSET($K$2;MATCH($H$2;$J$3:$J$17;0);;1;COUNTIF(OFFSET($K$2;MATCH($H$2;$J$3:$J$17;0);;1;20);"?*"))

И потому что я сделанный на другом листе, я должен был ссылаться на них с соответствующим именем листа, где находится мой основной лист - с раскрывающимися списками, это на самом деле очень полезно для моей будущей работы и для всех остальных, кто борется с раскрывающимися списками, но по определенным причинам. c way =))

Кредиты для: @ Nare sh Bhople для предложения о видео Youtube.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...