Excel для условий проверка данных нельзя использовать ссылки на другие листы

Обновлено: 05.07.2024

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

  • 01.01.2001;
  • 01/01/2001;
  • 1 января 2001 года и т.д.

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

Где находится?

Для настройки параметров проверки вводимых значений необходимо на вкладке «Данные» в области «Работа с данными» кликнуть по иконке «Проверка данных» либо выбрать аналогичный пункт из раскрывающегося меню:

Расположение функции проверка данных на ленте Excel

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

Окно проверки данных с настройками по умолчанию

Настройка условия проверки

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

  • Целое число;
  • Действительное число;
  • Список;
  • Дата;
  • Время;
  • Длина текста;
  • Другой.

В соответствии с выбранным пунктом, появляется возможность выбора дополнительных условий. Для чисел, дат, времени и длины текста возможно указать ограничения: меньше, больше, диапазон и т.п. К списку обязательно привязывается источник, а пункт «другой» предлагает ввести формулу, возвращающую логическое значение.

Самым необычным видом является выпадающий список.

Пример выпадающего списка в ячейке excel

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

Всплывающая подсказка ячейки Excel

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

Пример всплывающей подсказки в Excel:

Отображение вслывающей подсказки при выделении ячейки

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

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

Выпадающий список можно создать с помощью Проверки данных


В этой статье создадим Выпадающий список с помощью Проверки данных ( Данные/ Работа с данными/ Проверка данных ) с типом данных Список .


Выпадающий список можно сформировать по разному.

А. Простейший выпадающий список - ввод элементов списка непосредственно в поле Источник

Самым простым способом создания Выпадающего списка является ввод элементов списка непосредственно в поле Источник инструмента Проверка данных .

Предположим, в ячейке B 1 необходимо создать выпадающий список для ввода единиц измерений. Выделим ячейку B 1 и вызовем Проверку данных.

Если в поле Источник указать через точку с запятой единицы измерения шт;кг;кв.м;куб.м , то выбор будет ограничен этими четырьмя значениями.


Теперь смотрим, что получилось. Выделим ячейку B 1 . При выделении ячейки справа от ячейки появляется квадратная кнопка со стрелкой для выбора элементов из выпадающего списка .


Недостатки этого подхода: элементы списка легко потерять (например, удалив строку или столбец, содержащие ячейку B 1 ); не удобно вводить большое количество элементов. Подход годится для маленьких (3-5 значений) неизменных списков. Преимущество : быстрота создания списка.

Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)

Элементы для выпадающего списка можно разместить в диапазоне на листе EXCEL, а затем в поле Источник инструмента Проверки данных указать ссылку на этот диапазон.

Предположим, что элементы списка шт;кг;кв.м;куб.м введены в ячейки диапазона A 1: A 4 , тогда поле Источник будет содержать =лист1!$A$1:$A$4


Преимущество : наглядность перечня элементов и простота его модификации. Подход годится для редко изменяющихся списков. Недостатки : если добавляются новые элементы, то приходится вручную изменять ссылку на диапазон. Правда, в качестве источника можно определить сразу более широкий диапазон, например, A 1: A 100 . Но, тогда выпадающий список может содержать пустые строки (если, например, часть элементов была удалена или список только что был создан). Чтобы пустые строки исчезли необходимо сохранить файл.

Второй недостаток: диапазон источника должен располагаться на том же листе, что и выпадающий список , т.к. для правил Проверки данных нельзя использовать ссылки на другие листы или книги (это справедливо для EXCEL 2007 и более ранних).

Избавимся сначала от второго недостатка – разместим перечень элементов выпадающего списка на другом листе.

B. Ввод элементов списка в диапазон (на любом листе)

В правилах Проверки данных (также как и Условного форматирования ) нельзя впрямую указать ссылку на диапазоны другого листа (см. Файл примера ):

Пусть ячейки, которые должны содержать Выпадающий список , размещены на листе Пример,


а диапазон с перечнем элементов разместим на другом листе (на листе Список в файле примера ).


Для создания выпадающего списка, элементы которого расположены на другом листе, можно использовать два подхода. Один основан на использовании Именованного диапазона , другой – функции ДВССЫЛ() .

