Функция SEARCH (DAX)

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

Синтаксис

SEARCH(<find_text>, <within_text>, [start_num])

Параметры

Элемент

Определение

find_text

Текст, который необходимо найти.

within_text

Текст, в котором будет выполняться поиск find_text, или столбец, содержащий текст.

start_num

Положение символа в within_text, с которого следует начинать поиск (необязательно). Если не указано, 1.

Значение свойства/возвращаемое значение

Номер начальной позиции первой текстовой строки, если считать с первого символа второй текстовой строки.

Замечания

С помощью этой функции можно найти одну текстовую строку внутри второй текстовой строки и возвратить позицию начала первой текстовой строке.

Функцию SEARCH можно использовать для определения положения символа или текстовой строки внутри другой текстовой строки; после чего при помощи функций MID можно вернуть текст или использовать функцию REPLACE, чтобы изменить текст.

Если find_text не может быть найден в within_text, формула возвращает ошибку. Функция Excel работает аналогично и возвращает #ЗНАЧ, если подстрока не найдена. Значения NULL в within_text будут обрабатываться как пустая строка в этом контексте.

Пример. Поиск в строке

Описание

Следующая формула ищет положение буквы «н» в слове «принтер».

Код

=SEARCH("n","printer")

Комментарии

Формула вернет 4, потому что «н» является четвертым символом в слове «принтер».

Пример. Поиск в столбце

Описание

В качестве аргумента функции SEARCH можно использовать ссылку на столбец. Следующая формула определяет положение символа «-» (дефис) в столбце [PostalCode].

Код

=SEARCH("-",[PostalCode])

Комментарии

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

Описание

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

Следующая формула определяет положение символа «-» в столбце и возвращает значение -1, если строка не найдена.

Код

= IFERROR(SEARCH("-",[PostalCode]),-1)

Комментарии

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

Однако также можно возвращать пустое значение (пустую строку), используя BLANK() в качестве второго аргумента функции IFERROR.

См. также

Справочник

Другие ресурсы