Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает относительную позицию элемента в массиве, который соответствует указанному значению в указанном порядке. Функция ПОИСКПОЗ следует использовать вместо одной из функций уточняющего запроса, когда требуется найти позицию элемента в диапазоне, а не сам элемент.
Синтаксис
выражение. Соответствие (Arg1, Arg2, Arg3)
выражение Переменная, представляющая объект WorksheetFunction .
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| Арг1 | Обязательный | Variant | Lookup_value: значение, используемое для поиска нужного значения в таблице. |
| Арг2 | Обязательный | Variant | Lookup_array: непрерывный диапазон ячеек, содержащих возможные искомые значения. Lookup_array должен быть массивом или ссылкой на массив. |
| Арг3 | Необязательный | Variant | Match_type: число -1, 0 или 1. Match_type указывает, каким образом Microsoft Excel сопоставляет lookup_value со значениями в lookup_array. |
Возвращаемое значение
Double
Примечания
Lookup_value — это значение, которое должно сопоставляться в lookup_array. Например, при поиске числа в телефонной книге в качестве искомого значения используется имя абонента, а нужным значением будет номер телефона.
Lookup_value может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, указывающую на число, текст или логическое значение.
Если match_type равно 1, функция поиска совпадений находит наибольшее значение, которое не превышает lookup_value. Lookup_array должны располагаться в возрастающем порядке: ...-2, -1, 0, 1, 2, ..., A-Z, ЛОЖЬ, ИСТИНА.
Если match_type равно 0, функция "Поиск" находит первое значение, равное lookup_value. Lookup_array может быть в произвольном порядке. Обратите внимание, что функция "Соответствовать " не чувствительна к регистру.
Если match_type равно -1, функция "Поиск" находит наименьшее значение, которое больше или равно lookup_value. Lookup_array должны быть расположены в порядке убывания: ИСТИНА, ЛОЖЬ, Я-ЗА, ... 2, 1, 0, -1, -2, ..., и т. д.
Если match_type опущен, оно считается равным 1.
Функция поиска совпадений возвращает не само значение, а его позицию в lookup_array. Например, MATCH("b",{"a","b","c"},0) возвращает 2 — относительную позицию буквы "b" в массиве {"a","b","c"}.
Функция поиска совпадения не различает регистры при сопоставлении текста.
Если не удается найти совпадение, возвращается значение ошибки #N/A.
Если match_type равно 0 и lookup_value текст, в lookup_value можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому отдельно взятому символу; звездочка — любой последовательности символов. Если требуется найти сам вопросительный знак или звездочку, перед ними следует ввести знак тильды (~).
Пример
В этом примере выполняется поиск совпадающих значений по всей книге. Если макрос находит совпадающее значение, исходное значение на первом листе становится полужирным.
Sub HighlightMatches()
Application.ScreenUpdating = False
'Declare variables
Dim var As Variant, iSheet As Integer, iRow As Long, iRowL As Long, bln As Boolean
'Set up the count as the number of filled rows in the first column of Sheet1.
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
'Cycle through all the cells in that column:
For iRow = 1 To iRowL
'For every cell that is not empty, search through the first column in each worksheet in the
'workbook for a value that matches that cell value.
If Not IsEmpty(Cells(iRow, 1)) Then
For iSheet = ActiveSheet.Index + 1 To Worksheets.Count
bln = False
var = Application.Match(Cells(iRow, 1).Value, Worksheets(iSheet).Columns(1), 0)
'If you find a matching value, indicate success by setting bln to true and exit the loop;
'otherwise, continue searching until you reach the end of the workbook.
If Not IsError(var) Then
bln = True
Exit For
End If
Next iSheet
End If
'If you don't find a matching value, don't bold the value in the original list;
'if you do find a value, bold it.
If bln = False Then
Cells(iRow, 1).Font.Bold = False
Else
Cells(iRow, 1).Font.Bold = True
End If
Next iRow
Application.ScreenUpdating = True
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.