Проверка в excel по ссылке

test website url
test website url

Для того чтобы проверить битая ссылка или нет, можно использовать excel, при том постоянно. Достаточно написать небольшой макрос.
Предложенная функция проверяет наличие доступа к ресурсу URL, это может быть, страница, файл, каталог, страница с UTM метками и тд. Результатом работы есть код ответа сервера (число), либо 0, если ссылка ошибочная 200 — ресурс доступен, 404 — не найден, 403 — нет доступа, и т.д.
Для открытия консоли редактирования макросов в режиме работы с ексель нажмите [ ALT + F11 ], после этого, появится консоль редактирования. Нажмите «Insert Module» и скопируйте код приведенный ниже.

Function TryURLstatus(ByVal URL$) As Long
 On Error Resume Next: URL$ = Replace(URL$, "", "/")
 Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
 xmlhttp.Open "GET", URL, "False"
 xmlhttp.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
 xmlhttp.send
 TryURLstatus = Val(xmlhttp.Status)
 Set xmlhttp = Nothing
End Function

Сохраните модуль, теперь всё готово!

Теперь при работе с книгой вы должны подготовить список URL для проверки и добавить их так:

=TryURLstatus(ВАШ_URL_для_проверки)

В ячейку, где введена данная формула будет выведен статус ответа страницы, например: код 200, код 301, 404 и тд. Соответственно, вы сможете понять, битая ссылка или нет.

Важно:

Книга должна быть сохранена в формате .xlsm

Excel должен иметь доступ в интернет

Skip to content

Проверка данных в Excel: как сделать, использовать и убрать

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

При настройке рабочей книги для пользователей часто может потребоваться контролировать ввод информации в определенные ячейки, чтобы убедиться, что все введенные данные точны и непротиворечивы. Кроме того, вы можете захотеть разрешить в ячейке только определенный тип данных, например числа или даты, или ограничить числа определенным диапазоном, а текст — заданной длиной. Возможно, вы даже захотите предоставить заранее определенный список допустимых значений, чтобы исключить возможные ошибки. Проверка данных Excel позволяет выполнять все эти действия во всех версиях Microsoft Excel 365, 2019, 2016, 20013, 2010 и более ранних версиях.

Что такое проверка данных в Excel?

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

Вот лишь несколько примеров того, что может сделать проверка данных в Excel:

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

Например, вы можете настроить правило, которое ограничивает ввод данных 3-значными числами от 100 до 999. Если пользователь вводит что-то другое, Excel покажет предупреждение об ошибке, объясняющее, что было сделано неправильно:

Как сделать проверку данных в Excel

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

1. Откройте диалоговое окно «Проверка данных».

Напомним, где находится кнопка проверки данных в Excel. Выбрав одну или несколько ячеек для проверки, перейдите на вкладку «Данные» > группа «Работа с данными» и нажмите кнопку «Проверка данных».

2. Создайте правило проверки Excel.

На вкладке «Параметры» определите критерии проверки в соответствии с вашими потребностями. В критериях вы можете указать любое из следующего:

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

В качестве примера создадим правило, разрешающее пользователям вводить только целое число от 100 до 999:

Настроив правило проверки, нажмите кнопку «ОК», чтобы закрыть окно «Проверка вводимых значений», или переключитесь на другую вкладку, чтобы добавить подсказку по вводу и/или сообщение об ошибке.

3. Подсказка по вводу (необязательно).

Если вы хотите отобразить сообщение, объясняющее пользователю, какие данные разрешены в данной ячейке, откройте соответствующую вкладку  и выполните следующие действия:

  • Убедитесь, что установлен флажок Отображать подсказку при выборе ячейки.
  • Введите заголовок и текст сообщения в соответствующие поля.
  • Нажмите OK, чтобы закрыть диалоговое окно.

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

4. Отображение предупреждения об ошибке (необязательно)

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

Тип оповещения Описание
Стоп (по умолчанию)
Самый строгий тип предупреждений, запрещающий пользователям вводить неверные данные.
Вы нажимаете «Повторить», чтобы ввести другое значение, или «Отмена», чтобы удалить запись.
Предупреждение
Предупреждает пользователей о том, что данные недействительны, но не препятствует их вводу.
Вы нажимаете «Да», чтобы ввести недопустимое значение, «Нет», чтобы изменить его, или «Отмена», чтобы удалить запись.
Информация
Наименее строгий тип оповещения, который информирует пользователей только о неверном вводе данных.
Нажмите «ОК», чтобы ввести недопустимое значение, или «Отмена», чтобы удалить его из ячейки.

Чтобы настроить пользовательское сообщение об ошибке, перейдите на вкладку «Сообщение об ошибке» и задайте следующие параметры:

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

И теперь, если пользователь введет недопустимые значения, Excel отобразит специальное предупреждение с объяснением ошибки (как показано в начале этого руководства).

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

Как настроить ограничения проверки данных Excel

При добавлении правила проверки данных в Excel вы можете выбрать один из предопределенных параметров или указать новые критерии на основе собственной формулы. Ниже мы обсудим каждую из встроенных опций.

Как вы уже знаете, критерии проверки определяются на вкладке «Параметры» диалогового окна «Проверка данных» (вкладка «Данные» > «Проверка данных»).

В первую очередь нужно настроить проверку типа записываемых данных.

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

  • Равно или не равно указанному числу
  • Больше или меньше указанного числа
  • Между двумя числами или вне, чтобы исключить этот диапазон чисел

Например, вот как выглядят ограничения по проверке данных Excel, которые допускают любое целое число больше 100:

Проверка даты и времени в Excel

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

Точно так же, чтобы проверить время, выберите Время в поле Значение, а затем определите необходимые критерии.

Например, чтобы разрешить только даты между датой начала в B1 и датой окончания в B2, примените это правило проверки даты Excel:

Разрешить только будни или выходные

Чтобы разрешить пользователю вводить даты только  будних или выходных дней, настройте пользовательское правило проверки на основе функции ДЕНЬНЕД (WEEKDAY).

Если для второго аргумента установлено значение 2, функция возвращает целое число в диапазоне от 1 (понедельник) до 7 (воскресенье). Так, для будних дней (пн-пт) результат формулы должен быть меньше 6, а для выходных (сб и вс) — больше 5.

Таким образом, разрешить только рабочие дни:

=ДЕНЬНЕД( ячейка ; 2)<6

Разрешить только выходные :

=ДЕНЬНЕД( ячейка ; 2)>5

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

=ДЕНЬНЕД(A2;2)<6

Проверить даты на основе сегодняшней даты

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

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

  • Выберите Дата в поле Тип данных
  • Выберите в поле Значениемежду
  • В поле Начальная дата введите выражение    =СЕГОДНЯ()
  • В поле Конечная дата  введите   =СЕГОДНЯ() + 6

Аналогичным образом вы можете ограничить пользователей вводом дат до или после сегодняшней даты. Для этого выберите меньше или больше, чем в поле Значение, а затем введите =СЕГОДНЯ() в  поле Начальная дата или Конечная дата соответственно.

Проверка времени на основе текущего времени

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

В поле Тип данных выберите Время .

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

В поле Время окончания или Время начала (в зависимости от того, какие критерии вы выбрали на предыдущем шаге) введите одну из следующих формул:

Чтобы проверить дату и время на основе текущей даты и времени:

=ТДАТА()

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

=ВРЕМЯ(ЧАС(ТДАТА());МИНУТЫ(ТДАТА());СЕКУНДЫ(ТДАТА()))

Проверка длины текста

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

Например, чтобы ограничить ввод до 15 символов, создайте такое правило:

Примечание. Параметр «Длина текста» ограничивает количество символов, но не тип данных. Это означает, что приведенное выше правило разрешает как текст, так и числа до 15 символов или 15 цифр соответственно.