Используем именованный диапазон Создадим Именованный диапазон Список_элементов, содержащий перечень элементов выпадающего списка (ячейки A 1: A 4 на листе Список ) . Для этого:

  • выделяем А1:А4 ,
  • нажимаем Формулы/ Определенные имена/ Присвоить имя
  • в поле Имя вводим Список_элементов , в поле Область выбираем Книга ;


Теперь на листе Пример , выделим диапазон ячеек, которые будут содержать Выпадающий список .

  • вызываем Проверку данных ;
  • в поле Источник вводим ссылку на созданное имя: =Список_элементов .

Примечание Если предполагается, что перечень элементов будет дополняться, то можно сразу выделить диапазон большего размера, например, А1:А10 . Однако, в этом случае Выпадающий список может содержать пустые строки.

Избавиться от пустых строк и учесть новые элементы перечня позволяет Динамический диапазон . Для этого при создании Имени Список_элементов в поле Диапазон необходимо записать формулу = СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))


Использование функции СЧЁТЗ() предполагает, что заполнение диапазона ячеек ( A:A ), который содержит элементы, ведется без пропусков строк (см. файл примера , лист Динамический диапазон ).

Используем функцию ДВССЫЛ()

Альтернативным способом ссылки на перечень элементов, расположенных на другом листе, является использование функции ДВССЫЛ() . На листе Пример , выделяем диапазон ячеек, которые будут содержать выпадающий список, вызываем Проверку данных , в Источнике указываем =ДВССЫЛ("список!A1:A4") .

Недостаток : при переименовании листа – формула перестает работать. Как это можно частично обойти см. в статье Определяем имя листа .

Ввод элементов списка в диапазон ячеек, находящегося в другой книге

Если необходимо перенести диапазон с элементами выпадающего списка в другую книгу (например, в книгу Источник. xlsx ), то нужно сделать следующее:

  • в книге Источник.xlsx создайте необходимый перечень элементов;
  • в книге Источник.xlsx диапазону ячеек содержащему перечень элементов присвойте Имя , например СписокВнеш;
  • откройте книгу, в которой предполагается разместить ячейки с выпадающим списком;
  • выделите нужный диапазон ячеек, вызовите инструмент Проверка данных, в поле Источник укажите = ДВССЫЛ("[Источник.xlsx]лист1!СписокВнеш") ;

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

Если нет желания присваивать имя диапазону в файле Источник.xlsx , то формулу нужно изменить на = ДВССЫЛ("[Источник.xlsx]лист1!$A$1:$A$4")

СОВЕТ: Если на листе много ячеек с правилами Проверки данных , то можно использовать инструмент Выделение группы ячеек ( Главная/ Найти и выделить/ Выделение группы ячеек ). Опция Проверка данных этого инструмента позволяет выделить ячейки, для которых проводится проверка допустимости данных (заданная с помощью команды Данные/ Работа с данными/ Проверка данных ). При выборе переключателя Всех будут выделены все такие ячейки. При выборе опции Этих же выделяются только те ячейки, для которых установлены те же правила проверки данных, что и для активной ячейки.

Примечание : Если выпадающий список содержит более 25-30 значений, то работать с ним становится неудобно. Выпадающий список одновременно отображает только 8 элементов, а чтобы увидеть остальные, нужно пользоваться полосой прокрутки, что не всегда удобно.

В EXCEL не предусмотрена регулировка размера шрифта Выпадающего списка . При большом количестве элементов имеет смысл сортировать список элементов и использовать дополнительную классификацию элементов (т.е. один выпадающий список разбить на 2 и более).

Например, чтобы эффективно работать со списком сотрудников насчитывающем более 300 сотрудников, то его следует сначала отсортировать в алфавитном порядке. Затем создать выпадающий список , содержащий буквы алфавита. Второй выпадающий список должен содержать только те фамилии, которые начинаются с буквы, выбранной первым списком. Для решения такой задачи может быть использована структура Связанный список или Вложенный связанный список .

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

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

Способ 1. Именованные диапазоны

Возможно, самый простой и быстрый способ преодолеть барьеры, которые воздвигает Excel при проверке данных, — присвоить имя диапазону, где содержится список. Для создания именованного диапазона выделите ячейки, содержащие список, и введите имя в поле имени строки формул. Для выполнения этого примера мы будем предполагать, что диапазону присвоено имя MyRange.

