Как сделать в excel проверку совпадений с введенными данными?

Поиск совпадений в двух списках

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

Для удобства, можно дать им имена, чтобы потом использовать их в формулах и ссылках. Для этого нужно выделить ячейки с элементами списка и на вкладке Формулы нажать кнопку Менеджер Имен — Создать (Formulas — Name Manager — Create) . Также можно превратить таблицы в «умные» с помощью сочетания клавиш Ctrl + T или кнопки Форматировать как таблицу на вкладке Главная (Home — Format as Table) .

Подсчет количества совпадений

Для подсчета количества совпадений в двух списках можно использовать следующую элегантную формулу:

В английской версии это будет =SUMPRODUCT(COUNTIF(Список1;Список2))

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

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

=СЧЁТЕСЛИ( Где_искать ; Что_искать )

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

Во-вторых, функция СУММПРОИЗВ (SUMPRODUCT) здесь выполняет две функции — суммирует вычисленные СЧЁТЕСЛИ совпадения и заодно превращает нашу формулу в формулу массива без необходимости нажимать сочетание клавиш Ctrl + Shift + Enter . Формула массива необходима, чтобы функция СЧЁТЕСЛИ в режиме с двумя аргументами-диапазонами корректно отработала свою задачу.

Вывод списка совпадений формулой массива

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

В английской версии это будет, соответственно:

Логика работы этой формулы следующая:

  • фрагмент СЧЁТЕСЛИ(Список2;Список1), как и в примере до этого, ищет совпадения элементов из первого списка во втором
  • фрагмент НЕ(СЧЁТЕСЛИ($E$1:E1;Список1)) проверяет, не найдено ли уже текущее совпадение выше
  • и, наконец, связка функций ИНДЕКС и ПОИСКПОЗ извлекает совпадающий элемент

Не забудьте в конце ввода этой формулы нажать сочетание клавиш Ctrl + Shift + Enter , т.к. она должна быть введена как формула массива.

Возникающие на избыточных ячейках ошибки #Н/Д можно дополнительно перехватить и заменить на пробелы или пустые строки «» с помощью функции ЕСЛИОШИБКА (IFERROR) .

Вывод списка совпадений с помощью слияния запросов Power Query

На больших таблицах формула массива из предыдущего способа может весьма ощутимо тормозить, поэтому гораздо удобнее будет использовать Power Query. Это бесплатная надстройка от Microsoft, способная загружать в Excel 2010-2013 и трансформировать практически любые данные. Мощь и возможности Power Query так велики, что Microsoft включила все ее функции по умолчанию в Excel начиная с 2016 версии.

Для начала, нам необходимо загрузить наши таблицы в Power Query. Для этого выделим первый список и на вкладке Данные (в Excel 2016) или на вкладке Power Query (если она была установлена как отдельная надстройка в Excel 2010-2013) жмем кнопку Из таблицы/диапазона (From Table) :

Excel превратит нашу таблицу в «умную» и даст ей типовое имя Таблица1. После чего данные попадут в редактор запросов Power Query. Никаких преобразований с таблицей нам делать не нужно, поэтому можно смело жать в левом верхнем углу кнопку Закрыть и загрузить — Закрыть и загрузить в. (Close & Load To. ) и выбрать в появившемся окне Только создать подключение (Create only connection) :

Затем повторяем то же самое со вторым диапазоном.

И, наконец, переходим с выявлению совпадений. Для этого на вкладке Данные или на вкладке Power Query находим команду Получить данные — Объединить запросы — Объединить (Get Data — Merge Queries — Merge) :

В открывшемся окне делаем три вещи:

  1. выбираем наши таблицы из выпадающих списков
  2. выделяем столбцы, по которым идет сравнение
  3. выбираем Тип соединения = Внутреннее (Inner Join)

После нажатия на ОК на экране останутся только совпадающие строки:

Ненужный столбец Таблица2 можно правой кнопкой мыши удалить, а заголовок первого столбца переименовать во что-то более понятное (например Совпадения). А затем выгрузить полученную таблицу на лист, используя всё ту же команду Закрыть и загрузить (Close & Load) :