Список проверки данных Excel (раскрывающийся список)

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

  1. Откройте диалоговое окно «Проверка данных» (вкладка «Данные» > «Проверка данных»).
  2. На вкладке «Настройки» выберите «Список» в поле «Тип данных».
  3. В поле Источник введите элементы списка проверки Excel, разделенные точкой с запятой. Например, чтобы ограничить пользовательский ввод тремя вариантами, введите Да; Нет; Н/Д.
  4. Убедитесь, что выбрана опция Список допустимых значений, чтобы стрелка раскрывающегося списка отображалась рядом с ячейкой.
  5. Нажмите ОК.

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

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

Другие способы создания списка проверки данных в Excel

Предоставление списков, разделенных точкой с запятой, непосредственно в поле «Источник» — это самый быстрый способ, который хорошо работает для небольших раскрывающихся списков, которые вряд ли когда-либо изменятся. В других сценариях можно действовать одним из следующих способов:

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

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

Разрешить только числа

В дополнение к встроенным правилам проверки данных Excel, обсуждаемым в этом руководстве, вы можете создавать собственные правила с собственными формулами проверки данных. 

Удивительно, но ни одно из встроенных правил проверки данных Excel не подходит для очень типичной ситуации, когда вам нужно ограничить пользователей вводом только чисел в определенные ячейки. Но это можно легко сделать с помощью пользовательской формулы проверки данных, основанной на функции ЕЧИСЛО(), например:

=ЕЧИСЛО(C2)

Где C2 — самая верхняя ячейка диапазона, который вы хотите проверить.

Примечание. Функция ЕЧИСЛО допускает любые числовые значения в проверенных ячейках, включая целые числа, десятичные дроби, дроби, а также даты и время, которые также являются числами в Excel.

Разрешить только текст

Если вы ищете обратное — разрешить только текстовые записи в заданном диапазоне ячеек, то создайте собственное правило с функцией ЕТЕКСТ (ISTEXT), например:

=ЕТЕКСТ(B2)

Где B2 — самая верхняя ячейка выбранного диапазона.

Разрешить текст, начинающийся с определенных символов

Если все значения в определенном диапазоне должны начинаться с определенного символа или подстроки, выполните проверку данных Excel на основе функции СЧЁТЕСЛИ с подстановочным знаком:

=СЧЁТЕСЛИ(A2; » текст *»)

Например, чтобы убедиться, что все идентификаторы заказов в столбце A начинаются с префикса «AРТ-», «арт-», «Aрт-» или «aРт-» (без учета регистра), определите пользовательское правило с этой проверкой данных.

=СЧЁТЕСЛИ(A2;»АРТ-*»)

Формула проверки с логикой ИЛИ (несколько критериев)

В случае, если есть 2 или более допустимых префикса, добавьте несколько функций СЧЁТЕСЛИ, чтобы ваше правило проверки данных Excel работало с логикой ИЛИ:

=СЧЁТЕСЛИ(A2;»АРТ-*»)+СЧЁТЕСЛИ(A2;»АБВ-*»)

Проверка ввода с учетом регистра

Если регистр символов имеет значение, используйте СОВПАД  (EXACT) в сочетании с функцией ЛЕВСИМВ, чтобы создать формулу проверки с учетом регистра для записей, начинающихся с определенного текста:

=СОВПАД(ЛЕВСИМВ(ячейка; число_символов); текст)

Например, чтобы разрешить только те коды заказов, которые начинаются с «AРТ-» (ни «арт-», ни «Арт-» не допускаются), используйте эту формулу:

=СОВПАД(ЛЕВСИМВ(A2;4);»АРТ-«)

В приведенной выше формуле функция ЛЕВСИМВ извлекает первые 4 символа из ячейки A2, а СОВПАД выполняет сравнение с учетом регистра с жестко заданной подстрокой (в данном примере «AРТ-«). Если две подстроки точно совпадают, формула возвращает ИСТИНА и проверка проходит успешно; в противном случае возвращается ЛОЖЬ и проверка завершается неудачно.

Разрешить только значения, содержащие определенный текст

Чтобы разрешить ввод значений, которые содержат определенный текст в любом месте ячейки (в начале, середине или конце), используйте функцию ЕЧИСЛО (ISNUMBER) в сочетании с НАЙТИ (FIND) или ПОИСК (SEARCH) в зависимости от того, хотите ли вы совпадение с учетом регистра или без учета регистра:

Проверка без учета регистра:

ЕЧИСЛО(ПОИСК( текст ; ячейка ))

Проверка с учетом регистра:

ЕЧИСЛО(НАЙТИ( текст ; ячейка ))

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

Без учета регистра:

=ЕЧИСЛО(ПОИСК(«ар»;A2))

С учетом регистра:

=ЕЧИСЛО(НАЙТИ(«АР»;A2))

Формулы работают по следующей логике:

Вы ищете подстроку «AР» в ячейке A2, используя НАЙТИ или ПОИСК, и оба возвращают позицию первого символа в подстроке. Если текст не найден, возвращается ошибка. Если поиск успешен и «АР» найден в ячейке, мы получаем номер позиции в тексте, где эта подстрока была найдена. Далее функция ЕЧИСЛО возвращает ИСТИНА, и проверка данных проходит успешно. В случае, если подстроку не удалось найти, результатом будет ошибка и ЕЧИСЛО возвращает ЛОЖЬ. Запись не будет разрешена в ячейке.

Разрешить только уникальные записи и запретить дубликаты

В ситуациях, когда определенный столбец или диапазон ячеек не должны содержать дубликатов, настройте пользовательское правило проверки данных, разрешающее только уникальные записи. Для этого мы можем использовать классическую формулу СЧЁТЕСЛИ для выявления дубликатов :

=СЧЁТЕСЛИ( диапазон ; самая верхняя_ячейка )<=1

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

=СЧЁТЕСЛИ($A$2:$A$8; A2)<=1

При вводе уникального значения формула возвращает ИСТИНА, и проверка проходит успешно. Если такое же значение уже существует в указанном диапазоне (счетчик больше 1), функция СЧЁТЕСЛИ возвращает ЛОЖЬ, и вводимые данные не проходят проверку.

Обратите внимание, что мы фиксируем диапазон абсолютными ссылками на ячейки (A$2:$A$8) и используем относительную ссылку для верхней ячейки (A2), чтобы формула корректно изменялась для каждой ячейки в проверяемом диапазоне.

Как отредактировать проверку данных в Excel

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

  1. Выберите любую из проверенных ячеек.
  2. Откройте диалоговое окно «Проверка данных» (вкладка «Данные» > «Проверка данных»).
  3. Внесите необходимые изменения.
  4. Установите флажок Применить эти изменения ко всем другим ячейкам с теми же параметрами, чтобы скопировать внесенные вами изменения во все остальные ячейки с исходными критериями проверки.
  5. Нажмите OK, чтобы сохранить изменения.

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

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

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

Чтобы скопировать правило проверки в Excel, выполните следующие 4 быстрых шага:

  1. Выберите ячейку, к которой применяется правило проверки, и нажмите Ctrl + С , чтобы скопировать его.
  2. Выберите другие ячейки, которые вы хотите проверить. Чтобы выделить несмежные ячейки, нажмите и удерживайте клавишу Ctrl при выборе ячеек.
  3. Щелкните выделенный фрагмент правой кнопкой мыши, выберите «Специальная вставка» и выберите параметр «Условия на значения».

Либо используйте комбинацию клавиш Ctrl + Alt + V,  и затем — Н.

  1. Нажмите ОК.

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

Как найти ячейки с проверкой данных в Excel

Чтобы быстро найти все проверенные ячейки на текущем листе, перейдите на вкладку «Главная» > группа «Редактирование» и нажмите «Найти и выделить» > «Проверка данных» :

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

Как убрать проверку данных в Excel

В целом, есть два способа удалить проверку в Excel: стандартный подход, разработанный Microsoft, и метод без мыши, разработанный фанатами Excel, которые никогда не отрывают руки от клавиатуры без крайней необходимости (например, чтобы выпить чашку кофе:)