Выделите ячейку, в которой должен будет появиться раскрывающийся список, а затем выберите команду Данные → Проверка (Data → Validation). В поле Тип данных (Allow) выберите пункт Список (List), а в поле Источник (Source) введите =MyRange . Щелкните на кнопке ОК. Поскольку вы использовали именованный диапазон, ваш список (хотя он и находится на другом листе) теперь можно использовать как список проверки.

Способ 2. Функция ДВССЫЛ

Функция ДВССЫЛ (INDIRECT) позволяет ссылаться на ячейку, содержащую текст, представляющий адрес ячейки. Эту ячейку можно использовать как локальную ссылку, даже если она получает данные из другого листа. Можно применять эту возможность для связи с листом, где расположен список.

Предположим, список находится на листе Sheetl в диапазоне $А$1:$А$8 . Щелкните любую ячейку на другом листе, где должен появиться этот список проверки (список выборки). Затем выберите команду Данные → Проверка (Data → Validation) и в поле Тип данных (Allow) выберите пункт Список (List). В поле Источник (Source) введите следующий код: =INDIRECT("Sheetl!$А$1:$А$8") , в русской версии Excel =ДВССЫЛ("Sheetl!$A$1:$A$8") . Удостоверьтесь, что флажок Список допустимых значений (In-Cell) установлен, и щелкните на кнопке ОК. Список на листе Sheetl должен появиться в раскрывающемся списке проверки.

Если имя листа, на котором расположен список, содержит пробелы, необходимо использовать следующий синтаксис функции ДВССЫЛ (INDIRECT): =INDIRECT("'Sheetl'!$А$1:$А$8") , в русской версии Excel =ДВССЫЛ("'Sheetl'!$А$1:$А$8") . Различие заключается в том, что здесь после первой кавычки стоит один апостроф, а второй апостроф находится перед восклицательным знаком.


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

Преимущества и недостатки обоих способов

Примечание: Это расширенная статья о проверке данных. Общие сведения о проверке данных, а также сведения о проверке данных в ячейке или диапазоне см. в статье Добавление проверки данных в ячейку или диапазон ячеек.

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

Ситуации, в которых полезно использовать проверку данных

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

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

Ограничение использования чисел за пределами указанного диапазона: например, можно указать максимальный процент годового роста зарплаты сотрудника (например, 3 %) или разрешить только целое число от 1 до 100.

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

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

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

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

Предупреждение о недопустимых данных

Предотвращает ввод недопустимых данных в ячейку.

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

Когда появляется предупреждение, пользователь может нажать кнопку Да, чтобы принять недопустимый ввод, кнопку Нет , чтобы изменить введенные данные, или кнопку Отмена, чтобы удалить недопустимую запись.

Советы по использованию проверки данных

Обратите внимание на советы и рекомендации по использованию проверки данных в Excel.

Примечание: Если вы хотите использовать проверку данных в книгах в Службы Excel или Excel Web App, сначала потребуется создать ее в классическом приложении Excel.

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

Если необходимо защитить лист или книгу, выполните это действие после настройки параметров проверки. Перед тем как защитить лист, убедитесь, что разблокированы любые ячейки, которые необходимо проверить. В противном случае пользователям не удастся ввести данные в ячейки. См. статью Защита листа.

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

Можно применить поверку данных к ячейкам, в которые уже введены данные. Однако в приложении Excel отсутствует возможность автоматического уведомления о том, что в существующих ячейках имеются недопустимые данные. В этом случае можно выделить недопустимые данные на листе с помощью кругов. Когда недопустимые данные найдены, круги можно скрыть. При исправлении недопустимых данных они исчезают автоматически.

Чтобы обвести данные, выделите нужные ячейки и выберите Данные > Работа с данными > Проверка данных > Обвести неверные данные.

Чтобы быстро отменить проверку данных в ячейке, выделите ее и выберите Данные > Работа с данными > Проверка данных > Параметры > Очистить все.

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

Для создания раскрывающегося списка можно воспользоваться командой Присвоить имя (на вкладке Формулы в группе Определенные имена), которая позволяет определить имя для диапазона, содержащего список. После создания списка на другом листе можно скрыть лист, который содержит список, а затем защитить книгу, чтобы пользователи не смогли получить доступ к этому списку.

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

Если проверка данных не работает, проверьте указанные ниже условия.