Если значения в исходных таблицах в будущем будут изменяться, то необходимо не забыть обновить результирующий список совпадений правой кнопкой мыши или сочетанием клавиш Ctrl + Alt + F5 .

Макрос для вывода списка совпадений

Само-собой, для решения задачи поиска совпадений можно воспользоваться и макросом. Для этого нажмите кнопку Visual Basic на вкладке Разработчик (Developer) . Если ее не видно, то отобразить ее можно через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) .

В окне редактора Visual Basic нужно добавить новый пустой модуль через меню Insert — Module и затем скопировать туда код нашего макроса:

Воспользоваться добавленным макросом очень просто. Выделите, удерживая клавишу Ctrl , оба диапазона и запустите макрос кнопкой Макросы на вкладке Разработчик (Developer) или сочетанием клавиш Alt + F8 . Макрос попросит указать ячейку, начиная с которой нужно вывести список совпадений и после нажатия на ОК сделает всю работу:

Более совершенный макрос подобного типа есть, кстати, в моей надстройке PLEX для Microsoft Excel.

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

Проверка данных является неплохим инструментом Excel для контроля за вносимыми на листах изменениями, не прибегая к помощи VBA. С её помощью можно ограничить ввод в ячейку, разрешив вводить только даты либо время, либо только числа. Да к тому же еще и задать диапазон дат либо предел чисел(к примеру от 1 до 10).Применений, я думаю, можно придумать массу: для корректной работы многих формул требуются корректные исходные данные. Следовательно, мы можем с помощью Проверки данных разрешить пользователю вводить только тот тип и диапазон данных, который может обработать формула, не возвращая значение ошибки. Разберем поподробней.

Сей чудесный инструмент находится: Данные (Data)Проверка данных (Data Validation) . Должно появиться окно:

Для начала надо выделить ячейку(или диапазон ячеек) для которой необходимо установить проверку. Затем идем в Данные (Data)Проверка данных (Data Validation) .

Первая вкладка — Параметры (Settings)

В поле Тип данных (Allow) — выбирается непосредственно тип данных, который должен быть записан в ячейке. Всего доступно 8 типов: Любое значение, Целое число, Действительное, Список, Дата, Время, Длина текста, Другой (Any Value, Whole number, Decimal, List, Date, Time, Text lenght, Custom) . Пункт Любое значение (Any Value) установлен по умолчанию, проверка не осуществляется. Подробно про пункт Списки (List) и как их создавать можно посмотреть и почитать в статье Выпадающие списки. Там все подробно и с нюансами расписано про списки в проверке данных, поэтому в данной статье рассмотрим оставшиеся 6 типов. Если кратко, то при выборе пункта Список в ячейке появляется выпадающий список допустимых значений. И ввести можно только то значение, которое присутствует в списке

Остальные типы данных:

  • Целое число (Whole number) — говорит само за себя. После установки такой проверки в ячейку можно будет внести только целое число. Т.е. число, не имеющее дробного остатка( 9,1 например уже нельзя будет ввести). Так же нельзя будет ввести произвольный текст. Чаще всего подобная проверка применяется в полях для записи кол-ва штук товара и т.п. Т.е. там, где не может быть дробных значений.
  • Действительное (Decimal) — тоже, что и в предыдущем пункте, но ввести можно любое число — хоть целое, хоть дробное, но невозможно будет ввести текст