Способ 1: Обычный способ отключить проверку данных

Обычно, чтобы удалить проверку данных на листах Excel, выполните следующие действия:

  1. Выберите ячейку (ячейки) с проверкой данных.
  2. На вкладке «Данные» нажмите кнопку «Проверка данных».
  3. На вкладке «Настройки» нажмите кнопку «Очистить все», а затем нажмите «ОК».

Советы:

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

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

Способ 2: Удалить правила проверки данных при помощи Специальной вставки

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

  1. Выберите пустую ячейку без проверки данных и нажмите Ctrl + С, чтобы скопировать ее в буфер обмена.
  2. Выберите ячейки, в которых вы хотите отключить проверку данных.
  3. Нажмите Ctrl + Alt + V, и затем Н. Эта комбинация клавиш вызовет «Специальная вставка» > «Проверка данных».
  4. Нажимаем ОК.

Советы по проверке данных в Excel

Теперь, когда вы знакомы с основами проверки данных в Excel, позвольте мне поделиться несколькими советами, которые могут сделать ваши правила намного более эффективными.

Проверка данных на основе другой ячейки

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

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

Например, чтобы разрешить любое целое число, находящееся между 100 и 999, выберите критерии «минимум» и «максимум» в вкладке «Параметры» и введите в них адреса ячеек с этими числами:

Рис18

Вы также можете ввести формулу в ячейку, на которую указывает ссылка, и Excel проверит ввод на основе этой формулы.

Например, чтобы запретить пользователям вводить даты после сегодняшней даты, введите формулу =СЕГОДНЯ() в какую-нибудь ячейку, скажем, B1, а затем настройте правило проверки даты на основе этой ячейки:

Или вы можете ввести формулу =СЕГОДНЯ() непосредственно в поле Конечная дата, что будет иметь тот же эффект.

Правила проверки на основе формул

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

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

=МИН($С$2:$С$10)

=МАКС($С$2:$С$10)

Обратите внимание, что мы фиксируем диапазон с помощью знака $ (абсолютная ссылка на ячейки), чтобы наше правило проверки Excel работало правильно для всех выбранных ячеек.

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

Хотя Microsoft Excel позволяет применять проверку данных к ячейкам, в которых уже есть данные, он не уведомит вас, если некоторые из уже существующих значений не соответствуют критериям проверки.

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

Это выделит все ячейки, которые не соответствуют критериям проверки.

Как только вы исправите неверную запись, отметка автоматически исчезнет. Чтобы удалить все отметки, перейдите на вкладку «Данные» и нажмите «Проверка данных» > «Удалить обводку неверных данных».

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

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

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

Почему проверка данных Excel не работает?

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

Проверка данных не работает для скопированных данных

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

Хотя нет способа отключить клавиши копирования/вставки (кроме использования VBA), вы можете, по крайней мере, предотвратить копирование данных путем перетаскивания ячеек. Для этого выберите «Файл» > «Параметры» > «Дополнительно» > «Параметры редактирования» и снимите флажок «Включить маркер заполнения и перетаскивания ячеек».

Проверка данных Excel не активна

Кнопка «Проверка данных» не активна (выделена серым цветом), если вы вводите или изменяете данные в ячейке. Закончив редактирование ячейки, нажмите Enter или Esc, чтобы выйти из режима редактирования, а затем выполните проверку данных.

Проверка данных не может быть применена к защищенной или общей книге

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

Неправильные формулы проверки данных

При проверке данных на основе формул в Excel необходимо проверить три важные вещи:

  • Формула проверки не возвращает ошибок.
  • Формула не ссылается на пустые ячейки.
  • Используются правильные ссылки на ячейки.

Ручной пересчет формул включен

Если в Excel включен режим ручного расчета, невычисленные формулы могут помешать правильной проверке данных. Чтобы снова изменить параметр расчета Excel на автоматический, перейдите на вкладку «Формулы» > группу «Расчет», нажмите кнопку «Параметры расчета» и выберите «Автоматически».

Проверьте правильность формулы проверки данных

Для начала скопируйте формулу проверки в какую-нибудь ячейку, чтобы убедиться, что она не возвращает ошибку, такую ​​как #Н/Д, #ЗНАЧ или #ДЕЛ/0!.

Если вы создаете пользовательское правило , формула должна возвращать логические значения ИСТИНА и ЛОЖЬ или приравненные к ним значения 1 и 0 соответственно.

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

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

Если вы активируете опцию «Игнорировать пустые ячейки» при определении правила (обычно выбрано по умолчанию), то следите, чтобы ваши формулы или условия не ссылались на пустую ячейку.

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

Абсолютные и относительные ссылки на ячейки в формулах проверки

При настройке правила проверки Excel на основе формулы помните, что все ссылки на ячейки в вашей формуле относятся к верхней левой ячейке в выбранном диапазоне.

Если вы создаете правило для нескольких ячеек и ваши критерии проверки содержат адреса конкретных ячеек , обязательно зафиксируйте ячейку в формуле при помощи абсолютной ссылки (со знаком $, например, $A$1), иначе ваше правило будет правильно работать только для первой ячейки.

Чтобы лучше проиллюстрировать это, рассмотрим следующий пример.

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

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

Чтобы исправить формулу, просто введите «$» перед ссылками на столбцы и строки, чтобы зафиксировать их: =$E$2 и $F$2. Или используйте клавишу  F4 для переключения между различными типами ссылок.

Вот как вы можете добавить и использовать проверку данных в Excel. Я благодарю вас за чтение и надеюсь ещё увидеть вас в нашем блоге!

21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

1

19.12.2013, 16:47. Показов 19158. Ответов 11


Студворк — интернет-сервис помощи студентам

Здравствуйте.
Столкнулся с необходимостью проверки гиперссылок на корректность.
Возможно ли сделать так, чтоб макрос автоматически проверял рабочая гиперссылка или нет?
Меня интересуют не ссылки на файлы на компьютере или сервере(там все понятно), меня интересуют http ссылки.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

19.12.2013, 16:47

11

Аксима

6076 / 1320 / 195

Регистрация: 12.12.2012

Сообщений: 1,023

19.12.2013, 22:43

2

Kirill R, да, думаю, это возможно.

У меня получился такой вариант проверки с помощью функции:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
'Ôóíêöèÿ âîçâðàùàåò True, åñëè ãèïåðññûëêà êîððåêòíà (âåäåò íà
'ñóùåñòâóþùóþ ñòðàíèöó â èíòåðíåòå), è False - â ïðîòèâíîì ñëó÷àå.
Function TestHyperlink(ByVal h As Hyperlink) As Boolean
    On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", h.Address, False
        .send
        TestHyperlink = .statusText = "OK"
    End With
    On Error GoTo 0
End Function

С уважением,

Aksima



2



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

19.12.2013, 23:14

 [ТС]

3

Благодарю, завтра на работе попробую



0



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

23.12.2013, 08:33

 [ТС]

4

Aksima, спасибо, данный вариант работает. А не могли бы Вы вкратце пояснить принцип работы?

Добавлено через 8 минут
ах, нет, протестировал на нескольких заведомо ложных вариантах, всегда true выдает…



0



Аксима

6076 / 1320 / 195

Регистрация: 12.12.2012

Сообщений: 1,023

23.12.2013, 10:44

5

Цитата
Сообщение от Kirill R
Посмотреть сообщение

не могли бы Вы вкратце пояснить принцип работы?

Вот программа с пояснениями:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Function TestHyperlink(ByVal h As Hyperlink) As Boolean
    On Error Resume Next 'Включаем обработку ошибок.
    With CreateObject("MSXML2.XMLHTTP")
    'Формируем запрос к веб-странице по методу "GET".
        .Open "GET", h.Address, False
    'Отправляем запрос.
        .send
    'Функция возвращает результат сравнения строки
    'статуса запроса с ключевой фразой "OK".
        TestHyperlink = .statusText = "OK"
    End With
    On Error GoTo 0 'Выключаем обработку ошибок.
