Поиск совпадений в двух списках
Тема сравнения двух списков поднималась уже неоднократно и с разных сторон, но остается одной из самых актуальных везде и всегда. Давайте рассмотрим один из ее аспектов — подсчет количества и вывод совпадающих значений в двух списках. Предположим, что у нас есть два диапазона данных, которые мы хотим сравнить:
Для удобства, можно дать им имена, чтобы потом использовать их в формулах и ссылках. Для этого нужно выделить ячейки с элементами списка и на вкладке Формулы нажать кнопку Менеджер Имен — Создать (Formulas — Name Manager — Create). Также можно превратить таблицы в «умные» с помощью сочетания клавиш Ctrl+T или кнопки Форматировать как таблицу на вкладке Главная (Home — Format as Table).
Подсчет количества совпадений
Для подсчета количества совпадений в двух списках можно использовать следующую элегантную формулу:
В английской версии это будет =SUMPRODUCT(COUNTIF(Список1;Список2))
Давайте разберем ее поподробнее, ибо в ней скрыто пару неочевидных фишек.
Во-первых, функция СЧЁТЕСЛИ (COUNTIF). Обычно она подсчитывает количество искомых значений в диапазоне ячеек и используется в следующей конфигурации:
=СЧЁТЕСЛИ(Где_искать; Что_искать)
Обычно первый аргумент — это диапазон, а второй — ячейка, значение или условие (одно!), совпадения с которым мы ищем в диапазоне. В нашей же формуле второй аргумент — тоже диапазон. На практике это означает, что мы заставляем Excel перебирать по очереди все ячейки из второго списка и подсчитывать количество вхождений каждого из них в первый список. По сути, это равносильно целому столбцу дополнительных вычислений, свернутому в одну формулу:
Во-вторых, функция СУММПРОИЗВ (SUMPRODUCT) здесь выполняет две функции — суммирует вычисленные СЧЁТЕСЛИ совпадения и заодно превращает нашу формулу в формулу массива без необходимости нажимать сочетание клавиш Ctrl+Shift+Enter. Формула массива необходима, чтобы функция СЧЁТЕСЛИ в режиме с двумя аргументами-диапазонами корректно отработала свою задачу.
Вывод списка совпадений формулой массива
Если нужно не просто подсчитать количество совпадений, но и вывести совпадающие элементы отдельным списком, то потребуется не самая простая формула массива:
В английской версии это будет, соответственно:
=INDEX(Список1;MATCH(1;COUNTIF(Список2;Список1)*NOT(COUNTIF($E$1:E1;Список1));0))
Логика работы этой формулы следующая:
- фрагмент СЧЁТЕСЛИ(Список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):
В открывшемся окне делаем три вещи:
- выбираем наши таблицы из выпадающих списков
- выделяем столбцы, по которым идет сравнение
- выбираем Тип соединения = Внутреннее (Inner Join)
После нажатия на ОК на экране останутся только совпадающие строки:
Ненужный столбец Таблица2 можно правой кнопкой мыши удалить, а заголовок первого столбца переименовать во что-то более понятное (например Совпадения). А затем выгрузить полученную таблицу на лист, используя всё ту же команду Закрыть и загрузить (Close & Load):
Если значения в исходных таблицах в будущем будут изменяться, то необходимо не забыть обновить результирующий список совпадений правой кнопкой мыши или сочетанием клавиш Ctrl+Alt+F5.
Макрос для вывода списка совпадений
Само-собой, для решения задачи поиска совпадений можно воспользоваться и макросом. Для этого нажмите кнопку Visual Basic на вкладке Разработчик (Developer). Если ее не видно, то отобразить ее можно через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon).
В окне редактора Visual Basic нужно добавить новый пустой модуль через меню Insert — Module и затем скопировать туда код нашего макроса:
Sub Find_Matches_In_Two_Lists() Dim coll As New Collection Dim rng1 As Range, rng2 As Range, rngOut As Range Dim i As Long, j As Long, k As Long Set rng1 = Selection.Areas(1) Set rng2 = Selection.Areas(2) Set rngOut = Application.InputBox(Prompt:="Выделите ячейку, начиная с которой нужно вывести совпадения", Type:=8) 'загружаем первый диапазон в коллекцию For i = 1 To rng1.Cells.Count coll.Add rng1.Cells(i), CStr(rng1.Cells(i)) Next i 'проверяем вхождение элементов второго диапазона в коллекцию k = 0 On Error Resume Next For j = 1 To rng2.Cells.Count Err.Clear elem = coll.Item(CStr(rng2.Cells(j))) If CLng(Err.Number) = 0 Then 'если найдено совпадение, то выводим со сдвигом вниз rngOut.Offset(k, 0) = rng2.Cells(j) k = k + 1 End If Next j End Sub
Воспользоваться добавленным макросом очень просто. Выделите, удерживая клавишу Ctrl, оба диапазона и запустите макрос кнопкой Макросы на вкладке Разработчик (Developer) или сочетанием клавиш Alt+F8. Макрос попросит указать ячейку, начиная с которой нужно вывести список совпадений и после нажатия на ОК сделает всю работу:
Более совершенный макрос подобного типа есть, кстати, в моей надстройке PLEX для Microsoft Excel.
Ссылки по теме
- Поиск различий в двух списках Excel
- Слияние двух списков без дубликатов (3 способа)
- Что такое макросы, как их использовать, куда копировать код макросов на Visual Basic
Skip to content
В статье предлагается несколько различных формул для выполнения поиска в двумерном массиве значений Excel. Просмотрите эти варианты и выберите наиболее для вас подходящий.
При поиске данных в электронных таблицах Excel чаще всего вы будете искать вертикально в столбцах или горизонтально в строках. Но иногда вам нужно просматривать сразу два условия – как строки, так и столбцы. Другими словами, вы стремитесь найти значение на пересечении определенной строки и столбца. Это называется матричным поиском (также известным как двумерный или поиск в диапазоне). Далее показано, как это можно сделать различными способами.
- Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
- Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
- Функция ПРОСМОТРX для поиска в строках и столбцах
- Формула СУММПРОИЗВ для поиска по строке и столбцу
- Поиск в матрице с именованными диапазонами
Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
Самый популярный способ выполнить двусторонний поиск в Excel — использовать комбинацию ИНДЕКС с двумя ПОИСКПОЗ. Это разновидность классической формулы ПОИСКПОЗ ИНДЕКС , к которой вы добавляете еще одну функцию ПОИСКПОЗ, чтобы получить номера строк и столбцов:
ИНДЕКС( массив_данных ; ПОИСКПОЗ( значение_вертикальное ; диапазон_поиска_столбец ; 0), ПОИСКПОЗ( значение_горизонтальное ; диапазон_поиска_строка ; 0))
В этом способе, как и во всех остальных, мы используем поиск по двум условиям. Первое из них должно обнаружить совпадение в определенном столбце (в заголовках строк), а второе – в определенной строке (то есть, в заголовках столбцов). В результате мы имеем строку и столбец, которые соответствуют заданным условиям. А на пересечении их как раз и будут находиться искомые данные.
В качестве примера составим формулу для получения количества проданного товара за определённый период времени из таблицы, которую вы можете видеть ниже. Для начала определим все аргументы:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Диапазон_поиска_столбец – A2:A11 (заголовки строк: названия напитков)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — B1:E1 (заголовки столбцов: временные периоды)
Соедините все аргументы вместе, и вы получите следующую формулу для поиска числа в диапазоне:
=ИНДЕКС(B2:E11; ПОИСКПОЗ(H1;A2:A11;0); ПОИСКПОЗ(H2;B1:E1;0))
Как работает эта формула?
Хотя на первый взгляд это может показаться немного сложным, логика здесь простая. Функция ИНДЕКС извлекает значение из массива данных на основе номеров строк и столбцов, а две функции ПОИСКПОЗ предоставляют ей эти номера:
ИНДЕКС( B2:E11; номер_строки ; номер_столбца )
Здесь мы используем способность ПОИСКПОЗ возвращать относительную позицию значения в искомом массиве .
Итак, чтобы получить номер строки, мы ищем нужный нам товар (H1) в заголовках строк (A2:A11):
ПОИСКПОЗ(H1;A2:A11;0)
Чтобы получить номер столбца, мы ищем нужную нам неделю (H2) в заголовках столбцов (B1:E1):
ПОИСКПОЗ(H2;B1:E1;0)
В обоих случаях мы ищем точное совпадение, присваивая третьему аргументу значение 0.
В этом примере первое ПОИСКПОЗ возвращает 2, потому что нужный товар (Sprite) находится в ячейке A3, которая является второй по счёту в диапазоне A2:A11. Второй ПОИСКПОЗ возвращает 3, так как «Неделя 3» находится в ячейке D1, которая является третьей ячейкой в B1:E1.
С учетом вышеизложенного формула сводится к:
ИНДЕКС(B2:E11; 2 ; 3 )
Она возвращает число на пересечении второй строки и третьего столбца в матрице B2:E4, то есть в ячейке D3.
Думаю, вы понимаете, что аналогичным образом можно производить поиск в двумерном массиве Excel не только числа, но и текста. Тип данных здесь не имеет значения.
Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
Другой способ выполнить матричный поиск в Excel — использовать комбинацию функций ВПР и ПОИСКПОЗ:
ВПР( значение_вертикальное ; массив_данных ; ПОИСКПОЗ( значение_горизонтальное , диапазон_поиска_строка , 0), ЛОЖЬ)
Для нашего образца таблицы формула принимает следующий вид:
=ВПР(H1; A2:E11; ПОИСКПОЗ(H2;A1:E1;0); ЛОЖЬ)
Где:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — А1:E1 (заголовки столбцов: временные периоды)
Основой формулы является функция ВПР, настроенная на точное совпадение (последний аргумент имеет значение ЛОЖЬ). Она ищет заданное значение (H1) в первом столбце массива (A2:E11) и возвращает данные из другого столбца в той же строке. Чтобы определить, из какого столбца вернуть значение, вы используете функцию ПОИСКПОЗ, которая также настроена на точное совпадение (последний аргумент равен 0):
ПОИСКПОЗ(H2;A1:E1;0)
ПОИСКПОЗ ищет текст из H2 в заголовках столбцов (A1:E1) и указывает относительное положение найденной ячейки. В нашем случае нужная неделя (3-я) находится в D1, которая является четвертой по счету в массиве поиска. Итак, число 4 идет в аргумент номер_столбца функции ВПР:
=ВПР(H1; A2:E11; 4; ЛОЖЬ)
Далее ВПР находит точное совпадение H1 со значением в A3 и возвращает значение из 4-го столбца в той же строке, то есть из ячейки D3.
Важное замечание! Чтобы формула работала корректно, диапазон_поиска (A2:E11) функции ВПР и диапазон_поиска (A1:E1) функции ПОИСКПОЗ должны иметь одинаковое количество столбцов. Иначе число, переданное в номер_столбца, будет неправильным (не будет соответствовать положению столбца в массиве данных).
Функция ПРОСМОТРX для поиска в строках и столбцах
Недавно Microsoft представила еще одну функцию в Excel, которая призвана заменить все существующие функции поиска, такие как ВПР, ГПР и ИНДЕКС+ПОИСКПОЗ. Помимо прочего, ПРОСМОТРX может смотреть на пересечение определенной строки и столбца:
ПРОСМОТРX( значение_вертикальное ; диапазон_поиска_столбец ; ПРОСМОТРX( значение_горизонтальное ; диапазон_поиска_строка ; массив_данных ))
Для нашего примера набора данных формула выглядит следующим образом:
=ПРОСМОТРX(H1; A2:A11; ПРОСМОТРX(H2; B1:E1; B2:E11))
Примечание. В настоящее время ПРОСМОТРX — это функция, доступная только подписчикам Office 365 и более поздних версий.
В формуле используется функция ПРОСМОТРX для возврата всей строки или столбца. Внутренняя функция ищет целевой период времени в строке заголовка и возвращает все значения для этой недели (в данном примере для 3-й). Эти значения переходят в аргумент возвращаемый_массив внешнего ПРОСМОТРX:
=ПРОСМОТРX(H1; A2:A11; {544:87:488:102:87:433:126:132:111:565})
Внешняя функция ПРОСМОТРX ищет нужный товар в заголовках столбцов и извлекает значение из той же позиции из возвращаемого_массива.
Формула СУММПРОИЗВ для поиска по строке и столбцу
Функция СУММПРОИЗВ чрезвычайно универсальна — она может делать множество вещей, выходящих за рамки ее предназначения, особенно когда речь идет об оценке нескольких условий.
Чтобы найти значение на пересечении определенных строки и столбца, используйте эту общую формулу:
СУММПРОИЗВ ( диапазон_поиска_столбец = значение_вертикальное ) * ( диапазон_поиска_строка = значение_горизонтальное), массив_данных )
Чтобы выполнить поиск данных в массиве по строке и столбцу в нашем наборе данных, формула выглядит следующим образом:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2); B2:E11)
Приведенный ниже вариант также будет работать:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2)*B2:E11)
Теперь поясним подробнее. В начале мы сравниваем два значения поиска с заголовками строк и столбцов (целевой товар в H1 со всеми наименованиями в A2: A11 и целевой период времени в H2 со всеми неделями в B1: E1):
(A2:A11=H1)*(B1:E1=H2)
Это дает нам два массива значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает совпадения:
{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}) * ({ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ}
Операция умножения преобразует значения ИСТИНА и ЛОЖЬ в 1 и 0 и создает матрицу из 4 столбцов и 10 строк (строки разделяются двоеточием, а каждый столбец данных — точкой с запятой):
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0}
Функция СУММПРОИЗВ умножает элементы приведенного выше массива на элементы B2:E4, находящихся в тех же позициях:
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0; 0;0:0;0;0;0:0;0;0;0:0;0;0;0} * {455;345;544;366:65;77;87;56:766; 655;488;865:129;66;102;56:89;141;87;89:566;511;433;522:154; 144;126; 162:158;165;132;155:112;143;111; 125:677;466;565;766})
И поскольку умножение на ноль дает в результате ноль, остается только элемент, соответствующий 1 в первом массиве:
=СУММПРОИЗВ({0;0;0;0:0;0;87;0:0;0;0;0:0;0;0;0:0;0;0;0:0; 0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0})
Наконец, СУММПРОИЗВ складывает все элементы результирующего массива и возвращает значение 87.
Примечание . Если в вашей таблице несколько заголовков строк и/или столбцов с одинаковыми именами, итоговый массив будет содержать более одного числа, отличного от нуля. И все эти числа будут суммированы. В результате вы получите сумму значений, удовлетворяющую обоим критериям. Это то, что отличает формулу СУММПРОИЗВ от ПОИСКПОЗ и ВПР, которые возвращают только первое найденное совпадение.
Поиск в матрице с именованными диапазонами
Еще один достаточно простой способ поиска в массиве в Excel — использование именованных диапазонов. Рассмотрим пошагово:
Шаг 1. Назовите столбцы и строки
Самый быстрый способ назвать каждую строку и каждый столбец в вашей таблице:
- Выделите всю таблицу (в нашем случае A1:E11).
- На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш Ctrl + Shift + F3.
- В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».
Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:
- Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (
Ctrl + F3
). Если некоторые имена отсутствуют, определите их вручную. - Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.
Шаг 2. Создание формулы поиска по матрице
Чтобы получить значение из матрицы на пересечении определенной строки и столбца, просто введите одну из следующих общих формул в пустую ячейку:
=имя_строки имя_столбца
Или наоборот:
=имя_столбца имя_строки
Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:
=Sprite неделя_3
То есть, имена диапазонов здесь разделены пробелом, который в данном случае является оператором пересечения массивов.
Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:
- В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
- Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
- После имени строки введите пробел , который в данном случае работает как оператор пересечения.
- Введите имя целевого столбца ( в нашем случае неделя_3 ).
- Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:
Ваш поиск нужной ячейки в массиве выполнен, найден результат 87.
Вот какими способами можно выполнять поиск в массиве значений – в строках и столбцах таблицы Excel. Я благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге.
Еще несколько материалов по теме:
Функция ПОИСКПОЗ в Excel используется для поиска точного совпадения или ближайшего (меньшего или большего заданному в зависимости от типа сопоставления, указанного в качестве аргумента) значения заданному в массиве или диапазоне ячеек и возвращает номер позиции найденного элемента.
Примеры использования функции ПОИСКПОЗ в Excel
Например, имеем последовательный ряд чисел от 1 до 10, записанных в ячейках B1:B10. Функция =ПОИСКПОЗ(3;B1:B10;0) вернет число 3, поскольку искомое значение находится в ячейке B3, которая является третьей от точки отсчета (ячейки B1).
Данная функция удобна для использования в случаях, когда требуется вернуть не само значение, содержащееся в искомой ячейке, а ее координату относительно рассматриваемого диапазона. В случае использования для констант массивов, которые могут быть представлены как массивы элементов «ключ» — «значение», функция ПОИСКПОЗ возвращает значение ключа, который явно не указан.
Например, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит элементы, которые можно представить как: 1 – «виноград», 2 – «яблоко», 3 – «груша», 4 – «слива», где 1, 2, 3, 4 – ключи, а названия фруктов – значения. Тогда функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет значение 2, являющееся ключом второго элемента. Отсчет выполняется не с 0 (нуля), как это реализовано во многих языках программирования при работе с массивами, а с 1.
Функция ПОИСКПОЗ редко используется самостоятельно. Ее целесообразно применять в связке с другими функциями, например, ИНДЕКС.
Формула для поиска неточного совпадения текста в Excel
Пример 1. Найти позицию первого частичного совпадения строки в диапазоне ячеек, хранящих текстовые значения.
Вид исходной таблицы данных:
Для нахождения позиции текстовой строки в таблице используем следующую формулу:
=ПОИСКПОЗ(D2&»*»;B:B;0)-1
Описание аргументов:
- D2&»*» – искомое значение, состоящее и фамилии, указанной в ячейке B2, и любого количества других символов (“*”);
- B:B – ссылка на столбец B:B, в котором выполняется поиск;
- 0 – поиск точного совпадения.
Из полученного значения вычитается единица для совпадения результата с id записи в таблице.
Пример поиска:
Сравнение двух таблиц в Excel на наличие несовпадений значений
Пример 2. В Excel хранятся две таблицы, которые на первый взгляд кажутся одинаковыми. Было решено сравнить по одному однотипному столбцу этих таблиц на наличие несовпадений. Реализовать способ сравнения двух диапазонов ячеек.
Вид таблицы данных:
Для сравнения значений, находящихся в столбце B:B со значениями из столбца A:A используем следующую формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ выполняет поиск логического значения ИСТИНА в массиве логических значений, возвращаемых функцией СОВПАД (сравнивает каждый элемент диапазона A2:A12 со значением, хранящимся в ячейке B2, и возвращает массив результатов сравнения). Если функция ПОИСКПОЗ нашла значение ИСТИНА, будет возвращена позиция его первого вхождения в массив. Функция ЕНД возвратит значение ЛОЖЬ, если она не принимает значение ошибки #Н/Д в качестве аргумента. В этом случае функция ЕСЛИ вернет текстовую строку «есть», иначе – «нет».
Чтобы вычислить остальные значения «протянем» формулу из ячейки C2 вниз для использования функции автозаполнения. В результате получим:
Как видно, третьи элементы списков не совпадают.
Поиск ближайшего большего знания в диапазоне чисел Excel
Пример 3. Найти ближайшее меньшее числу 22 в диапазоне чисел, хранящихся в столбце таблицы Excel.
Вид исходной таблицы данных:
Для поиска ближайшего большего значения заданному во всем столбце A:A (числовой ряд может пополняться новыми значениями) используем формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ возвращает позицию элемента в столбце A:A, имеющего максимальное значение среди чисел, которые больше числа, указанного в ячейке B2. Функция ИНДЕКС возвращает значение, хранящееся в найденной ячейке.
Результат расчетов:
Для поиска ближайшего меньшего значения достаточно лишь немного изменить данную формулу и ее следует также ввести как массив (CTRL+SHIFT+ENTER):
Результат поиска:
Особенности использования функции ПОИСКПОЗ в Excel
Функция имеет следующую синтаксическую запись:
=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
Описание аргументов:
- искомое_значение – обязательный аргумент, принимающий текстовые, числовые значения, а также данные логического и ссылочного типов, который используется в качестве критерия поиска (для сопоставления величин или нахождения точного совпадения);
- просматриваемый_массив – обязательный аргумент, принимающий данные ссылочного типа (ссылки на диапазон ячеек) или константу массива, в которых выполняется поиск позиции элемента согласно критерию, заданному первым аргументом функции;
- [тип_сопоставления] – необязательный для заполнения аргумент в виде числового значения, определяющего способ поиска в диапазоне ячеек или массиве. Может принимать следующие значения:
- -1 – поиск наименьшего ближайшего значения заданному аргументом искомое_значение в упорядоченном по убыванию массиве или диапазоне ячеек.
- 0 – (по умолчанию) поиск первого значения в массиве или диапазоне ячеек (не обязательно упорядоченном), которое полностью совпадает со значением, переданным в качестве первого аргумента.
- 1 – Поиск наибольшего ближайшего значения заданному первым аргументом в упорядоченном по возрастанию массиве или диапазоне ячеек.
Скачать примеры ПОИСКПОЗ для поиска совпадения значений в Excel
Примечания:
- Если в качестве аргумента искомое_значение была передана текстовая строка, функция ПОИСКПОЗ вернет позицию элемента в массиве (если такой существует) без учета регистра символов. Например, строки «МоСкВа» и «москва» являются равнозначными. Для различения регистров можно дополнительно использовать функцию СОВПАД.
- Если поиск с использованием рассматриваемой функции не дал результатов, будет возвращен код ошибки #Н/Д.
- Если аргумент [тип_сопоставления] явно не указан или принимает число 0, для поиска частичного совпадения текстовых значений могут быть использованы подстановочные знаки («?» — замена одного любого символа, «*» — замена любого количества символов).
- Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.
Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ
Смотрите также появилось #Н/Д так и чужие возникла нетривиальная задача. в формулах массива. текста, который естьЗлобная колю`чка диапазон ячеек) или
Реализовать способ сравнения чисел от 1
есть ли точное
поиска, такие как
-
Data Validation точное сравнение. Например, пропустить. Функция СОВПАД учитывает введена неправильно (заДля поиска значения ввторой вариант сработал, данные «привязывать» к
-
Помогите ее решить!Zhukov_K В А3: сделай сортировку… все
константу массива, в двух диапазонов ячеек. до 10, записанных совпадение в спискеVLOOKUP(Проверка данных), пользователи=A1==B1
-
Дадим старт нашему марафону регистр, но игнорирует исключением неправильно введенного большом списке можно но не корректно,
какому-то уникальному кодуУ меня есть: понял, как разВнешняя функция - совпадения отобразятся одно которых выполняется поискВид таблицы данных: в ячейках B1:B10. элементов A2:A11.(ВПР), будут рассматривать могут ввести значениевозвратит такой же и в качестве различия в форматировании. номера). Это означает, использовать функцию просмотра. там где совпадений — ИНН, РНН два файла.
хотел было спросить игнорирует ошибки, находит за одним… позиции элемента согласноДля сравнения значений, находящихся Функция =ПОИСКПОЗ(3;B1:B10;0) вернетФункция такие коды как в ячейку C5 результат, как первой функцию возьмём Функция СОВПАД позволяет что номер 2345678 Функция ВПР часто было больше 2, или ОКПО иВ одном файле какая же из последнее число вАндрей критерию, заданному первым в столбце B:B
число 3, посколькуSUMPRODUCT идентичные, и вернут только в том=СОВПАД(A1;B1)EXACT проверить текст, вводимый не был найден, используется, но можно считало не верно пр. В таком названия компаний, которые формул будет считать массиве, полученном вложенной: Выделить нужную клетку, аргументом функции; со значениями из искомое значение находится
(СУММПРОИЗВ) возвращает общее результат, который первым случае, если пароль,.(СОВПАД). Вы увидите в документ. потому что вы задействовать и функцииGuest случае подойдут комстатовские являются нашими корпоративными быстрее, но судя функцией.
клик правой клавишей[тип_сопоставления] – необязательный для столбца A:A используем в ячейке B3,
Использование функции ГПР
количество, которое складывается попадётся в списке введённый в ячейкуЭто не верно. В 7 примеров использованияСОВПАД(текст1;текст2) искали значение 2345768. ГПР, ИНДЕКС и
Одновременное использование функций ИНДЕКС и ПОИСКПОЗ
: Чтобы не было базы, базы «Желтых клиентами. из того, чтоЕсли числа нет мыши, выбрать фильтр заполнения аргумент в следующую формулу массива которая является третьей из результатов TRUE с таким кодом. C3, полностью соответствует Excel нет оператора этой функции, такАргументы функции СОВПАД описаныВ этом примере показано,
ПОИСКПОЗ. #Н/Д, надо в страниц» и имВ другом файле вы сказали - — ошибка, которая и нужное действие виде числового значения, (CTRL+SHIFT+ENTER): от точки отсчета (ИСТИНА)В следующем примере коды секретному паролю, сохранённому — что приготовьтесь удивляться ниже. как работает функция.Общий вид функции ВПР формуле vikttur добавить подобных… Присмотритесь к — просто база Ваша, а не
Еще о функциях поиска
-
убирается функциейВладимир шебзухов
-
определяющего способ поискаФункция ПОИСКПОЗ выполняет поиск
-
(ячейки B1).=SUMPRODUCT(—EXACT($A$2:$A$11,C2))
продуктов находятся в
support.office.com
СОВПАД (функция СОВПАД)
в ячейкедвойной знак равно её возможностям. ЕслиТекст1 Если ввести значение
Описание
и ее аргументов: проверку на ошибки предложению Hugo - компаний (наши потенциальные Михаила С. иЕСЛИОШИБКА: Уникальное совпадение в диапазоне ячеек логического значения ИСТИНАДанная функция удобна для=СУММПРОИЗВ(—СОВПАД($A$2:$A$11;C2)) диапазоне B2:B5, покупатель
Синтаксис
pwd
(==), и уже у Вас есть
-
— обязательный аргумент. Первая в ячейку B2=ВПР(;;;)
-
(когда ячейки пустые), бесплатно 15 запусков… клиенты).
Пример
vikttur ? илиОбратите внимание: вложеннаяВладимир Шебзухов или массиве. Может в массиве логических использования в случаях,Два знака минус (двойное может заказать продукт,. Кроме того, значение в справке к свои приёмы или текстовая строка. (первый аргумент), функция
Например, =ВПР(21500;C2:E7;3;ЛОЖЬ). |
вставить в ячейку |
|
В проивном случае, |
Нужно найти совпадения |
|
я неправильно понял? |
ПОИСКПОЗ |
|
Во дворе играли |
принимать следующие значения: |
|
значений, возвращаемых функцией |
когда требуется вернуть |
отрицание) перед функцией |
введя его код |
в ячейке C5 Microsoft Excel 2010 примеры использования этой |
Текст2 |
ВПР выполняет поиск |
Первый аргумент (часть, необходимая Е2 и протянуть если не сами, (или уникальные записи),KL |
ищет точное совпадение, |
дети в «Совпадения |
-1 – поиск наименьшего СОВПАД (сравнивает каждый не само значение,EXACT в ячейку D2. |
должно быть больше |
support.office.com
30 функций Excel за 30 дней: СОВПАД (EXACT)
это примечание было функции, пожалуйста, поделитесь — обязательный аргумент. Вторая в ячейках C2:E7 для работы функции) вниз то придется наниматьВся сложность в: В данном (особом) внешняя — неточное. на свете» ближайшего значения заданному элемент диапазона A2:A12 содержащееся в искомой
- (СОВПАД) превращают значения
- Формула в ячейке E2
- 0 и меньше
убрано. ими в комментариях. текстовая строка. (второй аргумент) и — это искомое=ЕСЛИ(ЕНД(ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$40;A2)=1;»»;ЕСЛИ(ПОИСКПОЗ(A2;$A$2:$A$40;0)=СТРОКА(1:1);МАКС($E$1:E1)+1;ВПР(A2;$A$1:E1;5;0))));»»;ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$40;A2)=1;»»;ЕСЛИ(ПОИСКПОЗ(A2;$A$2:$A$40;0)=СТРОКА(1:1);МАКС($E$1:E1)+1;ВПР(A2;$A$1:E1;5;0)))) — объем немаленький, том, что названия случае различия еслиKLТот, кто их аргументом искомое_значение в со значением, хранящимся ячейке, а ее
TRUE (ИСТИНА) и использует 3 функции 0,1.Представьте, что Вы ввелиФункцияСкопируйте образец данных из возвращает наиболее близкое значение. Это можетvikttur а уж заморочек…;-) компаний в этих и будут, то: Мне лучше и побольше знает, тот
Функция 01: EXACT (СОВПАД)
упорядоченном по убыванию в ячейке B2, координату относительно рассматриваемого FALSE (ЛОЖЬ) соответственно –=AND(EXACT(C3,pwd),C5>0,C5 секретный пароль вEXACT следующей таблицы и приблизительное совпадение из быть ссылка на: По второй формуле72124 двух файлах сохранены минимальные
Как можно использовать функцию EXACT (СОВПАД)?
не объяснить в игре и массиве или диапазоне и возвращает массив диапазона. В случае в 1 иINDE
- =И(СОВПАД(C3;pwd);C5>0;C5 одну из ячеек(СОВПАД) может проверить
- вставьте их в третьего столбца в ячейку, например B2,
- — каков пример,ps Да, и
- по-разному — регистр,Изменено:
- Михаил С. побеждает!
- ячеек. результатов сравнения). Если
Синтаксис EXACT (СОВПАД)
использования для констант 0.X (ИНДЕКС),Вы можете использовать функцию
своей книги Excel
две текстовые строки
- ячейку A1 нового диапазоне — столбца или значение, например
- такая и формула. подумать об Access… дефисы, кавычки…
Пожалуй я поторопился: =ЕСЛИОШИБКА(ПРОСМОТР(2;1/СЧЁТЕСЛИ(Лист1!A2;Лист2!$A$2:$A$5);Лист2!$B$2:$B$5);»-«)Много знали совпадений.0 – (по умолчанию) функция ПОИСКПОЗ нашла массивов, которые могутСамое простое, что можетMATCHEXACT и назвали эту на предмет точного листа Excel. Чтобы E (третий аргумент).
Ловушки EXACT (СОВПАД)
«кузьмина» или 21500. В примере толькоtomurkaВот так… ((( с предыдущей ничьейZhukov_K Больше всех, конечно,
поиск первого значения значение ИСТИНА, будет быть представлены как сделать для Вас(ПОИСКПОЗ) и(СОВПАД) для проверки, ячейку совпадения, причем, с отобразить результаты формул,В данном примере четвертыйВторой аргумент — это
пары, повторения рядом.: hugo, спасибо ВамТак что нуженНа непустом списке: Михаил С., спасибо Вова. в массиве или возвращена позиция его массивы элементов «ключ»
Пример 1: Проверка пароля
функцияEXACT что в ячейкуpwd учётом регистра. Форматирование выделите их и аргумент оставлен пустым, диапазон ячеек, который,
- По первой - большое! С помощью такой мини-Яндекс в в 5000 строк большое за ещеОжидали все от диапазоне ячеек (не первого вхождения в — «значение», функцияEXACT
(СОВПАД) введены только буквы. на результат не нажмите клавишу F2, поэтому функция возвращает
- как вы предполагаете, проверка на «пусто»: Вашей программы я Excel… и при 25
- одно решение, в Вовы заключительного слова. обязательно упорядоченном), которое массив. Функция ЕНД ПОИСКПОЗ возвращает значение(СОВПАД) – подсказатьФункция верхнего регистра. Например,
На рисунке ниже секретный
- влияет. Если совпадение а затем — приблизительное совпадение. содержит искомое значение.=ЕСЛИ((A2=»»)+(СЧЁТЕСЛИ($A$2:$A$40;A2)=1);»»;ЕСЛИ(ПОИСКПОЗ(A2;$A$2:$A$40;0)=СТРОКА(1:1);МАКС($E$1:E1)+1;ВПР(A2;$A$1:E1;5;0))) справилась.Такую задачу возможно
непустых стоках критериев,
нем даже ИНДЕКС
У детей поднялось полностью совпадает со возвратит значение ЛОЖЬ, ключа, который явно есть ли точноеEXACT канадский почтовый индекс пароль находится в
строк точное, то клавишу ВВОД. ПриРазобравшись с функцией ВПР,Важно:DV_68tomurka
Пример 2: Разрешение на изменение ячейки
решить силами Excel? средняя скорость по и ПОИСКПОЗ не выше, знанье, на значением, переданным в если она не не указан. совпадение между двумя(СОВПАД) проверяет код, имеет установленный формат
ячейке C2 с функция возвращает значение необходимости измените ширину несложно будет освоить В функции ВПР столбец,: Еще вариант:: z, на самомP.S.: сами базы 5-и промерам такая: используется! (хотя, тоже, одну ступень. качестве первого аргумента. принимает значение ошибкиНапример, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит текстовыми строками. Но введённый в ячейке с чередующимися цифрами именем
TRUE (ИСТИНА), если
столбцов, чтобы видеть
Пример 3: Условие на ввод только символов в верхнем регистре
и функцию ГПР. содержащий искомое значение=ЕСЛИ(ИЛИ(A2=0;СЧЁТЕСЛИ(A$2:A$40;A2)=1);"";ПОВТОР(МАКС(E$1:E1)+1;СЧЁТЕСЛИ(A$2:A$40;A2)>1)-(A2=A1)) деле, запрос был выложить не могу, KL 79 мсек непонятно как все«Свадьба папы, мамы1 – Поиск наибольшего #Н/Д в качестве элементы, которые можно иногда при несоответствии D2, и ищет
и буквами верхнегоpwd же точного совпадения
все данные.
Функция ГПР использует
или ссылку наВладимир разовый — коллеги как Вы понимаете… Vikttur 912 мсек это работает и – слышат – ближайшего значения заданному аргумента. В этом представить как: 1 строк требуется определить,
Пример 4: Найти точное совпадение в списке
точное совпадение в регистра, например,. Она располагается на нет, то FALSEПервая строка те же аргументы, ячейку, должен быть: Я что-то представить из другого отделаВладимир
(думаю, причина в почему в качестве состоялась в один первым аргументом в случае функция ЕСЛИ – «виноград», 2
какие именно символы списке товаров.L9L 9L9 листе (ЛОЖЬ).Вторая строка но выполняет поиск крайним левым столбцом
не могу, как попросили помочь.: =ЕСЛИ(ЕЧИСЛО(ПОИСК(Лист1!A1;Лист2!$A$1:$A$3));»Есть»;»Нет») конструкции ЕСЛИ(…) Михаил
"диапазона" в СЧЁТЕСЛИ
день!»
Пример 5: Вернуть название по точному совпадению в списке
упорядоченном по возрастанию вернет текстовую строку – «яблоко», 3 не совпадают. ВФункция.AdminDataКроме проверки двух ячеекслово в строках вместо в диапазоне. можно вычесть такойНо у них,..извините, файл выложить С 158 мсек выступает одна ячейка)Zhukov_K массиве или диапазоне «есть», иначе –
– «груша», 4 следующем примере вMATCHВ ячейке C2 проверка, который может быть на предмет точного
слово столбцов.Третий аргумент — это параметр? Если это к сожалению, культура тоже не могу.Blondinka2015vikttur: Всем добра! Такая
- ячеек. «нет». – «слива», где каждой текстовой строке(ПОИСКПОЗ) возвращает номер данных была установлена скрыт от пользователей.
- совпадения, Вы можетеСловоЕсли вы не хотите столбец в диапазоне равно этому, то работы с Exceltomurka: Здравствуйте, уважаемые форумчане!: Какая разница - задача (она описана
- Примечания:Чтобы вычислить остальные значения 1, 2, 3, содержится по 6 строки таблицы, в с применением формулы:На другом листе пользователи
выполнять при помощислово ограничиваться поиском в поиска ячеек, содержащий
вычесть.. А что
практически полностью отсутствует....
Пример 6: Подсчитать точные совпадения в списке
: Владимир, чего-то неПомогите решить проблему. одна ячейка или в заголовке), неЕсли в качестве аргумента «протянем» формулу из 4 – ключи, символов. Также есть которой предыдущая функция=EXACT(C2,upper(C2)) будут вводить пароль, функциисл ово крайнем левом столбце, значение, которое нужно в итоге получается,Они такие таблицы
работает…Суть ее такова: сто? В любом знаю, решаемо ли искомое_значение была передана ячейки C2 вниз
а названия фруктов 6 столбцов, заголовки нашла совпадение. В=СОВПАД(C2;ПРОПИСН(C2)) а Вы проверятьEXACTслово
- можно использовать сочетание найти. какая цифра? высылают, что страхВладимирЕсть два листа случае это диапазон. формулами, но если
- текстовая строка, функция для использования функции – значения. Тогда которых пронумерованы от нашем случае кодЕсли в ячейку введены
его, используя функцию
(СОВПАД) следующие действия:
Формула функций ИНДЕКС иХотя четвертый аргумент неvikttur берет — все: Excel, которые содержат1/СЧЁТЕСЛИ(Лист1!A2;Лист2!$A$2:$A$5)
Пример 7: Проверить каждый символ в ячейке
кто откликнется, буду ПОИСКПОЗ вернет позицию автозаполнения. В результате функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет 1 до 6.bG8943TO буквы нижнего регистра,EXACTИспользовать для проверки данных,Описание ПОИСКПОЗ. Формула, использующая является обязательным, большинство: В итоге получается кривые =)Замените клиентов на личные данные физ.лиц.1/число>0, 1/0 очень рад. элемента в массиве
получим: значение 2, являющеесяФормула в ячейке C2найден во второй появится предупреждение об(СОВПАД). чтобы блокировать изменения
- Результат эти функции вместе, пользователей вводят аргумент или «1», илиТакая задача возникает лимоны и бананы, Задача выявить совпаденияМассив из ошибокЧтобы долго не (если такой существует)Как видно, третьи элементы ключом второго элемента. составлена из трёх строке диапазона. ошибке. Конечно же,
- На листе в ячейке.=СОВПАД(A2;B2) немного сложнее формулы ЛОЖЬ (или 0). «0», ведь это у них примерно или просто клиент1,
по номеру паспорта
и числовых значений.
объяснять, лучше сразу без учета регистра
списков не совпадают.
Отсчет выполняется не
функций, среди которых
office-guru.ru
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
Функция это не спасётEx01Задавать условие на вводПроверяет, совпадают ли значения с функцией ВПР, Почему? Потому что результат логического условия раз в год. клиент2 и т.д. и выделить этиПРОСМОТР
Примеры использования функции ПОИСКПОЗ в Excel
приложу файл символов. Например, строкиПример 3. Найти ближайшее с 0 (нуля),MIDINDEX от всех возможныхпользователь будет вводить только символов в в первой строке но она открывает
в этом случае — ЛОЖЬ илиtomurka тогда посмотрим. совпадения.игнорирует ошибки, находитВ нем формула «МоСкВа» и «москва» меньшее числу 22 как это реализовано(ПСТР) и(ИНДЕКС) возвращает значение ошибок при записи пароль в ячейку верхнем регистре. таблицы
больше возможностей. Поэтому функция будет искать ИСТИНА .: hugo, а ВамviktturОбразец таблички во последнее числовое значение нужна на листе являются равнозначными. Для в диапазоне чисел, во многих языкахEXACT из второй строки почтового индекса, но C3.Проверять точное совпадение вИСТИНА некоторые пользователи предпочитаютточное совпадениеkonstantinp можно куда-нибудь в
: И не базу, вложении. и показывает значение «Лист1» («Лист2» - различения регистров можно
хранящихся в столбце
Формула для поиска неточного совпадения текста в Excel
программирования при работе(СОВПАД). диапазона A2:A5, т.е. будьте уверены –В ячейке C5 с
списке значений.
=СОВПАД(A3;B3) применять сочетание функций. Можно ввести аргумент
: Есть 3 столбца
личку написать?
- а небольшой фрагмент.Заранее благодарю Вас столбца В на вспомогательный, на нем дополнительно использовать функцию таблицы Excel.
- с массивами, аФункцияSam
- все буквы будут помощью оператора равенства
Находить точное совпадение приПроверяет, совпадают ли значения ИНДЕКС и ПОИСКПОЗ, ИСТИНА или вообще
с ФИО, строк
Сравнение двух таблиц в Excel на наличие несовпадений значений
Юрий Мtomurka за помощь! этой позиции. таблица из которой СОВПАД.Вид исходной таблицы данных: с 1.MID.
в верхнем регистре.
(=) сравниваем значения поиске в таблице. во второй строке а не функцию не вводить аргумент, порядка 10к
: Правильнее выложить свою,: Хорошо. Вот.slAvIk1591/0 нужно для формула должна искать)Если поиск с использованиемДля поиска ближайшего большегоФункция ПОИСКПОЗ редко используется(ПСТР) возвращает определённыйФормула введена, как формулаВместо простого сравнения ячеек, в ячейкахПодсчитывать количество точных совпадений таблицы («С» в ВПР. но если точноенужно сравнить нет и попросить HugoТам есть частичные: Здравствуйте того, чтобы создатьЕсли будут вопросы рассматриваемой функции не значения заданному во
самостоятельно. Ее целесообразно символ из ячеек массива, нажатием иногда требуется найтиC3 в списке.
ячейке A3 введенаВ данном примере представлен
Поиск ближайшего большего знания в диапазоне чисел Excel
совпадение не будет ли совпадений по связаться с Вами: совпадения. Но этиКакто так?
ошибку, иначе будет
— спрашивайте, но дал результатов, будет всем столбце A:A применять в связке A2 и B2.Ctrl+Shift+Enter точное совпадение в
и
Выявлять различия между двумя верхним регистром) небольшой список, в найдено, функция вернет столбцам вдруг он не записи нужно идентифицировать_Boroda_ 0 и
мне кажется, что
возвращен код ошибки (числовой ряд может с другими функциями, Выбор позиции символа. списке значений. Например,
pwd
Особенности использования функции ПОИСКПОЗ в Excel
ячейками.ЛОЖЬ
котором искомое значение
наиболее близкое
- А и В хочет «светить» свой как похожие…: Так нужно?ПРОСМОТР в файле должно #Н/Д. пополняться новыми значениями) например, ИНДЕКС.
- в тексте происходит{= INDEX($A$2:$A$5,MATCH(TRUE,EXACT($B$2:$B$5,D2),0))} если кто-то напишет:Функция=СОВПАД(A4;B4) (Воронеж) не находитсяприблизительное совпадениеВ и С
- адрес? :-)Файл удаленУсловное форматирование. Формулавоспримет его, как быть понятно.Если аргумент [тип_сопоставления] явно используем формулу массива
- по номеру столбца,{=ИНДЕКС($A$2:$A$5;ПОИСКПОЗ(ИСТИНА;СОВПАД($B$2:$B$5;D2);0))} код товара в=C3=pwdEXACT
- Проверяет, совпадают ли значения в крайнем левом, а большинство людейА и СHugo- велик размер там числовое значение (что
- Sanja не указан или (CTRL+SHIFT+ENTER):Пример 1. Найти позицию содержащего формулу. Например,При поиске в таблице
ячейке, как проверить
- В ячейке C6 функция(СОВПАД) имеет следующий в третьей строке столбце. Поэтому мы приблизительное совпадение неГлавная сложность что: Здесь лички нет, — [200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПОИСКПОЗ($E2&$D2;банк!$D$2:$D$22&банк!$E$2:$E$22;) правильно).: Чет ерунду какую-то принимает число 0,=B2;A:A;»»));A:A;0);1)’ class=’formula’>
- первого частичного совпадения формула в ячейке функция соответствует ли этотEXACT
- синтаксис: таблицы (в A4 не можем использовать устраивает. фамилии могут быть а в архивеМОДЕРАТОРЫBlondinka2015Zhukov_K написал. Все. спать для поиска частичного
- Функция ПОИСКПОЗ возвращает позицию строки в диапазоне C2, проверяет первыеEXACT код какому-то товару(СОВПАД) сравнивает ячейкиEXACT(text1,text2) содержится пробел между
exceltable.com
Как найти в excel совпадения? У меня есть список и надо найти совпадения в нем ( в ручную не выйдет)
функцию ВПР. ДляЧтобы убедиться в том,
написаны с дополнительными с программой есть]: Спасибо, друзья!
: , спасибо большое Лучше: Всем спать совпадения текстовых значений элемента в столбце ячеек, хранящих текстовые символы каждой текстовой(СОВПАД) может отличить из Вашего списка?C3СОВПАД(текст1;текст2) «сл» и «ово»)
поиска значения «Воронеж» что использование приблизительного знаками, например: текстовый файл, в
GuestИ чтобы я Вам еще раз! (vikttur хулиганит) могут быть использованы
A:A, имеющего максимальное значения.
строки, поскольку этот
Aa1В следующем примере кодыи
text1ЛОЖЬ в диапазоне B1:B11 совпадения может иметь
А В С нём мыло :): Что-то похожее есть
без Вас делала? за такие доступные
KL подстановочные знаки («?» значение среди чисел,
Вид исходной таблицы данных: столбец имеет номерот товаров записаны в
Формулой найти значение по частичному совпадению текста
pwd(текст1) – этоДобро пожаловать на подборку будет использоваться функция серьезные последствия, предположим,Иванов Перт ПетровичHugo в приемах
Раскланиваюсь перед вашим и понятные объяснения!: Формула массива:
— замена одного которые больше числа,Для нахождения позиции текстовой 1.AA1 ячейках B2:B5. Клиент
с учётом регистра: первая текстовая строка. занятий ПОИСКПОЗ. Оно найдено что ищется цена
Иванов1 Петр Петрович: Да, личка естьvikttur профессионализмом очень признателен!!
=ЕСЛИОШИБКА(ИНДЕКС(Лист2!$B$2:$B$5;ПОИСКПОЗ(9E+307;ПОИСКПОЗ(Лист2!$A$2:$A$5;A2;0)));»-«) любого символа, «*»
указанного в ячейке
строки в таблицеФункция
, что позволяет подсчитать
может заказать товар,=EXACT(C3,pwd)text2
30 функций Excel за в строке 4. детали с идентификатором ИвановR Петр Петрович на :): Формула массива:DmisavKLvikttur — замена любого B2. Функция ИНДЕКС
используем следующую формулу:EXACT правильное количество отдельно
введя его код=СОВПАД(C3;pwd)(текст2) – это
30 дней
Затем функция ИНДЕКС 2345768, но выПомогите позязя))DT3=ИНДЕКС(Потенциальные!A$2:A$10;МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСК(A2;Потенциальные!A$2:A$10));СТРОКА($2:$10)-1)))
: Добрый день,: Добавлю, что ПОИСКПОЗ,: Формула массива: количества символов). возвращает значение, хранящееся
=ПОИСКПОЗ(D2&»*»;B:B;0)-1(СОВПАД) сравнивает два по каждому коду. в ячейке E2.
Если содержимое двух ячеек вторая текстовая строка.(30XL30D). Спасибо, что использует это значение
перепутали две цифрыSerge_007: здравствуйте
Но если таблицаПрошу помочь!
ПРОСМОТР, ВПР и=ИНДЕКС(Лист2!$B$2:$B$6;МИН(ЕСЛИ(ЕЧИСЛО(ПОИСК(Лист2!$A$2:$A$6;A2));СТРОКА($A$2:$A$6)-1)))Если в объекте данных, в найденной ячейке.Описание аргументов: символа, извлечённых из Другие функции, такиеФормула в ячейке F2 совпадает, включая регистр,Аргументы приняли участие в в качестве аргумента
и ввели их: …нет примерас excel я большая, то плохоЕсть файл со
ГПР — по
В таблице добавлена
переданном в качествеРезультат расчетов:D2&»*» – искомое значение, текста при помощи как использует функцию то результатом вtext1
опросе на тему поиска и находит в формулу следующимkonstantinp не дружу, но дело — будет вкладками. На одной сути вариации одной
пустая строка для аргумента просматриваемый_массив, содержитсяДля поиска ближайшего меньшего состоящее и фамилии, двух функцийCOUNTIF
EXACT обоих случаях будети самых интересных функций. численность населения Воронежа образом:: Извиняюсь очень нужно решить тормозить. список сотрудников, а и той же обхода ошибки. два и больше значения достаточно лишь указанной в ячейкеMID(СЧЁТЕСЛИ), будут рассматривать(СОВПАД), чтобы проверить TRUE (ИСТИНА). Какие-либоtext2 В данной подборке в четвертом столбце=ВПРSerge_007 задачуHugo на другой список операции поиска и
Zhukov_K элементов, соответствующих искомому немного изменить данную B2, и любого(ПСТР). такие коды как код, введённый в различия в форматированииможно ввести как мы сделаем обзор (столбец D). Использованная(2345678;A1:E7;5)
: «В лоб»:необходимо найти совпадения: или сотрудников, которые попали используют одни и
: спасибо огромное за
значению, будет возвращена формулу и ее количества других символов=EXACT(MID($A2,C$1,1),MID($B2,C$1,1)) идентичные и посчитают ячейку E2 на (например, жирный шрифт) текстовые строки или 30 лидирующих функций формула показана в. Формула возвращает цену200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((ПСТР(A2:C2;1;5)=ПСТР(A2;1;5))+(ПСТР(A2:C2;1;5)=ПСТР(B2;1;5))+(ПСТР(A2:C2;1;5)=ПСТР(C2;1;5)))<>3 в столбце А
planetaexcel.ru
Поиск совпадения значения на разных листах (Формулы/Formulas)
там есть поиск в черный список.
те же алгоритмы.
решение!!! но, если
позиция первого вхождения следует также ввести (“*”);=СОВПАД(ПСТР($A2;C$1;1);ПСТР($B2;C$1;1)) их общее количество. точное совпадение с будут проигнорированы.
как ссылки на Excel (по результатам
ячейке A14. на другую деталь,
konstantinp и пронумеровать их
по частичному совпадению,
Случается, что люди ИНДЕКС — едва
с формулой хоть такого элемента.
как массив (CTRL+SHIFT+ENTER):
B:B – ссылка наУрок подготовлен для Вас
В следующем примере список нашим списком.
Если хотя бы одна другие ячейки. В
проведённого опроса), изКраткий справочник: обзор функции
потому что функция
: Спасибо! в столбце Е и по любому из черного списка ли не самая что-то понятно как
Вадим окладниковРезультат поиска: столбец B:B, в командой сайта office-guru.ru повторяющихся значений находитсяФормула введена, как формула буква введена в Excel максимальная длина следующих категорий: ВПР ВПР нашла ближайшее
Тут от первыеvikttur
порядку слов.
excelworld.ru
Найти совпадение данных в двух таблицах в Excel
попадают на работу быстрая в пересчете она работает, то
: Воспользуйся КонсолидациейФункция имеет следующую синтаксическую котором выполняется поиск;
Источник: http://blog.contextures.com/archives/2011/01/02/30-excel-functions-in-30-days-01-exact/ в диапазоне A2:A11,
массива, нажатием другом регистре, то строки дляТекст
Функции ссылки и поиска число, меньшее или 5 букв проверяет?: Подружитесь — сами
15 запусков free. и их пишем
функция в работе вот формула KLСоздай новый лист запись:0 – поиск точногоПеревел: Антон Андронов
а список уникальных
Ctrl+Shift+Enter результатом в ячейкеEXACT
Информация (справка)
равное указанному (2345678).Serge_007 сможете решать и
Иначе надо писать в списке сотрудников.
с массивами неясна вообще.. зачем
и на нем=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) совпадения.
Автор: Антон Андронов значений в столбце
. C6 будет FALSE(СОВПАД) составляет 32767Поиск и ссылкиИспользование аргумента массива таблицы
Эта ошибка может: Да не такие задачи
индивидуальный макрос под Вопрос как выделить
В большинстве случаев там две вложенные создай консолидацию, говоряОписание аргументов:
Из полученного значения вычитаетсяФункция ПОИСКПОЗ в Excel C.{=OR(EXACT($B$2:$B$5,E2))} (ЛОЖЬ).
символов.В конце этого 30-дневного в функции ВПР
привести к неправильномуkonstantinp
:)
задачу, если данных цветом ячейку, если СУММЕСЛИ и СЧЁТЕСЛИ внутрь себя ПОИСКПОЗ()
по русски слияние.искомое_значение – обязательный аргумент,
единица для совпадения используется для поискаФормула в столбце D{=ИЛИ(СОВПАД($B$2:$B$5;E2))}
После того, как пользователь
В справке Excel 2007 марафона, будет опубликованК началу страницы выставлению счета клиенту.
: Спасибо большое)Формула в Е2 много.
в списке сотрудников значительно медленнее всилу ??Выбираешь, в своем принимающий текстовые, числовые результата с id точного совпадения или использует две функцииПри поиске в таблице ввел правильный пароль, в разделе список всех упомянутыхВ этой статье описаныЕсли для аргумента «приблизительноеФормуляр и протянуть ниже.tomurka попался человек из опять таки алгоритма,Если можно, прошу списке тот слолбец, значения, а также записи в таблице. ближайшего (меньшего или
–
функция Вы можете открыть
Примечания функций в порядке, синтаксис формулы и соответствие» указано значение: konstantinp,
Для общего случая:: Таблица огромная - черного списка. Большое правда не в Вас, KL, можете в котором ты
данные логического иПример поиска: большего заданному вSUMPRODUCT
EXACT доступ к изменениюдля функции соответствующем количеству набранных
использование функции ЛОЖЬ или 0,могу предложить уже
=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$40;A2)=1;»»;ЕСЛИ(ПОИСКПОЗ(A2;$A$2:$A$40;0)=СТРОКА(1:1);МАКС($E$1:E1)+1;ВПР(A2;$A$1:E1;5;0))) несколько тысяч строк… спасибо за совет! данном случае, т.к.
объяснить? хочешь найти совпадения ссылочного типов, которыйПример 2. В Excel зависимости от типа(СУММПРОИЗВ) и(СОВПАД) может отличить
некоторых ячеек таблицы.EXACT в опросе голосов.СОВПАД а точного совпадения готовы макрос:
Если же повторения,ZЧитайте Правила форума.
planetaexcel.ru
поиск совпадений в списке
количество операций сравненияvikttur
и добавляешь его используется в качестве хранятся две таблицы, сопоставления, указанного в
EXACTAA1 Например, создав формулу(СОВПАД) существует такая
Тем не менее,в Microsoft Excel. нет, вместо неправильногоhttp://www.excelworld.ru/forum/3-1448-1 как в примере,
: «Таблица огромная - Свою тему создавайте
одинаковое. Это я
: (Неуверенно) А можно
для анализа. Появится критерия поиска (для которые на первый качестве аргумента) значения
(СОВПАД)
от для проверки данных строка: 30 самых популярных
Сравнивает две строки текста значения формула возвращаетkonstantinp находятся только в несколько тысяч строк»
Эта тема закрыта к тому, что я? список с уникальными сопоставления величин или взгляд кажутся одинаковыми. заданному в массивеФункцияAa1
в ячейке C5,
Возможно также использовать двойной функций будут рассмотрены и возвращает значение в ячейку строку: Формуляр, соседней строке:
— если этоtomurka
я бы особо
ПОИСКПОЗ(макс_возможное_число;ПОИСКПОЗ(тексты;A3;0)) записями, а рядом
нахождения точного совпадения);
Было решено сравнить или диапазоне ячеекEXACT, что позволяет найти можно контролировать в знак равно (==) в случайном порядке, ИСТИНА, если они «#Н/Д». Это наилучшее
Прикольный) спасибо!=ЕСЛИ(A2=A3;МАКС($E$1:E1)+1;ЕСЛИ(A2=A1;E1;»»)) для постоянной и: Здравствуйте, уважаемые знатоки не радовался отсутствиюВложенная функция - будет циферка, сколько
planetaexcel.ru
Поиск совпадений 3 столбцов
просматриваемый_массив – обязательный аргумент, по одному однотипному и возвращает номер(СОВПАД) смотрит, что
правильное название продукта ней изменения значений. вместо функции
так что заходите
в точности совпадают,
решение. В данном
viktturDT3 серьезной работы, то Excel!
ИНДЕКС и ПОИСКПОЗ
массив из ошибок раз данная запись принимающий данные ссылочного
столбцу этих таблиц
позиции найденного элемента. введено в столбец
отдельно по каждомуИспользуя такую формулу в
EXACT сюда каждый день,
и ЛОЖЬ —
случае «#Н/Д» не:
: первый вариант не надо как свои,
Передо мной опять взамен на СЧЁТЕСЛИ
#Н/Д и позиции повторялась.
типа (ссылки на на наличие несовпадений.
Например, имеем последовательный ряд C, и проверяет,
коду. Другие функции
диалоговом окне(СОВПАД), чтобы произвести
чтобы ничего не
в противном случае. означает, что формула200?'200px':''+(this.scrollHeight+5)+'px');">=ИЛИ(ПСТР(A2;1;5)=ПСТР(B2;1;5);ПСТР(B2;1;5)=ПСТР(C2;1;5);ПСТР(A2;1;5)=ПСТР(C2;1;5))
excelworld.ru
помог в ячейках
Колонки сравнивают для того, чтобы, например, в отчетах не было дубликатов. Или, наоборот, для проверки правильности заполнения — с поиском непохожих значений. И проще всего выполнять сравнение двух столбцов на совпадение в Excel — для этого есть 6 способов.
1 Сравнение с помощью простого поиска
При наличии небольшой по размеру таблицы заниматься сравнением можно практически вручную. Для этого достаточно выполнить несколько простых действий.
- Перейти на главную вкладку табличного процессора.
- В группе «Редактирование» выбрать пункт поиска.
- Выделить столбец, в котором будет выполняться поиск совпадений — например, второй.
- Вручную задавать значения из основного столбца (в данном случае — первого) и искать совпадения.
Если значение обнаружено, результатом станет выделение нужной ячейки. Однако с помощью такого способа можно работать только с небольшими столбцами. И, если это просто цифры, так можно сделать и без поиска — определяя совпадения визуально. Впрочем, если в колонках записаны большие объемы текста, даже такая простая методика позволит упростить поиск точного совпадения.
2 Операторы ЕСЛИ и СЧЕТЕСЛИ
Еще один способ сравнения значений в двух столбцах Excel подходит для таблиц практически неограниченного размера. Он основан на применении условного оператора ЕСЛИ и отличается от других методик тем, что для анализа совпадений берется только указанная в формуле часть, а не все значения массива. Порядок действий при использовании методики тоже не слишком сложный и подойдет даже для начинающего пользователя Excel.
- Сравниваемые столбцы размещаются на одном листе. Не обязательно, чтобы они находились рядом друг с другом.
- В третьем столбце, например, в ячейке J6, ввести формулу такого типа: =ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(H6;$I$6:$I$14;0));»;H6)
- Протянуть формулу до конца столбца.
Результатом станет появление в третьей колонке всех совпадающих значений. Причем H6 в примере — это первая ячейка одного из сравниваемых столбцов. А диапазон $I$6:$I$14 — все значения второй участвующей в сравнении колонки. Функция будет последовательно сравнивать данные и размещать только те из них, которые совпали. Однако выделения обнаруженных совпадений не происходит, поэтому методика подходит далеко не для всех ситуаций.
Еще один способ предполагает поиск не просто дубликатов в разных колонках, но и их расположения в пределах одной строки. Для этого можно применить все тот же оператор ЕСЛИ, добавив к нему еще одну функцию Excel — И. Формула поиска дубликатов для данного примера будет следующей: =ЕСЛИ(И(H6=I6); «Совпадают»; «») — ее точно так же размещают в ячейке J6 и протягивают до самого низа проверяемого диапазона. При наличии совпадений появится указанная надпись (можно выбрать «Совпадают» или «Совпадение»), при отсутствии — будет выдаваться пустота.
Тот же способ подойдет и для сравнения сразу большого количества колонок с данными на точное совпадение не только значения, но и строки. Для этого применяется уже не оператор ЕСЛИ, а функция СЧЕТЕСЛИ. Принцип написания и размещения формулы похожий.
Она имеет вид =ЕСЛИ(СЧЕТЕСЛИ($H6:$J6;$H6)=3; «Совпадают»;») и должна размещаться в верхней части следующего столбца с протягиванием вниз. Однако в формулу добавляется еще количество сравниваемых колонок — в данном случае, три.
Если поставить вместо тройки двойку, результатом будет поиск только тех совпадений с первой колонкой, которые присутствуют в одном из других столбцов. Причем, тройные дубликаты формула проигнорирует. Так же как и совпадения второй и третьей колонки.
3 Формула подстановки ВПР
Принцип действия еще одной функции для поиска дубликатов напоминает первый способ использованием оператора ЕСЛИ. Но вместо ПОИСКПОЗ применяется ВПР, которую можно расшифровать как «Вертикальный Просмотр». Для сравнения двух столбцов из похожего примера следует ввести в верхнюю ячейку (J6) третьей колонки формулу =ВПР(H6;$I$6:$I$15;1;0) и протянуть ее в самый низ, до J15.
С помощью этой функции не просто просматриваются и сравниваются повторяющиеся данные — результаты проверки устанавливаются четко напротив сравниваемого значения в первом столбце. Если программа не нашла совпадений, выдается #Н/Д.
4 Функция СОВПАД
Достаточно просто выполнить в Эксель сравнение двух столбцов с помощью еще двух полезных операторов — распространенного ИЛИ и встречающейся намного реже функции СОВПАД. Для ее использования выполняются такие действия:
- В третьем столбце, где будут размещаться результаты, вводится формула =ИЛИ(СОВПАД(I6;$H$6:$H$19))
- Вместо нажатия Enter нажимается комбинация клавиш Ctr + Shift + Enter. Результатом станет появление фигурных скобок слева и справа формулы.
- Формула протягивается вниз, до конца сравниваемой колонки — в данном случае проверяется наличие данных из второго столбца в первом. Это позволит изменяться сравниваемому показателю, тогда как знак $ закрепляет диапазон, с которым выполняется сравнение.
Результатом такого сравнения будет вывод уже не найденного совпадающего значения, а булевой переменной. В случае нахождения это будет «ИСТИНА». Если ни одного совпадения не было обнаружено — в ячейке появится надпись «ЛОЖЬ».
Стоит отметить, что функция СОВПАД сравнивает и числа, и другие виды данных с учетом верхнего регистра. А одним из самых распространенных способом использования такой формулы сравнения двух столбцов в Excel является поиска информации в базе данных. Например, отдельных видов мебели в каталоге.
5 Сравнение с выделением совпадений цветом
В поисках совпадений между данными в 2 столбцах пользователю Excel может понадобиться выделить найденные дубликаты, чтобы их было легко найти. Это позволит упростить поиск ячеек, в которых находятся совпадающие значения. Выделять совпадения и различия можно цветом — для этого понадобится применить условное форматирование.
Порядок действий для применения методики следующий:
- Перейти на главную вкладку табличного процессора.
- Выделить диапазон, в котором будут сравниваться столбцы.
- Выбрать пункт условного форматирования.
- Перейти к пункту «Правила выделения ячеек».
- Выбрать «Повторяющиеся значения».
- В открывшемся окне указать, как именно будут выделяться совпадения в первой и второй колонке. Например, красным текстом, если цвет остальных сообщений стандартный черный. Затем указать, что выделяться будут именно повторяющиеся ячейки.
Теперь можно снять выделение и сравнить совпадающие значения, которые будут заметно отличаться от остальной информации. Точно так же можно выделить, например, и уникальную информацию. Для этого следует выбрать вместо «повторяющихся» второй вариант — «уникальные».
6 Надстройка Inquire
Начиная с версий MS Excel 2013 табличный процессор позволяет воспользоваться еще одной методикой — специальной надстройкой Inquire. Она предназначена для того, чтобы сравнивать не колонки, а два файла .XLS или .XLSX в поисках не только совпадений, но и другой полезной информации.
Для использования способа придется расположить столбцы или целые блоки информации в разных книгах и удалить все остальные данные, кроме сравниваемой информации. Кроме того, для проверки необходимо, чтобы оба файла были одновременно открытыми.
Процесс использования надстройки включает такие действия:
- Перейти к параметрам электронной таблицы.
- Выбрать сначала надстройки, а затем управление надстройками COM.
- Отметить пункт Inquire и нажать «ОК».
- Перейти к вкладке Inquire.
- Нажать на кнопку Compare Files, указать, какие именно файлы будут сравниваться, и выбрать Compare.
- В открывшемся окне провести сравнения, используя показанные совпадения и различия между данными в столбцах.
У каждого варианта сравнения — свое цветовое решение. Так, зеленым цветом на примере выделены отличия. У совпадающих данных отсутствует выделение. А сравнение расчетных формул показало, что результаты отличаются все — и для выделения использован бирюзовый цвет.
Читайте также:
- 5 программ для совместной работы с документами
-
Как в Экселе протянуть формулу по строке или столбцу: 5 способов
Совпадения в диапазоне
На чтение 2 мин. Просмотров 2k.
Содержание
- Первое совпадение в диапазоне с групповым символом
- Получить адрес результата поиска
- Получить первое совпадение содержимого ячейки
Первое совпадение в диапазоне с групповым символом
=ИНДЕКС( диапазон; ПОИСКПОЗ( значения& «*»; диапазон; 0))
Для того, чтобы получить значение первого совпадения в диапазоне с помощью группового символа, вы можете использовать ИНДЕКС и ПОИСКПОЗ формулы, сконфигурированные для точного соответствия.
В примере формула в F5 является:
= ИНДЕКС( B5: D5; ПОИСКПОЗ( E5 & «*» ; B5: D5 ; 0 ))
Получить адрес результата поиска
= ЯЧЕЙКА( «адрес» ; ИНДЕКС( диапазон ; строка ; столбец ))
Для того, чтобы получить адрес в результате поиска, полученного с ИНДЕКС, вы можете использовать функцию ЯЧЕЙКА.
В приведенном примере формула в ячейке G8 является:
= ЯЧЕЙКА( «адрес» ; ИНДЕКС( B5: D11 ; ПОИСКПОЗ( G6 ; B5: B11 ; 0 ); 2 ))
Который возвращает адрес $C$8, адрес ячейки, возвращаемый ИНДЕКС
Получить первое совпадение содержимого ячейки
=ИНДЕКС(E4:E8;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(ПОИСК(E4:E8;B4));0))
Чтобы проверить ячейку для одной из нескольких вещей, и вернуть первое совпадение, найденное в списке, вы можете использовать формулу ИНДЕКС/ПОИСКПОЗ, которая использует ПОИСК или НАЙТИ, чтобы найти соответствие.
Чтобы найти частичные совпадения внутри ячейки, вы можете использовать формулу , основанную на ПОИСК(не учитывается регистр) или НАЙТИ(чувствителен к регистру). Эта формула должна быть адаптирована для поиска нескольких значений в той же самой ячейке.
Поиск совпадений в Excel
Рассмотрим одну из полезных опций, предлагаемую программой Microsoft Excel. Кстати, лицензионную версию этой программы вы можете купить в нашем интернет-магазине со скидкой. Цены и версии можно посмотреть здесь.
Сегодня речь пойдет об «Условном форматировании». Оно предназначено для выделения ячеек таблицы, имеющих общие черты. Это может быть идентичный шрифт, значения, фон и т.д. Данная операция предусматривает различные конфигурации: строгость проверки, содержание совпадений, их тождественность и вариативность.
- Начнем с запуска программы Microsoft Excel, содержащую необходимую нам таблицу. Следом выделяем диапазон ячеек, нуждающихся в обработке. Речь идет об общности столбцов и ячеек, формирующих часть таблицы, либо несколько несвязанных между собой областей таблицы.
- Далее нам потребуется пройти следующий путь:
- меню Excel, работаем во вкладке «ГЛАBНАЯ».
- Находим в группе команд «CТИЛИ».
- В открывшемся списке отмечаем «УСЛOВНОЕ ФОРМАТИРОВАНИЕ». Нас интересует пункт «ПОВТОРЯЮЩИЕСЯ ЗНАЧЕНИЯ».
- В разделе «ПРАВИЛА BЫДЕЛЕНИЯ ЯЧЕЕК». При необходимости выбираем в списке «ПOВТОРЯЮЩИЕСЯ», что позволит отметить все ячейки в интересующей нас области, имеющие одно и более повторений.
- Выбрав вариант «УНИКАЛЬНЫЕ», мы увидим ячейки с уникальным значением или содержанием.
- Программа имеет широкую линейку возможностей, в частности: можно выбрать подсветку ячеек, попавших в отбор, предусмотрен вариант выбора фона заливки (программа предоставляет 6 цветовых решений), вариации шрифтов и табличных рамок. Возможен выбор «ПОЛЬЗОВАТЕЛЬСКОГО ФОРМАТА», который позволяет создать свой вариант оформления ячеек. Для отмены выборки совпадающих ячеек нажмите ОК.
Использование функции «РАВНО»
Если нужные для выделения ячейки имеют совершенно конкретное значение, воспользуйтесь пунктом «РАВНО» в списке «УСЛОВНОЕ ФОРМАТИРОВАНИЕ», находящееся в разделе «ПРАВИЛА ВЫДЕЛЕНИЯ ЯЧЕЕК». В открывшемся диалоговом окне отметьте интересующие вас ячейки, требующие выявления дубликатов, при этом их адрес появится в соседнем диалоговом окне. Овладев этими нехитрыми навыками, вы сможете значительно сократить время на обработку табличных данных и группировку общих значений.
Видео: Поиск совпадений в Excel
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
Функция ПОИСКПОЗ в Excel используется для поиска точного совпадения или ближайшего (меньшего или большего заданному в зависимости от типа сопоставления, указанного в качестве аргумента) значения заданному в массиве или диапазоне ячеек и возвращает номер позиции найденного элемента.
Примеры использования функции ПОИСКПОЗ в Excel
Например, имеем последовательный ряд чисел от 1 до 10, записанных в ячейках B1:B10. Функция =ПОИСКПОЗ(3;B1:B10;0) вернет число 3, поскольку искомое значение находится в ячейке B3, которая является третьей от точки отсчета (ячейки B1).
Данная функция удобна для использования в случаях, когда требуется вернуть не само значение, содержащееся в искомой ячейке, а ее координату относительно рассматриваемого диапазона. В случае использования для констант массивов, которые могут быть представлены как массивы элементов «ключ» — «значение», функция ПОИСКПОЗ возвращает значение ключа, который явно не указан.
Например, массив <«виноград»;»яблоко»;»груша»;»слива»>содержит элементы, которые можно представить как: 1 – «виноград», 2 – «яблоко», 3 – «груша», 4 – «слива», где 1, 2, 3, 4 – ключи, а названия фруктов – значения. Тогда функция =ПОИСКПОЗ(«яблоко»;<«виноград»;»яблоко»;»груша»;»слива»>;0) вернет значение 2, являющееся ключом второго элемента. Отсчет выполняется не с 0 (нуля), как это реализовано во многих языках программирования при работе с массивами, а с 1.
Функция ПОИСКПОЗ редко используется самостоятельно. Ее целесообразно применять в связке с другими функциями, например, ИНДЕКС.
Формула для поиска неточного совпадения текста в Excel
Пример 1. Найти позицию первого частичного совпадения строки в диапазоне ячеек, хранящих текстовые значения.
Вид исходной таблицы данных:
Для нахождения позиции текстовой строки в таблице используем следующую формулу:
Из полученного значения вычитается единица для совпадения результата с id записи в таблице.
Сравнение двух таблиц в Excel на наличие несовпадений значений
Пример 2. В Excel хранятся две таблицы, которые на первый взгляд кажутся одинаковыми. Было решено сравнить по одному однотипному столбцу этих таблиц на наличие несовпадений. Реализовать способ сравнения двух диапазонов ячеек.
Вид таблицы данных:
Для сравнения значений, находящихся в столбце B:B со значениями из столбца A:A используем следующую формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ выполняет поиск логического значения ИСТИНА в массиве логических значений, возвращаемых функцией СОВПАД (сравнивает каждый элемент диапазона A2:A12 со значением, хранящимся в ячейке B2, и возвращает массив результатов сравнения). Если функция ПОИСКПОЗ нашла значение ИСТИНА, будет возвращена позиция его первого вхождения в массив. Функция ЕНД возвратит значение ЛОЖЬ, если она не принимает значение ошибки #Н/Д в качестве аргумента. В этом случае функция ЕСЛИ вернет текстовую строку «есть», иначе – «нет».
Чтобы вычислить остальные значения «протянем» формулу из ячейки C2 вниз для использования функции автозаполнения. В результате получим:
Как видно, третьи элементы списков не совпадают.
Поиск ближайшего большего знания в диапазоне чисел Excel
Пример 3. Найти ближайшее меньшее числу 22 в диапазоне чисел, хранящихся в столбце таблицы Excel.
Вид исходной таблицы данных:
Для поиска ближайшего большего значения заданному во всем столбце A:A (числовой ряд может пополняться новыми значениями) используем формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ возвращает позицию элемента в столбце A:A, имеющего максимальное значение среди чисел, которые больше числа, указанного в ячейке B2. Функция ИНДЕКС возвращает значение, хранящееся в найденной ячейке.
Для поиска ближайшего меньшего значения достаточно лишь немного изменить данную формулу и ее следует также ввести как массив (CTRL+SHIFT+ENTER):
Особенности использования функции ПОИСКПОЗ в Excel
Функция имеет следующую синтаксическую запись:
=ПОИСКПОЗ( искомое_значение;просматриваемый_массив; [тип_сопоставления])
- искомое_значение – обязательный аргумент, принимающий текстовые, числовые значения, а также данные логического и ссылочного типов, который используется в качестве критерия поиска (для сопоставления величин или нахождения точного совпадения);
- просматриваемый_массив – обязательный аргумент, принимающий данные ссылочного типа (ссылки на диапазон ячеек) или константу массива, в которых выполняется поиск позиции элемента согласно критерию, заданному первым аргументом функции;
- [тип_сопоставления] – необязательный для заполнения аргумент в виде числового значения, определяющего способ поиска в диапазоне ячеек или массиве. Может принимать следующие значения:
- -1 – поиск наименьшего ближайшего значения заданному аргументом искомое_значение в упорядоченном по убыванию массиве или диапазоне ячеек.
- 0 – (по умолчанию) поиск первого значения в массиве или диапазоне ячеек (не обязательно упорядоченном), которое полностью совпадает со значением, переданным в качестве первого аргумента.
- 1 – Поиск наибольшего ближайшего значения заданному первым аргументом в упорядоченном по возрастанию массиве или диапазоне ячеек.
- Если в качестве аргумента искомое_значение была передана текстовая строка, функция ПОИСКПОЗ вернет позицию элемента в массиве (если такой существует) без учета регистра символов. Например, строки «МоСкВа» и «москва» являются равнозначными. Для различения регистров можно дополнительно использовать функцию СОВПАД.
- Если поиск с использованием рассматриваемой функции не дал результатов, будет возвращен код ошибки #Н/Д.
- Если аргумент [тип_сопоставления] явно не указан или принимает число 0, для поиска частичного совпадения текстовых значений могут быть использованы подстановочные знаки («?» — замена одного любого символа, «*» — замена любого количества символов).
- Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.
Поиск совпадений в двух списках
Тема сравнения двух списков поднималась уже неоднократно и с разных сторон, но остается одной из самых актуальных везде и всегда. Давайте рассмотрим один из ее аспектов — подсчет количества и вывод совпадающих значений в двух списках. Предположим, что у нас есть два диапазона данных, которые мы хотим сравнить:
Для удобства, можно дать им имена, чтобы потом использовать их в формулах и ссылках. Для этого нужно выделить ячейки с элементами списка и на вкладке Формулы нажать кнопку Менеджер Имен — Создать (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) :
В открывшемся окне делаем три вещи:
- выбираем наши таблицы из выпадающих списков
- выделяем столбцы, по которым идет сравнение
- выбираем Тип соединения = Внутреннее (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
Сегодня расскажу как искать совпадение в столбцах Excel. Разберем все тонкости на примерах.
Задача 1: Есть 6 текстов в 6 ячейках. Необходимо узнать, какие из них уникальные, а какие повторяются.
Использовать будем Условное форматирование.
- Выбираем ячейки, которые необходимо сравнить;
- Во вкладке Главная переходим «Условное форматирование -> Правила выделения ячеек -> Повторяющиеся значения»;
Выскакивает новое окно и в таблице начинают подсвечиваться ячейки, которые повторяются.
В этом окне вы можете выбрать две настройки: подсвечивать Повторяющиеся или Уникальные ячейки, а также какую подсветку при этом использовать — граница, текст, цвет текста, фон или своя уникальная.
Рассмотрим еще пример. Необходимо сравнить два столбца в Excel на совпадения. Есть таблица, в которой также есть совпадения, но уже числовые.
Выбираем таблицу и заходим в Повторяющиеся значения. Все совпадения будут подсвечены.
Можно, например, найти совпадения в одном столбце. Для этого достаточно перед применением опции выделить только его.
Ну и как я говорил выше, из выпадающего списка вы можете выделять не только повторяющиеся ячейки, но и уникальные.
Искать таким образом можно буквы, слова, символы, тексты и т.д.
Как сравнить два столбца в Excel на совпадения
Пожалуй, каждый, кто работает с данными в Excel сталкивается с вопросом как сравнить два столбца в Excel на совпадения и различия. Существует несколько способов как это сделать. Давайте рассмотрим подробней каждый из них.
Как сравнить два столбца в Excel по строкам
Сравнивая два столбца с данными часто необходимо сравнивать данные в каждой отдельной строке на совпадения или различия. Сделать такой анализ мы можем с помощью функции ЕСЛИ . Рассмотрим как это работает на примерах ниже.
Пример 1. Как сравнить два столбца на совпадения и различия в одной строке
Для того, чтобы сравнить данные в каждой строке двух столбцов в Excel напишем простую формулу ЕСЛИ . Вставлять формулу следует в каждую строку в соседнем столбце, рядом с таблицей, в которой размещены основные данные. Создав формулу для первой строки таблицы, мы сможем ее протянуть/скопировать на остальные строки.
Для того чтобы проверить, содержат ли два столбца одной строки одинаковые данные нам потребуется формула:
=ЕСЛИ(A2=B2; “Совпадают”; “”)
Формула, определяющая различия между данными двух столбцов в одной строке будет выглядеть так:
=ЕСЛИ(A2<>B2; “Не совпадают”; “”)
Мы можем уместить проверку на совпадения и различия между двумя столбцами в одной строке в одной формуле:
=ЕСЛИ(A2=B2; “Совпадают”; “Не совпадают”)
=ЕСЛИ(A2<>B2; “Не совпадают”; “Совпадают”)
Пример результата вычислений может выглядеть так:
Для того чтобы сравнить данные в двух столбцах одной строки с учетом регистра следует использовать формулу:
=ЕСЛИ(СОВПАД(A2,B2); “Совпадает”; “Уникальное”)
Как сравнить несколько столбцов на совпадения в одной строке Excel
В Excel есть возможность сравнить данные в нескольких столбцах одной строки по следующим критериям:
- Найти строки с одинаковыми значениями во всех столбцах таблицы;
- Найти строки с одинаковыми значениями в любых двух столбцах таблицы;
Пример1. Как найти совпадения в одной строке в нескольких столбцах таблицы
Представим, что наша таблица состоит из нескольких столбцов с данными. Наша задача найти строки в которых значения совпадают во всех столбцах. В этом нам помогут функции Excel ЕСЛИ и И . Формула для определения совпадений будет следующей:
=ЕСЛИ(И(A2=B2;A2=C2); “Совпадают”; ” “)
Если в нашей таблице очень много столбцов, то более просто будет использовать функцию СЧЁТЕСЛИ в сочетании с ЕСЛИ :
=ЕСЛИ(СЧЁТЕСЛИ($A2:$C2;$A2)=3;”Совпадают”;” “)
В формуле в качестве “5” указано число столбцов таблицы, для которой мы создали формулу. Если в вашей таблице столбцов больше или меньше, то это значение должно быть равно количеству столбцов.
Пример 2. Как найти совпадения в одной строке в любых двух столбцах таблицы
Представим, что наша задача выявить из таблицы с данными в несколько столбцов те строки, в которых данные совпадают или повторяются как минимум в двух столбцах. В этом нам помогут функции ЕСЛИ и ИЛИ . Напишем формулу для таблицы, состоящей из трех столбцов с данными:
=ЕСЛИ(ИЛИ(A2=B2;B2=C2;A2=C2);”Совпадают”;” “)
В тех случаях, когда в нашей таблице слишком много столбцов – наша формула с функцией ИЛИ будет очень большой, так как в ее параметрах нам нужно указать критерии совпадения между каждым столбцом таблицы. Более простой способ, в этом случае, использовать функцию СЧЁТЕСЛИ .
=ЕСЛИ(СЧЁТЕСЛИ(B2:D2;A2)+СЧЁТЕСЛИ(C2:D2;B2)+(C2=D2)=0; “Уникальная строка”; “Не уникальная строка”)
Первая функция СЧЁТЕСЛИ вычисляет количество столбцов в строке со значением в ячейке А2 , вторая функция СЧЁТЕСЛИ вычисляет количество столбцов в таблице со значением из ячейки B2 . Если результат вычисления равен “0” – это означает, что в каждой ячейке, каждого столбца, этой строки находятся уникальные значения. В этом случае формула выдаст результат “Уникальная строка”, если нет, то “Не уникальная строка”.
Как сравнить два столбца в Excel на совпадения
Представим, что наша таблица состоит из двух столбцов с данными. Нам нужно определить повторяющиеся значения в первом и втором столбцах. Для решения задачи нам помогут функции ЕСЛИ и СЧЁТЕСЛИ .
=ЕСЛИ(СЧЁТЕСЛИ($B:$B;$A5)=0; “Нет совпадений в столбце B”; “Есть совпадения в столбце В”)
Эта формула проверяет значения в столбце B на совпадение с данными ячеек в столбце А.
Если ваша таблица состоит из фиксированного числа строк, вы можете указать в формуле четкий диапазон (например, $B2:$B10 ). Это позволит ускорить работу формулы.
Как сравнить два столбца в Excel на совпадения и выделить цветом
Когда мы ищем совпадения между двумя столбцами в Excel, нам может потребоваться визуализировать найденные совпадения или различия в данных, например, с помощью выделения цветом. Самый простой способ для выделения цветом совпадений и различий – использовать “Условное форматирование” в Excel. Рассмотрим как это сделать на примерах ниже.
Поиск и выделение совпадений цветом в нескольких столбцах в Эксель
В тех случаях, когда нам требуется найти совпадения в нескольких столбцах, то для этого нам нужно:
- Выделить столбцы с данными, в которых нужно вычислить совпадения;
- На вкладке “Главная” на Панели инструментов нажимаем на пункт меню “Условное форматирование” -> “Правила выделения ячеек” -> “Повторяющиеся значения”;
- Во всплывающем диалоговом окне выберите в левом выпадающем списке пункт “Повторяющиеся”, в правом выпадающем списке выберите каким цветом будут выделены повторяющиеся значения. Нажмите кнопку “ОК”:
- После этого в выделенной колонке будут подсвечены цветом совпадения:
Поиск и выделение цветом совпадающих строк в Excel
Поиск совпадающих ячеек с данными в двух, нескольких столбцах и поиск совпадений целых строк с данными это разные понятия. Обратите внимание на две таблицы ниже:
В таблицах выше размещены одинаковые данные. Их отличие в том, что на примере слева мы искали совпадающие ячейки, а справа мы нашли целые повторяющие строчки с данными.
Рассмотрим как найти совпадающие строки в таблице:
- Справа от таблицы с данными создадим вспомогательный столбец, в котором напротив каждой строки с данными проставим формулу, объединяющую все значения строки таблицы в одну ячейку:
=A2&B2&C2&D2
Во вспомогательной колонке вы увидите объединенные данные таблицы:
Теперь, для определения совпадающих строк в таблице сделайте следующие шаги:
- Выделите область с данными во вспомогательной колонке (в нашем примере это диапазон ячеек E2:E15 );
- На вкладке “Главная” на Панели инструментов нажимаем на пункт меню “Условное форматирование” -> “Правила выделения ячеек” -> “Повторяющиеся значения”;
- Во всплывающем диалоговом окне выберите в левом выпадающем списке “Повторяющиеся”, в правом выпадающем списке выберите каким цветом будут выделены повторяющиеся значения. Нажмите кнопку “ОК”:
- После этого в выделенной колонке будут подсвечены дублирующиеся строки:
На примере выше, мы выделили строки в созданной вспомогательной колонке.
Но что, если нам нужно выделить цветом строки не во вспомогательном столбце, а сами строки в таблице с данными?
Для этого сделаем следующее:
- Так же как и в примере выше создадим вспомогательный столбец, в каждой строке которого проставим следующую формулу:
=A2&B2&C2&D2
Таким образом, мы получим в одной ячейке собранные данные всей строки таблицы:
- Теперь, выделим все данные таблицы (за исключением вспомогательного столбца). В нашем случае это ячейки диапазона A2:D15 ;
- Затем, на вкладке “Главная” на Панели инструментов нажмем на пункт “Условное форматирование” -> “Создать правило”:
- В диалоговом окне “Создание правила форматирования” кликните на пункт “Использовать формулу для определения форматируемых ячеек” и в поле “Форматировать значения, для которых следующая формула является истинной” вставьте формулу:
=СЧЁТЕСЛИ($E$2:$E$15;$E2)>1
- Не забудьте задать формат найденных дублированных строк.
Эта формула проверяет диапазон данных во вспомогательной колонке и при наличии повторяющихся строк выделяет их цветом в таблице:
Ссылка на это место страницы:
#title
- Получить первое не пустое значение в списке
- Получить первое текстовое значение в списке
- Получить первое текстовое значение с ГПР
- Получить позицию последнего совпадения
- Получить последнее совпадение содержимого ячейки
- Получить n-е совпадение
- Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
- Получить n-ое совпадение с ВПР
- Если ячейка содержит одну из многих вещей
- Поиск первой ошибки
- Поиск следующего наибольшего значения
- Несколько совпадений в списке, разделенных запятой
- Частичное совпадение чисел с шаблоном
- Частичное совпадение с ВПР
- Положение первого частичного совпадения
- Скачать файл
Ссылка на это место страницы:
#punk01
{ = ИНДЕКС( диапазон ; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( диапазон ); 0 )) }
{ = INDEX( диапазон ; MATCH( FALSE; ISBLANK ( диапазон ); 0 )) }
Если вам нужно получить первое не пустое значение (текст или число) в диапазоне в одной колонке вы можете использовать формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ и ЕПУСТО.
В данном примере мы используем эту формулу:
{ = ИНДЕКС( B3: B11; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( B3: B11 ); 0 )) }
{ = INDEX( B3:B11; MATCH( FALSE; ISBLANK ( B3:B11 ); 0 )) }
Таким образом, суть проблемы заключается в следующем: мы хотим получить первую не пустую ячейку, но для этого нет конкретной формулы в Excel. Мы могли бы использовать ВПР с шаблоном *, но это будет работать только для текста, а не для чисел.
Таким образом, нам нужно строить функциональные возможности для нужных нам формул. Способ сделать это состоит в использовании функции массива, которая «тестирует» ячейки и возвращает массив истина/ложь значения, которые мы можем сопрягать с ПОИСКПОЗ.
Работая изнутри, ЕПУСТО оценивает ячейки в диапазоне В3: В11 и возвращает результат и массив, который выглядит следующим образом:
{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА}
Каждая ЛОЖЬ представляет собой ячейку в диапазоне, который не является пустой.
Далее, ПОИСКПОЗ ищет ЛОЖЬ внутри массива и возвращает позицию первого наденного совпадения, в этом случае 2. На данный момент, формула в примере теперь выглядит следующим образом:
{ = ИНДЕКС( B3: B11; 2; 0 )) }
{ = INDEX( B3:B11; 2; 0 )) }
И, наконец, функция ИНДЕКС выводит значение в положении 2 в массиве, в этом случае число 10.
Ссылка на это место страницы:
#punk02
= ВПР ( «*»; диапазон; 1; ЛОЖЬ)
= VLOOKUP ( «*»; диапазон; 1; FALSE)
Если вам нужно получить первое текстовое значение в списке (диапазон один столбец), вы можете использовать функцию ВПР, чтобы установить точное соответствие, с шаблонным символом для поиска.
В данном примере формула в D7 является:
= ВПР ( «*» ; B5: B11 ; 1 ; ЛОЖЬ)
= VLOOKUP ( «*» ; B5:B11 ; 1 ; FALSE)
Групповой символ звездочка (*) соответствует любому текстовому значению.
Ссылка на это место страницы:
#punk03
= ГПР ( «*»; диапазон; 1; ЛОЖЬ)
= HLOOKUP ( «*»; диапазон; 1; FALSE)
Для поиска и получения первого текстового значения во всем диапазоне столбцов, вы можете использовать функцию ГПР с групповым символом. В примере формула в F5 является:
= ГПР ( «*»; диапазон; 1; ЛОЖЬ)
= HLOOKUP ( «*»; диапазон; 1; FALSE)
Значение поиска является «*», групповым символом, который соответствует одному или более текстовому значению.
Ссылка на это место страницы:
#punk04
= ГПР ( «*»; диапазон; 1; ЛОЖЬ)
= HLOOKUP ( «*»; диапазон; 1; FALSE)
Для того, чтобы получить позицию последнего совпадения (т.е. последнего вхождения) от значения поиска, вы можете использовать формулу, основанную на ЕСЛИ, СТРОКА, ИНДЕКС, ПОИСКПОЗ и MAКС функций.
=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))
=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))
Суть этой формулы состоит в том, что мы строим список номеров строк для данного диапазона, соответствующие по значению, а затем используем функцию MAКС, чтобы получить наибольшее количество строк, что соответствует последнему значению соответствия.
Ссылка на это место страницы:
#punk05
=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))
=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))
Чтобы проверить ячейку для одной из нескольких вещей, и вернуть последнее совпадение, найденное в списке, вы можете использовать формулу, основанную на ПРОСМОТР и ПОИСК функций. В случае нескольких найденных совпадений, формула вернет последнее совпадение из списка «вещей».
=ПРОСМОТР(2;1/ПОИСК($E$4:$E$7;B4);$E$4:$E$7)
=LOOKUP(2;1/SEARCH($E$4:$E$7;B4);$E$4:$E$7)
Ссылка на это место страницы:
#punk06
= НАИМЕНЬШИЙ( ЕСЛИ( логический тест; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); n )
= SMALL( IF( логический тест; СТРОКА( список ) — MIN( ROW( список )) + 1 ); n )
Для того, чтобы получить позицию n-го совпадения (например, второе значение соответствия заданному, третье значение соответствия и т.д.), вы можете использовать формулу, основанную на функции НАИМЕНЬШИЙ.
= НАИМЕНЬШИЙ( ЕСЛИ( список = E5 ; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); F5 )
= SMALL( IF( список = E5 ; ROW( список ) — MIN( ROW( список )) + 1 ); F5 )
Эта формула возвращает позицию второго появления «красных» в списке.
Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.
Ссылка на это место страницы:
#punk07
{ = ИНДЕКС( массив; НАИМЕНЬШИЙ( ЕСЛИ( величины = знач ; СТРОКА ( величины ) — СТРОКА ( ИНДЕКС( величины; 1 ; 1 )) + 1 ); n-й )) }
{ = INDEX( массив; SMALL( IF( величины = знач ; ROW ( величины ) — ROW ( INDEX( величины; 1 ; 1 )) + 1 ); n-й )) }
Эта формула возвращает позицию второго появления «красных» в списке.
Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.
Ссылка на это место страницы:
#punk08
= ВПР( id_формулы; стол; 4; 0 )
= VLOOKUP( id_формулы; стол; 4; 0 )
Чтобы получить n-ое совпадение с ВПР, вам необходимо добавить вспомогательный столбец в таблицу , которая строит уникальный идентификатор , который включает счетчик.
Эта формула зависит от вспомогательного столбца, который добавляется в качестве первого столбца таблицы исходных данных.
Вспомогательный столбец содержит формулу, которая строит уникальное значение взгляда вверх от существующего идентификатора и счетчика. Счетчик подсчитывает сколько раз уникальный идентификатор появился в таблице данных.
В примере, формула ячейки J6 вспомогательного столбца выглядит следующим образом:
=ВПР(J3&»-«&I6;B4:G11;4;0)
=VLOOKUP(J3&»-«&I6;B4:G11;4;0)
Ссылка на это место страницы:
#punk09
{ = ИНДЕКС( результаты ;ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК( вещи ; A1 )); 0 )) }
{ = INDEX( результаты ;MATCH( TRUE ; ISNUMBER( SEARCH( вещи ; A1 )); 0 )) }
Чтобы проверить ячейку для одной из нескольких вещей, и вернуть пользовательский результат для первого найденного совпадения, вы можете использовать формулу ИНДЕКС/ПОИСКПОЗ, основанную на функции поиска.
{ = ИНДЕКС( результаты ; ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК ( вещи ; B5 )); 0 )) }
= INDEX( результаты ; MATCH( TRUE ; ISNUMBER( SEARCH ( вещи ; B5 )); 0 ))
Эта формула использует два названных диапазона: E5: E8 называется «вещи» и F5: F8 называется «Результаты». Убедитесь, что вы используете диапазоны имен с одинаковыми именами (на основе ваших данных). Если вы не хотите использовать именованные диапазоны, используйте абсолютные ссылки вместо этого.
Ссылка на это место страницы:
#punk10
{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА(диап ); 0 ) }
{ = MATCH( TRUE ; ISERROR(диап ); 0 ) }
Если вам нужно найти первую ошибку в диапазоне ячеек, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ЕОШИБКА функциях.
В приведенном примере формула:
{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА( B4: B11 ); 0 ) }
{ = MATCH( TRUE ; ISERROR( B4:B11 ); 0 ) }
Работая изнутри, функция ЕОШИБКА возвращает значение ИСТИНА, если значение является признанной ошибкой, и ЛОЖЬ, если нет.
Когда дается диапазон ячеек (массив ячеек) функция ЕОШИБКА будет возвращать массив истина/ложь значений. В примере, это результирующий массив выглядит следующим образом:
{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}
Обратите внимание, что 6-е значение (что соответствует 6-й ячейке в диапазоне) истинно, так как ячейка В9 содержит #Н/A.
Ссылка на это место страницы:
#punk11
=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )
=INDEX ( данные; MATCH( поиск ; значения ) + 1 )
Для того, чтобы найти «следующее наибольшее» значение в справочной таблице, можно использовать формулу, основанную на ИНДЕКС и ПОИСКПОЗ. В примере формула в F6 является:
=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )
=INDEX ( данные; MATCH( поиск ; значения ) + 1 )
Ссылка на это место страницы:
#punk12
{ = ОБЪЕДИНИТЬ ( «;» ; ИСТИНА ; ЕСЛИ( диапазон1 = E5 ; диапазон2 ; «» )) }
{ = ОБЪЕДИНИТЬ ( «;» ; TRUE ; IF( диапазон1 = E5 ; диапазон2 ; «» )) }
Для поиска и извлечения нескольких совпадений, разделенных запятыми (в одной ячейке), вы можете использовать функцию ЕСЛИ с функцией ОБЪЕДИНИТЬ.
{ = ОБЪЕДИНИТЬ( «;» ; ИСТИНА ; ЕСЛИ( группа = E5 ; имя ; «» )) }
Эта формула использует «имя» — именованный диапазон (B5: B11) и «группа» — (C5: C11).
Ссылка на это место страницы:
#punk13
{ = ПОИСКПОЗ( «*» & номер & «*» ; ТЕКСТ( диапазон ; «0» ); 0 ) }
{ = MATCH( «*» & номер & «*» ; TEXT( диапазон ; «0» ); 0 ) }
Для того, чтобы выполнить частичное совпадение (подстроки) против чисел, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ТЕКСТ.
Excel поддерживает символы подстановки «*» и «?». Тем не менее, если вы используете специальные символы с номером, вы будете преобразовывать числовое значение в текстовое значение. Другими словами, «*» & 99 & «*» = «* 99 *» (текстовая строка).
Если попытаться найти текстовое значение в диапазоне чисел, совпадение завершится неудачно.
Одно из решений заключается в преобразовании чисел в диапазоне поиска для текстовых значений, а затем сделать нормальный поиск с ПОИСКПОЗ, ВПР и т.д.
Другой способ, чтобы преобразовать числа в текст, чтобы сцепить пустую строку. Эта формула работает так же, как выше формуле:
= ПОИСКПОЗ ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )
= MATCH ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )
Ссылка на это место страницы:
#punk14
Если вы хотите получить информацию из таблицы на основе частичного совпадения, вы можете сделать это с помощью ВПР в режиме точного соответствия, и групповые символы.
В примере формула ВПР выглядит следующим образом:
=ВПР($H$2&»*»;$B$3:$E$12;2;0)
=VLOOKUP($H$2&»*»;$B$3:$E$12;2;0)
В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:
Ссылка на это место страницы:
#punk15
= ПОИСКПОЗ ( «* текст *» ; диапазон; 0 )
= MATCH ( «* текст *» ; диапазон; 0 )
Для того, чтобы получить позицию первого частичного совпадения (то есть ячейку, которая содержит текст, который вы ищете), вы можете использовать функцию ПОИСКПОЗ со специальными символами.
=ПОИСКПОЗ(«*»&E6&»*»;B5:B10;0)
=MATCH(«*»&E6&»*»;B5:B10;0)
Функция ПОИСКПОЗ возвращает позицию или «индекс» в первом совпадении на основании значения поиска в диапазоне.
ПОИСКПОЗ поддерживает подстановочное согласование со звездочкой «*» (один или несколько символов) или знаком вопроса «?» (один символ), но только тогда, когда третий аргумент, тип_сопоставления, установлен в ЛОЖЬ или ноль.
Ссылка на это место страницы:
#punk16
Файлы статей доступны только зарегистрированным пользователям.
1. Введите свою почту
2. Нажмите Зарегистрироваться
3. Обновите страницу
Вместо этого блока появится ссылка для скачивания материалов.
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель — помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Подписывайтесь на нас в соц.сетях: