Проверка данных Excel путем ввода вместо выбора - PullRequest
0 голосов
/ 29 апреля 2020

Я борюсь со списком автозаполнения в моем документе Excel. Я пытался использовать пример из OzGrid

https://www.ozgrid.com/Excel/autocomplete-validation.htm

Но, похоже, этот шаг недостаточно хорошо объяснен.

Сначала все, я сделал первый шаг, связав свои ячейки между этими двумя листами.

[! [введите описание изображения здесь] [1]] [1]

В обеих «Фронт-листе» и «Местности» «диапазон списка от C51 до C67, согласно рекомендации OzGrid.

Следующий шаг с [Dynami c Ranges] [2], вероятно, относится к более старым версиям Excel с традиционным меню, где мы могли бы выберите «Инструменты» на панели. Теперь в Excel 2016 я считаю, что это должно быть так: Формулы - Менеджер имен - Новый ... где мы помещаем наше имя, область и ссылаемся на (диапазон). Я создал Myrange

[! [Введите описание изображения здесь] [3]] [3]

и, наконец, я подставил формулу (предполагая, что C50 - это моя ячейка выпадающего списка) :

= OFFSET (Фронт-лист! $ C $ 50,0,0, MATCH ("*", Фронт-лист! $ C $ 51: $ C $ 67, -1), 1)

но я ничего не получаю, кроме # N / A

Я не знаю, что будет дальше.

Я не хочу использовать VBA на этот раз, потому что я хочу иметь эти списки, выделенные для указанных ячеек. Я хочу искать записи, печатая не выбрав, так как я получил их довольно много. Возможно ли это?

Этот вопрос несколько дублирует предыдущие, что, к сожалению, не принесло мне решения.

Excel 2010: как использовать автозаполнение в списке проверки

Проверка данных Excel с предложениями / автозаполнение

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Ваша формула =OFFSET(Frontsheet!$C$50,0,0,MATCH("*",Frontsheet!$C$51:$C$67,-1),1) не должна возвращать ничего, кроме # N / A при вводе в ячейку, поскольку она определяет диапазон, который Excel не может отобразить в одной ячейке. Однако вы можете использовать его для определения именованного диапазона, а затем использовать это имя для определения списка проверки данных.

MATCH("*",Frontsheet!$C$51:$C$67,-1) не работает надежно, если в диапазоне поиска есть числа. Вы можете заменить его на COUNTA(Frontsheet!$C$51:$C$67), который может одинаково хорошо работать с числами или текстом. Разница в том, что MATCH создаст весь список, включая промежуточные пробелы, в то время как COUNTA будет обрезать список внизу на столько строк, сколько пробелов будет выше. В любом случае обычно избегают пробелов в источнике для списка проверки.

Если вы хотите, чтобы пользователь мог выбрать или ввести , вы должны отключить Показывать оповещение после неверные данные вводятся на вкладке Error Alert диалогового окна Проверка данных, где вы устанавливаете правила проверки.

0 голосов
/ 29 апреля 2020

Решение OzGrid плохо написано и обманчиво. Он просто использует Автозаполнение для значений ячеек . Нет волхвов c при связывании с другим листом и использовании смещения или при создании именованной ссылки.

Все, что вам нужно сделать, это добавить список значений, которые вы собираетесь использовать, в столбце над столбцом. Избегайте пустых строк между этим списком значений по умолчанию и тем, что вы намереваетесь ввести.

List of 'defaults' above header.

Пропущенные строки 'разбивают' Автозаполнение для ячеек.

Skipped rows 'break' AutoComplete for cells.

Но можно решить, добавив соседний смежный столбец «индексации».

Contiguous indexing column resolves AutoComplete for cells in adjacent column.

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