End Function
 
Sub Main()
    Dim c As Range
    For Each c In Range("A1:A4")
        c.Offset(, 1) = TestHyperlink(c.Hyperlinks(1))
    Next c
End Sub

Цитата
Сообщение от Kirill R
Посмотреть сообщение

ах, нет, протестировал на нескольких заведомо ложных вариантах, всегда true выдает…

Может, что-то не так сделали? У меня все работает:

Миниатюры

Проверка гиперссылок в Excel на корректность
 



1



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

23.12.2013, 13:06

 [ТС]

6

Aksima, да, все, спасибо, я уже разобрался в чем дело. заодно и разобрался в Вашем скрипте
Я применяю данный скрипт к корпоративному порталу, поэтому некоторые ложные срабатывания связаны с особенностями работы sharepoint.



0



Helicoid

01.02.2014, 18:56

7

Товарищи помогите пожалуйста. Мне нужно сделать все то же самое только все ссылки на файлы в компьютере. Вариант предложенный Aksima идеальный.

21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

06.02.2014, 11:44

 [ТС]

8

Helicoid, функция FileExist проверяет наличие файла по указанному пути.



1



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

07.02.2014, 13:48

9

Для Helicoid

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub TestExcellink()
    Dim El, aLinks, LinkFilePathName
    aLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
    If Not IsEmpty(aLinks) Then
        For Each El In aLinks
            LinkFilePathName = Dir(El)
            If LinkFilePathName = "" Then
                Debug.Print El & " файл отсутствует"
                ' При необходимости можно разорвать связь на отсутствующий файл
                ' ActiveWorkbook.BreakLink name:=El, Type:=xlLinkTypeExcelLinks
            Else
                Debug.Print El & " ОК"
            End If
        Next El
    End If
End Sub

Debug.Print печатает в окно Immediate.
Переход в окно редактора VBA: Alt+F11 , далее вызов окна Immediate: Ctrl + G



1



0 / 0 / 0

Регистрация: 20.02.2019

Сообщений: 5

22.03.2019, 08:59

10

Цитата
Сообщение от Аксима
Посмотреть сообщение

Может, что-то не так сделали? У меня все работает:

Уважаемый Аксима, этот способ отлично работает для проверки страниц с портала. Но у меня возникли сложности с проверкой конкретно документов с портала. Именно *.pdf и *.xls. У меня имеется достаточно большое количество различных таких файлов. Мне нужно проверить есть ли файл по ссылке или нет (например УП ИВТ есть, УП ПИ отсутствует и т.д.), подскажите как такое можно реализовать?

Изображения

 



0



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

26.03.2019, 16:23

 [ТС]

11

Kamidzu_san13, я этот способ использовал для проверки всех ссылок на портале, вне зависимости от того, указывают они на страницы, либо на файлы. С pdf и xsl все прекрасно работало. В чем у Вас сложности возникли?



0



Kamidzu_san13

0 / 0 / 0

Регистрация: 20.02.2019

Сообщений: 5

27.03.2019, 15:44

12

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function TestHyperlink(ByVal h As Hyperlink) As Boolean
    On Error Resume Next 
    With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", h.Address, False
           .send
           TestHyperlink = .statusText = "OK"
    End With
    On Error GoTo 0 
End Function
 
Sub Main()
    Dim c As Range
    For Each c In Range("F2:F5")
        c.Offset(, 1) = TestHyperlink(c.Hyperlinks(1))
    Next c
End Sub

Вот в ячейках F у меня гиперссылки созданные автоматически в зависимости от имени файла.
И когда запускаю этот макрос по всем пунктам ложь. Хотя там все рабочие.
Может библиотеку какую не подключил? Просто не понимаю уже. Месяца два пробовал и так и эдак, кучу всего перечитал. Пробовал и с относительными и с полноценными…Все бестолку. Уже просто руки опускаются не понимаю в чем беда

Добавлено через 1 минуту
Пробовал ещё и этой функцией… тоже не помогло

Visual Basic
1
2
3
4
5
6
7
8
9
Function TryURLstatus(ByVal URL$) As Long
 On Error Resume Next: URL$ = Replace(URL$, "", "/")
 Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
 XMLHTTP.Open "GET", URL, "False"
 XMLHTTP.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
 XMLHTTP.send
 TryURLstatus = Val(XMLHTTP.Status)
 Set XMLHTTP = Nothing
End Function



0



 

WADOR

Пользователь

Сообщений: 6
Регистрация: 23.03.2016

Здравствуйте!
Имеется лист с гиперссылками общим количеством до тысячи, расположенными в одном столбце. Как создать макрос на их проверку (существует ли объект на который она ссылается) и выделение ячейки с ошибочной гиперссылкой.

 

ArtHome

Пользователь

Сообщений: 44
Регистрация: 22.10.2014

#2

13.05.2016 12:02:47

Код
Sub Кнопка1_Щелчок()
    
    Dim cell As Range
    Dim winHttpReq As Object
    Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
    
    On Error GoTo l_error
        
    For Each cell In Range("Таблица1").Columns(1).Cells
        
        cell.Offset(0, 1).Value = "Неверный адрес"
        Call winHttpReq.Open("GET", cell.Value, False)
        
        Call winHttpReq.Send
        If winHttpReq.Status = 200 Then
            cell.Offset(0, 1).Value = "Всё ок"
        Else
            cell.Offset(0, 1).Value = "Неверный запрос"
        End If
        
l_error:

    Next cell
End Sub

Прикрепленные файлы

  • Книга1.xlsm (20.68 КБ)

 

WADOR

Пользователь

Сообщений: 6
Регистрация: 23.03.2016

Спасибо!
Работает, но только с гиперссылками на объекты в интернете. С ссылками на файлы находящиеся на компе и на дисках локальной сети не работает
Что можно сделать?

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

Добрый день.

Хороший скрипт.
У меня задача, проверить тучу ссылок интернет-радиостанций и я прикрутил его к своей задаче, но код в месте со всем Экселем виснет намертво на 30-ти% обработанных ссылок.
Помогите пож-ста, может он просто не все типы ссылок может проверить?! Или может вставить паузу между проверкой каждой ссылки, может из-за большого кол-ва он виснет? А список будет постоянно пополняться.

Я не сильно разбираюсь в коде, потому файл прилагаю…

Изменено: Nickolas02.01.2022 13:31:07

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

Nickolas,  задача по проверке радиостанций или наличия файла по ссылке? Это две разные задачи.

По вопросам из тем форума, личку не читаю.

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

, в данном случае не все ссылке ведут на конкретный файл m3u8, поэтому именно проверка работоспособности станции нужна…

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#7

02.01.2022 17:48:08

Цитата
написал:
проверка работоспособности станции нужна

Что Вам мешает устроиться поработать на этой радиостанции чтобы проверить ее работоспособность? И что значит «работоспособность» данной радиостанции?

Цитата
написал:
в данном случае не все ссылке ведут на конкретный файл m3u8,

Многие ссылки в интернете ведут на какой-то один файл, а многие — на разные файлы. Объясните доступно и понятно — чего хотите?
С Новым годом!

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

#8

02.01.2022 17:55:59

Цитата
написал:
то Вам мешает устроиться поработать на этой радиостанции чтобы проверить ее работоспособность?

Оценил Ваш юмор )))…

Цитата
написал:
Объясните доступно и понятно — чего хотите?

А что не так? Просто нужно что бы скрипт помечал не рабочие ссылки и я их в ручную мог удалить.
Он проверяет и помечает, но виснет сам и вешает намертво весь Excel. Нужно что бы код без проблем проверил ВСЕ имеющиеся ссылки без зависаний.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#9

02.01.2022 18:01:50

Цитата
написал:
виснет намертво

Не факт, что ссылки виноваты. Для начала прочитайте #5. В Вашем коде бессмысленный набор букв и ссылок (Call) на макросы, которые никто не видит и не знает, что они делают… Объяснить, что хотите — слабо? Или форумчане должны догадаться и предложить Вам решение, которое Вас устроит?

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