Выключен пересчет вручную. Если включен пересчет вручную, невычисляемые ячейки могут повлиять на правильность проверки данных. Чтобы отключить пересчет вручную, откройте вкладку Формулы, в группе Вычисление выберите Параметры вычислений и щелкните параметр Автоматически.

Возможно, таблица Excel связана с сайтом SharePoint. В таблицу Excel, которая связана с сайтом SharePoint, добавить проверку данных невозможно. Чтобы добавить проверку данных, необходимо удалить связь таблицы Excel или преобразовать ее в диапазон.

Возможно, в настоящее время вводятся данные. Во время ввода данных в ячейку команда "Проверка данных" недоступна. Нажмите клавишу ВВОД, чтобы завершить ввод данных, или ESC, чтобы отменить его.

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

Обновление или удаление проверки данных в книге, созданной другим пользователем

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

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

У вас есть вопрос об определенной функции?

Помогите нам улучшить Excel

У вас есть предложения по улучшению следующей версии Excel? Если да, ознакомьтесь с темами на портале пользовательских предложений для Excel.

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

Создать проверку внешних данных на другом листе

Возьмем, к примеру, создание раскрывающегося списка. Я создам источник на одном листе, а затем использую «Имя диапазона», чтобы создать раскрывающийся список на другом листе на основе источника значения.

документ проверка внешних данных 1

1. Создайте исходное значение раскрывающегося списка на листе по своему усмотрению. Смотрите скриншот:

документ проверка внешних данных 2

2. Выберите эти исходные значения и перейдите к Имя Box чтобы определить имя диапазона для ячеек, здесь я ввожу Страна в Имя Box, а затем нажмите Enter ключ, чтобы закончить наименование. Смотрите скриншот:

документ проверка внешних данных 3

3. Перейдите к листу, на котором вы хотите создать этот внешний раскрывающийся список, и выберите ячейку или диапазон для размещения раскрывающегося списка, например, G1: G4, и щелкните Данные > проверка достоверности данных. Смотрите скриншот:

документ проверка внешних данных 4

4. в проверка достоверности данных диалоговое окно, нажмите Параметры Вкладка и выберите Список из Разрешить раскрывающийся список, затем введите = Страна (Страна - это имя, которое вы определили для исходного диапазона на шаге 2, вы можете изменить его по своему усмотрению) в поле Источник. Смотрите скриншот:

документ проверка внешних данных 5

5. Нажмите OK, теперь проверка внешних данных создана.

Создать проверку внешних данных в другой книге

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

Возьмем, к примеру, создание раскрывающегося списка.

документ проверка внешних данных 6

1. Создайте нужные исходные значения на листе, затем выберите исходные значения и перейдите к Имя Box чтобы присвоить исходному диапазону имя, и нажмите Enter ключ, возьми CusName например. Смотрите скриншот:

документ проверка внешних данных 7

2. Затем перейдите к книге, которую вы хотите создать раскрывающийся список, выберите пустой столбец на листе, например столбец J, и щелкните Формулы > Определить имя. Смотрите скриншот:

документ проверка внешних данных 8

3. в Новое имя диалоговом окне введите имя в поле Имя поле и выберите Workbook из Объем список, а затем введите эту формулу = Source.xlsx! CustName (Источник - это имя книги, в которой находятся исходные данные, а CustName - это имя диапазона, которое вы создали для исходных данных на шаге 1, вы можете изменить их по своему усмотрению) в Относится к текстовое окно. Смотрите скриншот:

документ проверка внешних данных 9

4. Нажмите OK. Затем выберите диапазон, в котором вы хотите создать внешний раскрывающийся список, L1: L4, и нажмите Данные > проверка достоверности данных. Смотрите скриншот:

документ проверка внешних данных 10

5. в проверка достоверности данных диалоговое окно, нажмите Параметры Вкладка и выберите Список от Разрешить раскрывающийся список и введите эту формулу = MyCustList (MyCustList - это имя диапазона, которое вы даете пустому столбцу на шаге 3, вы можете изменить его по своему усмотрению) в Источник коробка. Смотрите скриншот:

документ проверка внешних данных 11

6. Нажмите OK. Теперь проверка внешних данных в другой книге создана. Смотрите скриншот:

Внимание: Только когда две книги открыты одновременно (книга исходных данных и книга проверки данных), проверка внешних данных может работать правильно.

Читайте также: