Помещение имени таблицы в качестве ссылки для проверки значений ячеек

9819
altern

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

альтернативный текст

Мой вопрос: могу ли я поместить динамическую ссылку на таблицу в поле «источник»? Если да, то как я могу это сделать?

Благодарю.

5

5 ответов на вопрос

8
Andrew Ross

Начиная с Excel 2010, вы не можете напрямую использовать структурированные ссылки в качестве исходного списка для проверки данных. Однако вы МОЖЕТЕ определить имя для структурированной ссылки и использовать вместо этого новое имя.

Например, если у меня есть таблица с одним столбцом, Table1которая содержит столбец с именем Acceptable Values, я могу определить новое имя, ValidValuesиспользуя структурированную ссылку Table1[Acceptable Values]. В поле источника списка проверки данных я могу ввести=ValidValues

Это лучший ответ для тех, кто использует Excel версии 2010 и выше. Это самый быстрый доступный метод, и в отличие от метода INDIRECT он не сломается, если вы переименуете свою таблицу или столбец таблицы. ChrisB 6 лет назад 0
6
Nick Grealy

Чтобы ответить на ваш вопрос:

Могу ли я поместить ссылку на динамическую таблицу в поле «источник»? Если да, то как я могу это сделать?

Да! Как это...

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

Пример проверки данных Источник:

=INDIRECT("Table1[MyColumn]") 

Только будьте осторожны: любые изменения имен ссылок на таблицы / столбцы не будут волшебным образом обновляться!

Рекомендации

  1. https://support.office.com/en-nz/article/INDIRECT-function-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd?ui=en-US&rs=en-NZ&ad=NZ
  2. http://www.get-digital-help.com/2012/10/15/how-to-use-a-table-name-in-data-validation-lists-and-conditional-formatting-formulas/
3
DMA57361

Я вижу два способа сделать это:

Использовать именованный диапазон

Выберите C1:C6, в строке меню выберите Вставить -> Имя -> Определить, введите имя для диапазона (например, «ValidationList»). В окне «Проверка данных» над полем « Источник» должно быть установлено значение =ValidationList.

Всякий раз, когда вы добавляете элементы в список, вам нужно снова посетитьокно Вставка -> Имя -> Определить, выбрать именованный элемент из списка и изменить значение Привязать к, как требуется.

Все ссылки на =ValidationListбудут автоматически указывать на новый измененный список.

Расширить центр списка

В этом примере вы используете в $C$1:$C$6качестве области списка, если вы вставляете новые ячейки в середину этого списка (то есть выбираете C4, щелкаете правой кнопкой мыши, вставляете, сдвигаете ячейки вниз), тогда диапазон должен быть расширен для вас.

1
Gelo32k
  1. Create table that will hold the choices for drop down menu.

  2. Go to Formulas > Name Manager > New Name, and define a name for the table column that you want to use to hold your drop down list choices.
    New Name Dialog

  3. Select the range/cell that you want to turn into a drop down list and add data validation as normal, except that in the source you are going to use the name you defined earlier (ex: =ListChoices).

Reference: http://excelsemipro.com/2011/05/a-dynamic-dependent-drop-down-list-in-excel/

Я не знаю, почему это было на нуле. Это правильный ответ. Я только что проверил это, и он делает именно то, что хочет OP: динамический список проверки, связанный со столбцом таблицы. Martín Valdés de León 10 лет назад 0
0
wbeard52

I want to extend DMA57361's answer. Use a named range but make that range dynamic so that when the list grows or shrinks the dynamic range expands and contracts as you want it to be.

If you have a list starting at C1 and ending at C6 the following code will allow it to expand and contract. Once a cell is left blank, the list will stop.

=OFFSET($C$1, 0, 0, COUNTA($C:$C),1) 

Place this formula into a named range and call it ValidationList. In the data validation dialog select list and then enter =ValidationList as the source.

A really good resource to create dynamic named ranges: http://www.ozgrid.com/Excel/DynamicRanges.htm

Похожие вопросы