#10

02.01.2022 18:08:57

Цитата
написал:
Вашем коде

Код не мой, со второго поста.
Вы вообще код файла смотрели?

Прикрепленные файлы

  • 123333.png (89.7 КБ)

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

2016 и 2021… Не все работает одинаково, приходилось сталкиваться….Поэтому и возникают вопросы о подробных обстоятельствах Вашей задачи.
Найти все рабочие и все нерабочие ссылки в интернете?
В Вашем примере на листе не видно, того, что заявлено в коде. Т.е. «что есть»  — » «что нужно получить».
Вам  нужен поисковик на VBA?
P.S. Набрался смелости и пощёлкал по гиперссылкам.Открывается проигрыватель, но не файлы. С предварительным предупреждение от Винды — «Возможно там вирусы».  

Изменено: _Igor_6102.01.2022 18:33:24

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

_Igor_61, тут вопрос в обработке потока, который по сути возвращается, а он как бы бесконечен.

По вопросам из тем форума, личку не читаю.

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

#13

02.01.2022 18:34:10

Цитата
написал:
2016 и 2021… Не все работает одинаково, приходилось сталкиваться….

У меня 2013 офис.

Цитата
написал:
Вам  нужен поисковик на VBA?

Ну в целом код-то рабочий. Он все правильно отрабатывает. Просто не понятно почему он виснет…  

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

БМВ, да, поэтому и пытался ТС-а вытянуть на пояснения задачи, но он скрин приложил в последнем посте.. :Жаль, что не личное фото… ;) По фотке всю музыку нашли бы.. :)  
См. #11 P.S

Изменено: _Igor_6102.01.2022 18:42:37

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

#15

02.01.2022 18:39:32

Цитата
написал:
_Igor_61 , тут вопрос в обработке потока, который по сути возвращается, а он как бы бесконечен.

Да, нужно что бы после нажатия на кнопку «Проверить» код опросил ссылку и вернул ответ сервера 200 или 403 или 404.
Соответственно код 200 обозначаются в таблице как «ОК», 403 и 404 как «Не существует», вот и все, а он просто виснет…!!!
Я не знаю как еще проще объяснить, в коде сильно не разбираюсь…

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

Изменено: _Igor_6102.01.2022 18:58:43

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

#17

02.01.2022 19:05:45

Цитата
написал:
попробуйте ForEach Заменить на For…Next

Неа, он сразу ругается на строку, см. скрин —

Прикрепленные файлы

  • 2544444.png (86.42 КБ)

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#18

02.01.2022 19:24:47

If еще нужно, но про это Вам лучше знать, откуда и чего…

Цитата
написал:
существует ли объект на который она ссылается

If

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

_Igor_61, стоп, это все бесполезно при синхронном выполнении зависает на .send , а при асинхронном тоже не все гладко.

По вопросам из тем форума, личку не читаю.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#20

03.01.2022 15:41:12

Цитата
БМВ написал:
это все бесполезно

Да, убедился :)
Попробовал свой же совет (For.. Next… , функцию

отсюда

взял, т.к. сам не имею опыта решения подобных задач, кое-что изменил, думал поможет :). Зависать перестало, но с 47 строки у меня начинает тормозить, но терпимо, главное что не виснет совсем. Но другой момент обнаружился — не соответствие «ОК» и «Не существует». Думаю, что это потому, что запрос в реальном времени идет, а файлы на радиостанциях (соответственно и их URL) тоже в реальном времени меняются, вот и результат не всегда верный. Плэйлист открывается, но файлы не находятся… А где «Не существует» бывает что открываются в обозревателе и воспроизводятся… (Это если щелкать по ссылкам в файле)
Вот код (для контроля цикла добавил счетчик в «I1»):

Код
Function checkURL(strURL)
On Error GoTo 99
Dim objHTTP
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
objHTTP.SetTimeouts 0, 3000, 2000, 5000
objHTTP.Open "HEAD", strURL, False
objHTTP.Send
checkURL = objHTTP.Status
Exit Function
99 checkURL = ""
End Function

Sub qqq()
For i = 2 To 145
    Range("I1") = i
If checkURL(Range("B" & i).Value) = "200" Then
   Cells(i, 3) = "ok"
Else
   Cells(i, 3) = "Не существует"
End If
Next i
End Sub


'http://bbs.vbstreets.ru/viewtopic.php?f=1&t=40806

Наверное или саму задачу конкретней нужно обозначить (например, радиостанция сейчас в сети или нет или что-то другое — но опять же, сервер ответ может постоянно менять (ИМХО)), или другие средства использовать (наверное, это вернее будет)…  

Прикрепленные файлы

  • Radiostation.xlsm (27.39 КБ)

Изменено: _Igor_6103.01.2022 15:46:53

 

Nickolas

Пользователь

Сообщений: 21
Регистрация: 21.12.2015

#21

03.01.2022 18:18:09

Цитата
написал:
Вот код (для контроля цикла добавил счетчик в «I1»):

Спасибо большое, пол дела сделано, не виснет намертво и весь список отрабатывает, но не понятно почему он считает НЕКОТОРЫЕ ссылки не рабочими, хотя они работают..?!

И второй момент — список будет менятьсяпополнятся и строка — For i = 2 To 145 там не актуальна…
Очень вам благодарен, дальше может кто придаст ума коду, буду очень признателен…

@tridgill 

How do I find broken links in Excel?

There are different ways to check whether the hyperlinks are OK or not.
Here are two quick methods.

Method 1:
Cell Relationship Diagram
In the menu bar, select the Files> Options tab.
In the opened Excel Options window, click the Add-ins tab.
Now select the COM add-in from the drop-down list and press the OK button. In the open com add-in dialog box, choose Inquiries.
After that, you will see the Inquiries tab is added to the Excel ribbon.
In the diagram group, you need to select Cell Relationship.
The next window of the cell relationship diagram appears on the screen.
In the opened dialog box, select the options you want and press the OK button.
Very soon the diagram will appear on your Excel screen.
You can zoom in to see the links between a cell and another cell, or between a cell and another worksheet.
Here you can see the entire cell relationship diagram with all the links included. You can also use this chart to review the broken links in your Excel workbook.
I found this method to be the best way to find the cell with the broken Excel links.

Method 2:
Using Excel VBA
Another method to find broken Excel link is by using Excel VBA. In this method, we use the massive code to trace the broken link to an Excel workbook cell.

You can also restore the return value of the accessing source links to determine whether the links are actually broken or not.

To use the code, you need to add the Microsoft XML V3 reference:

Private Function CheckHyperlink(HypelinksCell As Range) As String

On Error GoTo ErrorHandler

Dim oHttp As New MSXML2.XMLHTTP30

oHttp.Open “HEAD”, HypelinksCell.Text, False

oHttp.send

CheckHyperlink = oHttp.Status & ” ” & oHttp.statusText

Exit Function

ErrorHandler:

CheckHyperlink = “Error: ” & Err.Description

End Function

Sub Test()

Debug.Print CheckHyperlink(Range(“A1”))

End Sub

With the above code, you can easily keep track of the broken link details of each worksheet cell.

Once you know the exact location of the broken link, move on to fixing the broken Excel link.

How do I fix broken links in Excel?
Warning: This step cannot be undone. So it is better that you keep the backup of your Excel workbook before starting the process.

Open your Excel workbook with the broken links problem.
Go to the Data tab and tap on the Edit Links option. If you don’t get the «Edit Links» option, it means there are no links in your workbook.
Now select the broken link that you want to fix in the Source file field.
Click the Change Source option.
Find the location of the Excel file with the source of your linked data.
Now select the new source file and click on the Change Source option.
Tap the Close option.

Hope I was able to help you with this information from the internet.

Nikolino

I know I don’t know anything (Socrates)

