Это формула массива - подтвердите ее с помощью Ctrl + Shift + Введите , находясь в строке формул:
=INDEX(Towns,SMALL(IF(ISNUMBER(SEARCH(INDEX(Towns,0,2),B2)),INDEX(Towns,0,1)),1),3)
Разбить это:
Сначала вам нужно создать именованный диапазон (я назвал мои "Города"), который содержит массив индекса, название города и желаемый результат "BRN**"
(вы можете сделать это простым диапазоном и просто ссылаться на него, но Я ввел фактический массив, выбрав диапазон в формуле, выделив его и используя F9 для вычисления)
Теперь, когда у вас есть этот массив, я использую Index, предоставляющий 0 для аргумента строки, чтобы вернуть все строки, чтобы я мог приравнивать только к одному столбцу за раз.
IF(ISNUMBER(SEARCH(INDEX(Towns,0,2),B2)),INDEX(Towns,0,1))
Поскольку это формула массива, каждая строка оценивается индивидуально, а результаты (первый столбец при совпадении - индекс массива) возвращаются в виде массива, например: {FALSE;FALSE;3;FALSE;FALSE;FALSE;FALSE}
Затем я использую SMALL()
, чтобы поймать наименьшее число или первое совпадение, чтобы подать другой индекс для третьего столбца.