Примечание: применив данные типы проверок, внести в ячейку можно только число. Занести текст Excel уже не разрешит. Однако стоит помнить, что даты и время Excel воспринимает и хранит именно как ЧИСЛОВЫЕ значения, поэтому ввод даты и времени тоже будет разрешен, если он не противоречит остальным условиям проверки(см.ниже). Но для проверки Целое число разрешен будет ввод только даты, т.к. время Excel хранит как дробное значение(кроме 24:00:00 и 00:00:00, которые Excel воспринимает как 1 и 0 соответственно). Более подробно о восприятии Excel-ем данных читайте в статье Как Excel воспринимает данные?.

  • Дата (Date) — В ячейке может содержаться только значение даты. Дата может быть записана в любом формате, допустимом в текущей локализации Windows. Здесь тот же нюанс, что и проверкой на числа, только в обратную сторону — любая дата это число, поэтому по сути можно будет ввести любое целое число, которое может быть переведено Excel-м в дату.
  • Время (Time) — можно записывать значения в формате времени для текущей локализации и так же как с датой в ячейку можно будет вводить не только время, но и любые числа: целые или дробные
  • Длина текста (Text lenght) — позволяет ограничить количество вводимых в ячейку символов. Данные могут являться и числом и текстом и временем. Чем угодно, только должны соответствовать остальным условиям проверки. Часто применяется для контроля ввода данных по ИНН, КПП, БИК, артикулам и т.п.

    Если посмотреть на картинку в начале статьи, то можно увидеть еще три поля, помимо тех, которые я перечислил: Значение (Data) , Минимум (Minimum) и Максимум (Maximum) . Поле Значение содержит несколько вариантов проверки: Между, Вне, Равно, Больше, Меньше, Больше или равно, Меньше или равно (between, not between, equal to, not equal to, greater than, less than, greater than or equal to, less than or equal to) и доступно оно только при выборе Типа данных Целое число, Действительное, Дата, Время, Длина текста . Для других типов поле Значение недоступно. В зависимости от того, какой пункт выбран в поле Значение появляются дополнительные поля: Минимум и Максимум . При этом может быть только одно поле и название может быть иным. Например, для варианта Равно будет показано только одно поле и называться оно будет Значение (Value) . Но здесь нет никаких подводных камней и разобраться с этими полями можно не напрягаясь и без поллитры 🙂

    По сути все пункты довольно красноречивы и пояснять подробно каждый, думаю, смысла нет. Например, Между (between) — указывается интервал дат или чисел, в который должно входить условие(например целое число от 1 до 12: Минимум = 1, Максимум = 12). Если пользователь попытается ввести число за пределами указанного интервала(скажем число 0 , -3 или 14 ), то Excel выдаст сообщение об ошибке(см.ниже). Вариант Больше или равно (greater than or equal to) позволит вносить только положительные значения больше нуля, если указать в поле Минимум значение 1.
    Чуть большее внимание следует уделить варианту проверки Вне (not between) . При установленном значении Вне, в ячейку можно будет внести только данные, которые не входят в диапазон, указанный в полях Минимум и Максимум. Т.е. при тех же условиях от 1 до 12 ввести можно будет и 0 и -3 и 14 , но нельзя будет ввести 1 или 10.
    При этом в полях для ввода значений допускается указать ссылку на ячейку. Например, в ячейке A1 записана начальная дата приема заявок, в B1 — конечная дата. И надо установить в ячейках A2:A50 проверку на интервал дат, указанных как раз в A1 и B1 . Для этого выделяем ячейки A2:A50 и создаем в них проверку данных: Тип данных: Дата, Значение: Между, Начальная дата: = A1 , Конечная дата: = B1 . Теперь можно регулировать интервал без изменения самой проверки данных — просто изменяя значения ячеек A1 и B1 .

    Другой (Custom) — на мой взгляд самый интересный и самый мощный тип проверки. Здесь нам предоставляется возможность более широко контролировать ввод данных. Для заполнения есть только одно поле — Формула (Formula) . В него необходимо записать формулу и при каждом вводе значений в ячейку, Excel проверит введенное выражение на ИСТИНУ. Если быть точнее то Excel сначала вычислит формулу в этом поле ориентируясь на введенное в ячейку с проверкой данных значение, а потом проверит — возвращает ли формула значение ИСТИНА(TRUE). Если результатом будет ИСТИНА (TRUE) , то введенное значение будет сохранено в ячейке, а если ЛОЖЬ (FALSE) , то будет выдано окно с сообщением об ошибке:

    Приведу простой пример. В ячейку А1 введем число 1. Выделяем ячейку В1 — назначаем проверку данных-Другой. В поле Формула вписываем: = B1 = A1 . Теперь в ячейку В1 можно вписать только значение, которое полностью идентично значению в ячейке А1 .

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

    Вкладка Сообщение для ввода (Input Message)

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

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

    Вкладка Сообщение об ошибке (Error Alert)
    Здесь указывается отображать сообщение об ошибочном вводе или нет, и сам тип выводимого сообщения об ошибке.

    • Выводить сообщение об ошибке (Show error alert after invalid data is entered) — в большинстве случаев необходимо установить галочку. Если галочка снята, то проверка вводимых в ячейку данных не будет осуществляться.
    • Вид (Style)
      • Останов, Сообщение (Stop, Information) — можно ввести только разрешенные проверкой значения. Различается только вид сообщения(пример сообщения Останов приведен на рисунке выше).
      • Предупреждение (Warning) — в ячейку можно ввести любое значение, но при вводе значения, противоречащего проверке, появиться предупреждающее сообщение с подтверждением ввода данных.
    • Заголовок (Title) — текст, который будет показан в заголовке сообщения об ошибке. Если не указан, то в заголовке будет написано Microsoft Excel.
    • Сообщение (Error message) — непосредственно текст самого сообщения об ошибке. Если не указан, то будет показан текст примерно следующего содержания:
      Это значение не соответствует ограничениям по проверке данных, установленным для этой ячейки
      (This value doesn’t match the data validation restrictions defined for this cell)

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

    Как скопировать проверку данных на другие ячейки
    Все очень просто — копируем ячейку с нужной проверкой данных -выделяем ячейки для создания в них такого же условия -Правая кнопка мыши —Специальная вставка (Paste Special) -в окне выбираем Условия на значения (Validation)Ок:

    Как удалить проверку данных из ячеек
    Выделяем необходимые ячейки -вкладка Данные (Data)Проверка данных (Data Validation) . В поле Тип данных (Allow) устанавливаем Любое значение (Any Value)Ок.

    Маленькая хитрость использования проверки данных
    Если проверка данных на ячейки была установлена уже после того, как данные были внесены, то очень неплохо понять, все ли данные соответствуют условиям проверки. Сделать это несложно. После того, как ячейкам была назначена проверка данных переходим на вкладку Данные (Data)Проверка данных (Data Validation) -раскрываем меню и выбираем Обвести неверные данные (Circle Invalid Data) . Все ячейки, данные в которых не соответствуют условиям проверки данных будут обведены красной линией:

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

    Сразу после исправления неверных значений на те, которые есть в списке обводка исчезает. Если не все значения надо исправлять, а обводку тем не менее надо удалить, то после всех нужных правок просто переходим на вкладку Данные (Data)Проверка данных (Data Validation) -раскрываем меню и выбираем Удалить обводку неверных данных (Clear Validation Circles)

    Статья помогла? Поделись ссылкой с друзьями!

    Проверка данных в Excel – для тех, кто ценит свое время

    Привет всем. Как часто Вы сталкиваетесь с таблицами общего пользования, которые заполняют несколько сотрудников? Например, Вы формируете базу данных в Эксель, и всю информацию вносит несколько человек. Ошибок не избежать, некорректные данные часто проскакивают в таблицы. Вот если бы Excel мог проверить их перед внесением и указать на ошибку…

    А он может! В программу встроен мощный инструмент под названием «Проверка данных», который минимизирует ошибки внесения информации.

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

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

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

    На вкладке «Параметры» нужно задать условие для проверки в поле «Тип данных». Есть 8 типов условий для проверки:

    1. Любое значение – проверка данных отключена
    2. Целое число – можно ввести лишь целое число с дополнительным критерием;
    3. Действительное число – любое действительное число с дополнительным критерием
    4. Список – выбрать значение из заранее заданного списка
    5. Дата – ввести только дату, удовлетворяющую дополнительному критерию
    6. Время – ввести время с дополнительным условием
    7. Длина текста – ввести текст определенной длины
    8. Другой – ввести значение, которое удовлетворяет записанному вручную логическому выражению

    В этом окне можно установить еще две галки:

    • Игнорировать пустые ячейки – не применять условие к пустым ячейкам
    • Распространить изменения на другие ячейки с тем же условием – найти ячейки с аналогичными условиями и применить к ним такие же изменения

    На вкладке «Сообщение для ввода» введите подсказку о том, какие данные нужно внести в ячейку.

    На вкладке «Сообщение об ошибке выберите событие, которое произойдет при введении неправильных данных. Сначала сделаем выбор в списке «Вид»:

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

    После этого запишем заголовок и основной текст для окна-предупреждения.

    А теперь поговорим детальнее о каждом из видов условий.

    Условие на целое число в Excel

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

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

    Условие на действительное значение

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

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

    Чтобы задать список, опишите его в поле источник. Это можно сделать несколькими способами:

    • Записать перечень в ячейках на листе книги, а в поле «Источник» указать ссылку на этот массив
    • Создать именованный массив, в поле «Источник» указать его имя
    • Перечислить пункты прямо в поле «Источник» через точку с запятой

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

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

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

    Длина текста

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

    Этот способ проверки самый гибкий. В строке «Формула» Можно задать свою логическую формулу для проверки, если ни один из предыдущих способов проверки Вас не устраивает. Например, чтобы в ячейку А1 вносили только коды, начинающиеся с символов “SUV”, и содержащие 12 символов, внесем в поле формулу: =И(ЛЕВСИМВ(A1;3)=»SUV»;ДЛСТР(A1)=12) . Лишь при выполнении этого правила значение будет считаться верным.

    Напомню, функция ЛЕВСИМВ возвращает заданное количество символов слева направо, а ДЛСТР – считает количество символов в ячейке.

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

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

    Чтобы убрать выделения без исправления, в этом же меню выберите «Удалить обводку неверных данных».

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

    Понравилась статья? Считаете ее полезной? Поделитесь с другом – кликните на кнопках социальных сетей, или просто перешлите ссылку!

    Я же отправляюсь писать новый важный пост, на этот раз про создание структуры таблицы. Не пропустите, особенно если Ваши таблицы большие и сложные. До встречи!

    Как найти совпадения в Excel

    Элен Брэдли объясняет тонкости работы с функцией ВПР в Microsoft Excel при поиске данных в таблице.

    • Основы
    • Синтаксис функции ВПР
    • ВПР в действии
    • Работа с точными совпадениями
    • Используем проверку данных
    • Сортируем данные

    В Microsoft Excel есть несколько функций поиска, среди них VLOOKUP (ВПР), очень похожая на нее функция HLOOKUP (ГПР) и LOOKUP (ПРОСМОТР). Функция ВПР используется для того, чтобы искать данные в таблице. Она выполняет поиск искомого значения по первому столбцу таблицы и возвращает соответствующее значение из другого столбца.

    Когда данные расположены по-другому, используйте ГПР, чтобы найти нужное значение в верхней строке таблицы и возвратить соответствующее значение из заданной строки, расположенной ниже. Функция ПРОСМОТР имеет две формы — векторную и массива, и может возвращать значение из одного столбца, одной строки или из массива (аналог ВПР и ГПР). Из этих трёх функций, вероятнее всего, Вы будете использовать ВПР гораздо чаще, чем остальные. Именно на ней я сфокусируюсь в этой статье. В целом, если Вы поймете и сможете применить функцию ВПР, то сможете справиться и с ГПР.

    Синтаксис функции ВПР

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

    Когда Вы указываете диапазон таблицы, Excel ищет указанное Вами искомое значение в первом столбце этого диапазона. Как правило, это заголовки строк Ваших данных. Чтобы указать номер столбца, Вам достаточно указать его порядковый номер в заданном диапазоне. Например, 1 — это первый столбец диапазона, 2 — это следующий за ним вправо и так далее. Если Вы укажете номер, выходящий за границы заданного диапазона, например, меньше 1 или больше количества столбцов в диапазоне, получите сообщение об ошибке.

    У этой функции существует ещё один не обязательный аргумент, который позволяет искать приблизительное или точное совпадение искомого значения, причем первый режим используется по умолчанию. В случае если Вы устанавливаете режим поиска точного совпадения, т.е. последний аргумент равен FALSE (ЛОЖЬ), таблица может быть не отсортирована. Если же Вы устанавливаете режим поиска неточного совпадения, т.е. последний аргумент не указан или равен TRUE (ИСТИНА), то необходимо отсортировать таблицу в порядке возрастания, иначе функция может возвратить неправильный результат. При поиске неточного совпадения, Excel ищет значение равное искомому, а если его нет — использует ближайшее, которое меньше искомого.

    Итак, для примера, в этой таблице представлены значения веса в фунтах (Lbs weight), а также стоимость обработки и перевозки. Мы можем использовать функцию ВПР, чтобы найти значение веса и определить стоимость обработки (Handling) и перевозки (Shipping) партии товара такого веса. Конечно же, вес большинства партий товара не будет иметь такие же ровные значения, поэтому мы используем в качестве последнего аргумента TRUE (ИСТИНА), либо вовсе не указываем его. В таком случае наша формула найдёт результат, даже без точного совпадения. Не забываем сделать сортировку таблицы, чтобы данные в первом столбце располагались в порядке возрастания.

    ВПР в действии

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

    Чтобы для значения из ячейки B11, которое является весом партии товара в фунтах (в данном случае 1.5 фунта), возвратить стоимость обработки из столбца Handling, воспользуемся вот такой формулой:

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

    Теперь при создании формулы Вы можете использовать имя диапазона. Вот здесь вместо адреса диапазона указано его имя:

    =VLOOKUP(B12,shipping_and_handling,2) =ВПР(B12; shipping_and_handling;2)

    Мы можем адаптировать формулу из столбца Handling для расчёта значений в столбце Shipping. В данном случае поменяется только номер столбца. Для Shipping — это значение 3:

    Используя предыдущий пример, мы сможем найти соответствия для весов в 11, 12 или 25 фунтов, хоть они и отсутствуют в таблице. Возможность находить ближайшее значение, которое меньше искомого, выглядит очень привлекательной. Однако, существуют некоторые оговорки при использовании этой формулы. Одна из них — стартовое значение в таблице должно быть равно , что собственно и сделано у нас. Это позволяет исключить ошибки, когда используется вес, к примеру, меньше 1 фунта.

    Работа с точными совпадениями

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

    В данном примере мы ищем название в столбце A и возвращаем цену из столбца 2 или 3, в зависимости от указанного размера ковра — средний (M) или большой (L). В этой ситуации нам необходимо использовать функцию IF (ЕСЛИ), чтобы определить, какой номер столбца нужно использовать. Формула поиска будет выглядеть следующим образом:

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

    На практике желательно сделать так, чтобы пользователь гарантированно вводил правильное название ковра и его размер. Вы можете реализовать это, используя выпадающий список. Для этого выделите ячейки, в которые пользователь будет вводить свои заказы, например, столбец A или B. Перейдите Data > Data Validation > Data Validation (Данные > Проверка данных > Проверка данных). В появившемся диалоговом окне на вкладке Settings (Параметры) в поле Allow (Тип данных) выберите значение List (Список). Кликните в поле Source (Источник) и выделите ячейки от A2 до A4, в которых содержится список с названиями ковров. Нажмите ОК.

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

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

    Сортируем данные

    Если Вы работаете с приблизительными совпадениями, то должны выполнить сортировку в таблице. Для этого выделите весь диапазон с данными, включая заголовки строк в первом столбце. Заголовки столбцов (шапку) можно не выделять. На вкладке Data (Данные) нажмите команду Sort (Сортировка), откроется одноименное диалоговое окно.

    В строке Sort By (Сортировать по) укажите параметры сортировки. В первом выпадающем списке выберите столбец, по которому необходимо выполнить сортировку, в нашем случае это первый столбец таблицы. Во втором выберите Values (Значения), а в третьем укажите порядок сортировки по возрастанию. Если вместе с данными, Вы выделили шапку таблицы, не забудьте поставить галочку My data has headers (Мои данные содержат заголовки). Нажмите ОК.

    Таблица с данными будет отсортирована так, что функция ВПР сможет работать с ней корректно.

    Урок подготовлен для Вас командой сайта office-guru.ru Источник: https://www.ablebits.com/office-addins-blog/2011/12/14/lookup-excel-functions-vlookup/ Перевел: Андрей Антонов Правила перепечатки Еще больше уроков по Microsoft Excel

    Проверка данных в excel сложные формулы. Excel

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

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

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

    У нас имеется лист номенклатуры товаров магазина:

    Теперь проверим. В ячейку B2 введите натуральное число, а в ячейку B3 отрицательное. Как видно в ячейке B3 действие оператора набора – заблокировано. Отображается сообщение об ошибке: «Введенное значение неверно».

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

    Чтобы удалить проверку данных в Excel нужно: выделить соответствующий диапазон ячеек, выбрать инструмент и нажать на кнопку «Очистить все» (указано на втором рисунке).

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

    Данным способом проверяются данные только в процессе ввода. Если данные уже введенные они будут не проверенные. Например, в столбце B нельзя ввести текст после установки условий заполнения в нем ячеек. Но заголовок в ячейке B1 «Цена» остался без предупреждения об ошибке.

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

    Чтобы проверить соответствуют ли все введенные данные, определенным условиям в столбце и нет ли там ошибок, следует использовать другой инструмент: «Данные»-«Проверка данных»-«Обвести неверные данные».

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

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

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

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

    • Данные ошибочного типа — например, ввод текстовой строки туда, где необходим ввод числа.
    • Данные, выходящие за пределы допустимых значений : например, ввод числа 200 в ячейку, требующую ввода числа от 0 до 100.

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

    Для задания такой проверки выполните следующие шаги:

    1. Выделите одну или несколько ячеек, к которым необходимо применить правило проверки.
    2. Выберите вкладку Данные ленты инструментов, далее нажмите на кнопку Проверка данных . Вы увидите окно Проверка вводимых значений — см. рис. 1.
    3. В закладке Параметры в раскрывающемся меню Тип данных вы можете задать различные типы допустимых для ввода данных. Любое значение означает возможность задания любого типа данных. В случае выбора других значений из данного выпадающего списка вы сможете задать также дополнительные параметры, к примеру, указать диапазон, в который должно попадать значение.
    4. В случае если ячейка из выделенного диапазона уже имеет правило, будет доступна галочка Распространять изменения на другие ячейки с тем же условием . При ее выборе правила применятся и к остальным выбранным ячейкам.
    5. Если вы хотите, чтобы при выборе ячейки на экране появлялось сообщение с указанием, выберите закладку Сообщение для ввода . Здесь вы сможете ввести заголовок и сам текст сообщения.
    6. Для появления сообщения об ошибке при вводе некорректных данных, перейдите на закладку Сообщение об ошибке . Здесь, помимо заголовка и текста сообщения, вы можете выбрать стиль ошибки. Только в случае типа Останов (остановка) пользователь не сможет проигнорировать данное сообщение и ему придется ввести правильные данные.
    7. Нажмите ОК для подтверждения изменений.

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

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

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

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

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

    • Целое число . В ячейку разрешен ввод только целых чисел, причем принадлежащих определенному диапазону;
    • Действительное . В ячейку разрешен ввод только чисел, в том числе с десятичной частью (нельзя ввести текст, дату ввести можно);
    • Дата. Предполагается, что в ячейку будут вводиться даты начиная от 01.01.1900 до 31.12.9999. Подробнее о формате Дата — в статье
    • Время . Предполагается, что в ячейку с Проверкой данный этого типа будет вводиться время. Например, на рисунке ниже приведено условие, когда в ячейку разрешено вводить время принадлежащее только второй половине дня, т.е. от 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-х значений из списка вам выбрать не удастся. В источнике можно указать диапазон ячеек, содержащий заранее сформированный список или ссылку на . Пример приведен в статье
    • Другой . В ячейку разрешен ввод значений удовлетворяющих более сложным критериям. Для задания критериев необходимо использовать формулу. Рассмотрим это условие подробнее.

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

    Читать еще:  Как сделать метры квадратные для таблицы в excel?
  • Ссылка на основную публикацию
    Adblock
    detector