* Kindly Mark and Vote this reply if it helps please, as it will be beneficial to more Community members reading here.

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

Средство проверки данных

Excel позволяет задать определенные правила, по которым будет определяться, какие данные могут содержаться в ячейке. [1] Например, необходимо, чтобы число, содержащееся в ячейке, принадлежало диапазону от 1 до 12. В случае если пользователь введет неправильное значение, программа выведет соответствующее сообщение (рис. 1).

Рис. 1. Вывод сообщения о неправильном вводе данных

Скачать заметку в формате Word или pdf, примеры в формате Excel2007

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

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

Определение критерия проверки

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

1. Выделите ячейку или диапазон ячеек.

2. Выберите вкладку Данные, область Работа с даннымиПроверка данных. Excel отобразит диалоговое окно Проверка вводимых значений.

3. Щелкните на вкладке Параметры (рис. 2).

Рис. 2. Вкладка Параметры диалогового окна Проверка вводимых значений

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

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

6. (Опционально) Щелкните на вкладке Сообщение для ввода и введите сообщение, которое должно появиться на экране при выделении указанной ячейки. Это сообщение выводится для того, чтобы сообщить пользователю, какие данные можно вводить. Если пропустить этот шаг, то при выделении ячейки не появится никакого сообщения.

7. (Опционально) Щелкните на вкладке Сообщение об ошибке и введите сообщение, которое должно появляться в случае, когда пользователь введет недопустимое значение. Выбор вида сообщения в списке Вид определит, какой выбор будет у пользователя при внесении неверных данных. Для предотвращения ввода неправильных значений нужно выбрать вид сообщения Останов. Если пропустить этот шаг, то при возникновении ошибки будет появляться стандартное сообщение об ошибке.

8. Щелкните ОК.

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

Типы проверяемых данных

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

  • Любое значение. Выбор этой опции удаляет условие проверки данных. Однако сообщение для ввода все равно будет выводиться, если не снять флажок Выводить сообщение об ошибке во вкладке Сообщение для ввода.
  • Целое число. Пользователь должен ввести целое число. С помощью раскрывающегося списка Значение можно определить допустимый диапазон значений. Например, можно определить, что вводимое значение должно быть целым числом и большим или равным 100.
  • Действительное. Пользователь должен ввести действительное число. Диапазон допустимых значений можно определить с помощью раскрывающегося списка Значение. Например, можно определить, что вводимое число должно быть больше или равно 0 и меньше или равно 1.
  • Список. Пользователь должен выбрать значение из предложенного списка значений. Подробнее см. ниже раздел Создание раскрывающегося списка.
  • Дата. Пользователь должен ввести дату. С помощью раскрывающегося списка Значение можно определить допустимый диапазон дат. Например, можно определить, что вводимая дата должна быть больше или равна 1 января 2012 года и меньше или равна 31 декабря 2012 года.
  • Время. Пользователь должен ввести значение времени. С помощью раскрывающегося списка Значение можно определить допустимый диапазон значений. Например, вводимое значение времени должно быть больше чем 12:00.
  • Длина текста. Ограничивается длина вводимой строки (количество символов). С помощью раскрывающегося списка Значение можно определить допустимую длину строки. Например, можно определить, что длина вводимой строки должна равняться 1 (один символ).
  • Другой. Логическая формула, которая определяет правильность вводимых пользователем данных. Формулу можно занести непосредственно в поле Формула (которое появляется при выборе этого типа) или определить ссылку на ячейку с формулой. Ниже приводятся примере нескольких полезных формул.

Во вкладке Параметры диалогового окна Проверка вводимых значений содержатся две опции.

  • Игнорировать пустые ячейки. Если установлен флажок этой опции, то допускаются пустые записи в ячейках, для которых определена проверка данных. Этот флажок действует немного странно. Если флажок снять и определить в ячейке какое-нибудь правило проверки данных, то флажок позволит оставить ячейку пустой. Но как только вы попытаетесь в ячейке ввести что-то недопустимое, и после этого попробуете оставить ячейку пустой, то это не получится.
  • Распространить изменения на другие ячейки с тем же условием. Если флажок этой опции установлен, то все внесенные изменения будут применяться также и к другим ячейкам, которые содержат исходные условия проверки данных. Если вы определили некое правило в одной или нескольких ячейках, а затем выбрали диапазон, включающий эти ячейки и некоторые другие, и кликнули в меню Проверка данных, то появится сообщение: «Выделенная область содержит ячейки без условий на значения. Распространить условия на эти ячейки?». Если нажмете «Да», то появится вкладка Параметры диалогового окна Проверка вводимых значений. Так вот сейчас флажок Распространить изменения на другие ячейки с тем же условием ставить не нужно.

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

В Excel имеется команда ДанныеРабота с даннымиПроверка данныхОбвести неверные данные, после выбора которой все неверные значения будут обведены красным кружком (рис. 3).

Рис. 3. Ячейки с неверными значениями (значения которых больше 100) обведены кружками

Создание раскрывающегося списка

Возможно, проверка вводимых данных чаще всего используется для создания раскрывающегося списка значений. На рис. 4 приведен пример, в котором имена месяцев, содержащиеся в диапазоне А1:А12, используются для создания раскрывающегося списка.

Рис. 4. Список, созданный с помощью средства проверки данных

Чтобы создать такой список:

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

2. Выберите ячейку, которая должна содержать раскрывающийся список (в нашем примере – D3).

3. Во вкладке Параметры диалогового окна Проверка вводимых данных выберите тип данных Список и в поле Источник укажите диапазон, который содержит список значений (в нашем примере – $А$1:$А$12).

4. Удостоверьтесь, что установлен флажок Список допустимых значений.

5. Сделайте другие установки в диалоговом окне Проверка вводимых данных, как описано в предыдущем разделе.

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

Если список должен содержать небольшое количество значений, то их можно ввести непосредственно в поле Источник во вкладке Параметры диалогового окна Проверка вводимых значений (это поле появится, если выбрать из раскрывающегося списка Тип данных тип Список). Между вводимыми значениями нужно вставить разделитель, определенный в соответствии с региональными настройками (для России – это точка с запятой).

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

Проверка данных с использованием формул

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

Формула, определенная для проверки данных, должна возвращать логическое значение ИСТИНА или ЛОЖЬ. Если она вернет значение ИСТИНА, то введенное значение будет записано в ячейку. Если же результат вычисления формулы будет равен значению ЛОЖЬ, то появится сообщение об ошибке, в котором будет содержаться предупреждение, определенное во вкладке Сообщение об ошибке диалогового окна Проверка вводимых значений.

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

Тип ссылок на ячейки в формулах для проверки данных

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

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

1. Выделите диапазон В2:В10 таким образом, чтобы ячейка В2 стала активизированной.

2. Выберите команду ДанныеРабота с даннымиПроверка данных, чтобы открыть диалоговое окно Проверка вводимых значений.

3. Перейдите на вкладку Параметры и в списке Тип данных выберите Другой.

4. Введите следующую формулу в поле Формула (рис. 5) =ЕНЕЧЁТ(В2). В этой формуле применена функция ЕНЕЧЁТ, которая возвращает значение ИСТИНА, если ее аргумент является нечетным числом.

5. Перейдите на вкладку Сообщение об ошибке и выберите вид сообщения Останов. Также введите текст сообщения «Разрешается ввод только нечетных чисел».

6. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Проверка вводимых значений.

Рис. 5. Ввод формулы в диалоговое окно Проверка вводимых значений

Заметьте, что введенная формула содержит ссылку на верхнюю левую ячейку выделенного диапазона. Эта формула должна применяться ко всему диапазону ячеек, поэтому следует ожидать, что каждая ячейка этого диапазона содержит такую же формулу. Поскольку в формуле ссыпка на ячейку относительная, то эта формула изменяется для каждой отдельной ячейки диапазона В2:В10. Чтобы в этом удостовериться, поставьте курсор, например, в ячейку В5, и откройте диалоговое окно Проверка вводимых значений. В этом окне вы должны увидеть формулу =ЕНЕЧЁТ(В5)

