Проверка данных с использованием COUNTIF - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь использовать функцию проверки данных в Excel, чтобы проверить, существует ли введенный пользователем идентификатор в нашей системе. Пользователь вводит идентификационный номер в таблицу (отформатированную как именованную таблицу), затем проверяет другую таблицу (отформатированную как другую именованную таблицу), если этот идентификационный номер существует. Если идентификатор существует, ошибка не возникает. Если идентификатор не существует, он предупредит пользователя. Целью этого является предотвращение ошибки пользователя при вводе идентификационных номеров.

Во всплывающем окне проверки данных я выбрал пользовательский, а затем ввел следующую формулу:

=COUNTIF(PO_BEN, A3) > 0

Где PO_BEN - это идентификационный номер, найденный в таблице валидации, а A3 - введенный пользователем идентификационный номер. PO_BEN - это именованный диапазон, который я создал, используя поле имени после выбора всего столбца из таблицы.

Всплывающее окно проверки данных

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

Ниже я также включил веб-страницу, с которой получил формулу.

https://exceljet.net/formula/data-validation-unique-values-only

1 Ответ

0 голосов
/ 28 октября 2019

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

В отдельном столбце:

=AND(COUNTIF(PO_BEN,USER_BEN)>0, USER_BEN=SUBSTITUTE(USER_BEN," ",""))

Все имена, используемые в формулах, являются именованными диапазонами. PO_BEN - это диапазон чисел BEN из таблицы проверки. USER_BEN - это диапазон чисел BEN, введенных пользователем.

Дополнительная проверка в этой формуле ищет все пробелы, которые мог ввести пользователь. Если пользователь вводит пробел в любом месте номера BEN, он также помечает запись.

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

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