В общем случае, когда вводится формула для проверки данных в диапазон ячеек, следует использовать относительную ссылку на активизированную ячейку, которой, как правило, является верхняя левая ячейка выделенного диапазона. Исключение составляют ситуации, когда надо сделать ссылку на некоторую конкретную ячейку. Например, вы хотите, чтобы в диапазон А1:В10 вводились только такие значения, которые превышают значение в ячейке С1. Для этого используется формула =А1>$С$1

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

Примеры формул для проверки данных

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

Ввод только текста. Для того чтобы разрешить ввод только текста (и запретить ввод числовых значений) в ячейку или диапазон, используется следующая формула: =ЕТЕКСТ(А1). Здесь предполагается, что А1 является активизированной ячейкой выделенного диапазона.

Ввод значений, больших, чем в предыдущей ячейке. Следующая формула проверки данных позволяет ввести число в ячейку только в том случае, если оно больше, чем значение в предыдущей ячейке: =А2>А1. В формуле предполагается, что активизированной ячейкой выделенного диапазона является ячейка А2. Заметьте, что эту формулу нельзя использовать в первой строке рабочего листа.

Ввод только уникальных значений. Следующая формула проверки вводимых данных не позволит пользователю ввести в диапазоне А1:С20 повторяющиеся значения: =СЧЁТЕСЛИ($А$1:$С$20;А1)=1. Здесь предполагается, что А1 является активизированной ячейкой выделенного диапазона. Обратите внимание на то, что в качестве первого аргумента функции СЧЁТЕСЛИ ($А$1:$С$20) используется абсолютная ссылка. Вторым аргументом (А1) является относительная ссылка, которая меняется для каждой ячейки выделенного диапазона. На рис. 6 показано, как работает эта формула. Здесь сделана попытка ввести в ячейку А5 значение 2, которое уже есть в диапазоне А1:С20.

Рис. 6. Использование средства проверки данных для предотвращения ввода дублирующихся значений

Ввод текста, начинающегося с буквы А. В следующей формуле используется прием, который позволяет проводить проверку по заданному символу. В данном случае формула вернет значение ИСТИНА, если ввести в ячейку строку, которая будет начинаться с буквы А (независимо от регистра): =ЛЕВСИМВ(А1)="а". В этой формуле предполагается, что активизированной ячейкой выделенного диапазона является ячейка А1.

Ниже приведена немного модифицированная формула проверки данных. С помощью этой формулы можно организовать ввод строки, которая состоит из пяти букв и начинается с буквы А:
=СЧЁТЕСЛИ (А1; "А????") =1

Возможно, вас также заинтересует Проверка формул в Excel, или что означает зеленый треугольник


[1] Цитируется по книге Джон Уокенбах. Microsoft Excel 2007. Библия пользователя. – М: ООО «И.Д. Вильямс», 2008. – С. 482–489.

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

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

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

  1. Выбрать ячейку для проверки и перейти в меню ФОРМУЛЫ.
    2
  2. Нажать на кнопку «Влияющие ячейки»
  3. При наличии ссылок на другие листы, мы увидим стрелку с указанием на другой лист.
    3
  4. Необходимо кликнуть два раза по стрелке и вызвать окно перехода.
    4
  5. В открывшемся окне, выбираем ссылку на необходимый лист и нажимаем ОК.
    5
  6. Программа выделит целевую ячейку, влияющую на наши расчеты.
    6

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

Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)

проверить работоспособность ссылок

ram

Дата: Четверг, 07.08.2014, 13:38 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 2


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Здравствуйте! Подскажите, как проверить каие ссылки рабочие, какие нет?
дана таблица каждому наименованию соответсвует ссылка, но некоторые ссылки «битые», как бы их вычислить не открывая все 5000 ссылок.

пример файла прилагаю.
спасибо!

К сообщению приложен файл:

1111.xlsx
(10.8 Kb)

 

Ответить

Формуляр

Дата: Четверг, 07.08.2014, 14:48 |
Сообщение № 2

Группа: Друзья

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

Замечаний:
0% ±


Excel 2003, 2013

Решение макросом.
Не открывая ссылку, всё равно не проверить.
[vba]

Код

Sub CheckUpHyperlinks(target As Range)
‘Проверка гиперссылок в заданном диапазоне
‘ставит ОК справа от рабочих ссылок
Dim one As Range
        On Error Resume Next    
        For Each one In target.Cells
            one.Hyperlinks(1).Follow
            If Err.Number = 0 Then one.Cells(1, 2) = «OK»
        Next one
        On Error GoTo 0
End Sub

[/vba]

PS: Открытые ссылки не закрываются и накапливаются в браузере. Доброкачественные ссылки могут не открыться из-за переполнения.
Поэтому 5000, видимо, нужно проверять кусками, каждый раз закрывая браузер.

К сообщению приложен файл:

1111.xls
(47.5 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал ФормулярЧетверг, 07.08.2014, 15:08

 

Ответить

krosav4ig

Дата: Четверг, 07.08.2014, 18:22 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

[vba]

Код

Private Function GetURLstatus(ByVal URL$) As Long
    ‘ функция проверяет наличие доступа к ресурсу URL$ (файлу или каталогу)
    ‘ возвращает код ответа сервера (число), либо 0, если ссылка ошибочная
    ‘ (200 — ресурес доступен, 404 — не найден, 403 — нет доступа, и т.д.)
    ‘ http://excelvba.ru/code/GetURLstatus
    On Error Resume Next: URL$ = Replace(URL$, «», «/»)
     Set xmlhttp = CreateObject(«Microsoft.XMLHTTP»)
     xmlhttp.Open «GET», URL, «False»
     xmlhttp.setRequestHeader «If-Modified-Since», «Sat, 1 Jan 2000 00:00:00 GMT»
     xmlhttp.send
     GetURLstatus = Val(xmlhttp.Status)
     Set xmlhttp = Nothing
End Function

Sub check()
     With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
     Dim rng As Range
     Dim cell As Range
     Set rng = Selection
     For Each cell In rng.Cells
         Select Case GetURLstatus(cell.Hyperlinks(1).Address)
             Case 200: cell.Offset(0, 1) = «OK»
             Case Else: cell.Offset(0, 1) = GetURLstatus(cell.Hyperlinks(1).Address)
         End Select
     Next
     With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub

[/vba]

К сообщению приложен файл:

11111.xls
(49.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

 

Ответить

Rama

Дата: Четверг, 02.11.2017, 14:25 |
Сообщение № 4

Группа: Пользователи

Ранг: Участник

Сообщений: 59


Репутация:

0

±

Замечаний:
20% ±


2010

del

Сообщение отредактировал RamaЧетверг, 02.11.2017, 14:42

 

Ответить


При вводе большого количества информации в ячейки таблицы легко допустить ошибку. В EXCEL существует инструмент для проверки введенных данных сразу после нажатия клавиши ENTER – Проверка данных.

Инструмент

Проверка данных

(

) не был бы столь популярным, если бы его функциональность ограничивалась бы только собственно проверкой. Ниже кратко перечислены основные приемы работы с этим инструментом.

A. Проверка введенных значений

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

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


  • Целое число

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

  • Действительное

    . В ячейку разрешен ввод только чисел, в том числе с десятичной частью (нельзя ввести текст, дату ввести можно);

  • Дата.

    Предполагается, что в ячейку будут вводиться даты начиная от 01.01.1900 до 31.12.9999. Подробнее о формате Дата  — в статье

    Как Excel хранит дату и время


  • Время

    . Предполагается, что в ячейку с

    Проверкой данный

    этого типа будет вводиться время. Например, на рисунке ниже приведено условие, когда в ячейку разрешено вводить время принадлежащее только второй половине дня, т.е. от 12:00:00 до 23:59:59. Вместо утомительного ввода значения 12:00:00 можно использовать его числовой эквивалент 0,5. Возможность ввода чисел вместо времени следует из того, что любой дате в EXCEL сопоставлено положительное целое число, а следовательно времени (т.к. это часть суток), соответствует дробная часть числа (например, 0,5 – это полдень). Числовым эквивалентом для 23:59:59 будет 0,99999.


  • Длина текста

    . В ячейку разрешен ввод только определенного количества символов. При этом ограничении можно вводить и числа и даты, главное, чтобы количество введенных символов не противоречило ограничению по длине текста. Например, при ограничении количества символов менее 5, нельзя ввести дату позднее 13/10/2173, т.к. ей соответствует число 99999, а 14/10/2173 — это уже 100000, т.е. 6 символов. Интересно, что при ограничении, например, менее 5 символов, вы не сможете ввести в ячейку формулу

    =КОРЕНЬ(2)

    , т.к. результат =1,4142135623731 (в зависимости от заданной в EXCEL точности), а вот

    =КОРЕНЬ(4)

    – сможете, ведь результат =2, а это только 1 символ.

  • Список

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

    шт;кг;кв.м;куб.м

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

    Именованную формулу

    . Пример приведен в статье

    Выпадающий (раскрывающийся) список


  • Другой

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

При выбранном типе

Другой,

в поле

Формула

нужно ввести формулу для расчета логического значения. Если оно принимает значение ИСТИНА, то такое значение разрешено вводить в ячейку, если ЛОЖЬ, то ваше значение ввести не получится. В качестве аргумента формулы нужно использовать ссылку на саму ячейку, к которой применяется

Проверка данных

или ссылку на зависящую от нее ячейку. Например,


Чтобы


Введите формулу


Пояснение

Ячейка

B2

содержала только текст

=

ЕТЕКСТ(B2)

В

Типе данных

нет возможности выбрать тип

Текст

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

Проверку данных

применить прямо к ячейке

B2

Допустить ввод значения в ячейку

B1

только в случае, если после ввода значение в ячейке

D1

будет больше 100, в

D2

меньше, чем 400

=

И(D1>100;D2<400)


Проверку данных

применяем к ячейке

B1

. При этом в ячейке

D1

введена формула

=B1*2

, а в

D2

– формула

=B1*3

. Хотя эта формула эквивалентна ограничению

Действительное

с диапазоном от 50 до 133,33, но при более сложных связях ячеек, этот прием может быть полезен

Значение в ячейке, содержащей возраст работника (

С1

), всегда должно быть больше числа полных лет работы (

D1

) плюс 18 (минимальный возраст приема на работу)

=

ЕСЛИ(C1>D1+18;ИСТИНА;ЛОЖЬ)

При заполнении таблицы данными о возрасте и стаже работы можно поставить эту проверку для обеих ячеек (

C1

и

D1

). Для этого нужно выделить сразу 2 ячейки, вызвать

Проверку данных

и немного модифицировать формулу

=ЕСЛИ($C1>$D1+18;ИСТИНА;ЛОЖЬ)

Все данные в диапазоне ячеек

A1:A20

содержали

уникальные

значения

=

СЧЁТЕСЛИ($A$1:$A$20;A1)=1

Или

=

ПОИСКПОЗ(A1;$A:$A;0)=СТРОКА(A1)

Необходимо выделить ячейки

А1:А20

, вызвать инструмент

Проверка данных

и ввести формулу. Вторую формулу можно использовать для всего столбца

А

, для этого необходимо выделить не диапазон, а весь столбец

А

Значение в ячейке, содержащей имя кода продукта (

B5

), всегда начиналось со стандартного префикса «ID-» и имело длину не менее 10 знаков.

=

И(ЛЕВСИМВ(B5;3)=»ID-«; ДЛСТР(B5)>9)

Проверку данных вводим для ячейки

B5

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

$A$1:$A$20

).

При использовании инструмента

Проверка данных

, предполагается, что в ячейку будут вводиться константы (

123, товар1, 01.05.2010

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

Условное форматирование

.


В.

Отображение комментария, если ячейка является текущей.

Используйте вкладку

Сообщение для вывода

, чтобы отображать комментарий.

В отличие от обычного примечания (

), которое пропадает после того, как курсор мыши уходит с ячейки (если не активна опция

Показать все примечания

), этот комментарий отображается всегда, когда ячейка выделена.


С.

Вывод подробного сообщения об ошибке.

После ввода ошибочного значения

Проверка данных

может отобразить подробное сообщение о том, что было сделано не так. Это некий аналог

Msgbox()

из

VBA

.


D.

Создание связанных диапазонов (списков)

Если в качестве

Типа данных

на вкладке

Параметры

мы выберем

Список

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

Связанный список

.


Е. Использование в правилах ссылок на другие листы

В EXCEL 2007 в

Проверке данных

, как и в

Условном форматировании

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

=Лист2!$A$1

. Позволяют обойти это ограничение использование

Имен

.

Если в

Проверке данных

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

А1

другого листа, то нужно сначала определить

Имя

для этой ячейки, а затем сослаться на это

имя

в правиле

Проверке данных

.

В Excel 2010, напротив, можно использовать правила проверки данных, ссылающиеся на значения на других листах. В Excel 2007 и Excel 97-2003 проверка данных этого типа не поддерживается и не отображается на листе. Однако все правила проверки данных остаются доступными в книге и применяются при повторном открытии книги в Excel 2010, если они не были изменены в Excel 2007 или Excel 97-2003.


F. Как срабатывает Проверка данных


Проверка данных

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

ENTER

. В этом случае появляется окно с описанием ошибки.

Если значения вставляются через

Буфер обмена

(

Вставить значения

) или с использованием сочетания клавиш

CTRL

+

D

(копирование значения из ячейки сверху) или копируются

Маркером заполнения

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

Проверки данных

, например если в ячейке источнике не определена

Проверка данных

, а данные из нее вставляются через

Буфер обмен

а с использованием комбинации клавиш

CTRL+V

.

Поясним на примере. Предположим, к ячейке

А1

применена

Проверка данных

с условием проверки

Другой

, где в поле формула введено

=СТРОКА(A1)=1

, т.е. для всех ячеек из первой строки условие

Проверки данных

будет принимать значение ИСТИНА, для других строк — ЛОЖЬ вне зависимости от содержания ячейки.

Теперь выделим ячейку

А2

и нажмем

CTRL+D

. Значение из

А1

скопируется в

А2

вместе с условием

Проверки данных

. Несмотря на то, что теперь условие

Проверки данных

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

Проверке данных

, нужно вызвать команду меню

Обвести неверные данные

(

). Ячейки с неверными данными будут обведены красными овалами. Теперь опять выделим ячеку

А2

и нажмем клавишу

F2

(войдем в режим Правки), затем нажмем

ENTER

— появится окно с сообщением, что введенное значение неверно.

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

Проверки данных

введем значение 4. Выделим эту ячейку, в

Строке формул

выделим значение 4 и скопируем его в

Буфер обмена

. Теперь выделим ячейку с

Проверкой данных

и нажмем

CTRL+V

. Значение вставилось в ячейку! Кроме того,

Проверка данных

осталась нетронутой в отличие от случая, когда через

Буфер обмена

, например, вставляется значение из WORD. Чтобы убедиться, что данные в ячейке не соответствуют условиям определенным в

Проверке данных

, нужно вызвать команду меню

Обвести неверные данные

(

).


G. Поиск ячеек с Проверкой данных

Если на листе много ячеек с

Проверкой данных

, то можно использовать инструмент

Выделение группы ячеек

(

).

Опция

Проверка данных

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

). При выборе переключателя

Всех

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

Этих

же

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

Понравилась статья? Поделить с друзьями:
  • Проверка длины строки excel
  • Проверка белорусской орфографии word
  • Проверка данных в excel как удалить
  • Проверка диапазона ячеек на пустоту excel
  • Проверка адекватности регрессионной модели в excel