В Excel 2013 я хотел бы найти значение в столбце B в строке, где строка соответствует строке в столбце A. Что усложняет то, что строки в столбце A могут быть короче, чем искомая строка значения. Пример:
Column A Column B
ABCD- Result1
EF Result2
BCD Result3
Теперь примеры строк, которые должны возвращаться ...
"Result1": "ABCD-", "ABCD-EFG", "ABCD-H"
"Result2": "EF", "EFG", "EFGHIIJKL"
"Result3": "BCD", "BCDXY"
"ABCD" не должен возвращать никакого результата.
Предположим, искомая строка находится в ячейке C1.
Нужно ли прибегать к макросу или есть формула для этого?
UPD: будет несколько искомых строк, которые на самом деле будут находиться в столбце на другом листе, и в начале не будет подстановочных знаков. Значение, которое я ищу, может быть помещено в столбец рядом со столбцом с искомыми строками.
UPD2: предположим, что содержимое столбца A и столбца B на листе 1 и содержимое на листе 2 ниже:
SoughtString ResultFound
ABCD- Result1
EF Result2
BCD Result3
BCDXY Result3
EFG Result2
ABCD-EFG Result1
EFGHIIJKL Result2
ABCD-H Result1
ABCD No match
Скопировав слегка измененную формулу массива из принятого ответа в ячейку B2:
=IFERROR(INDEX(Sheet1!B$2:B$4;MATCH(1;COUNTIF(A2;Sheet1!A$2:A$4&"*")*(Sheet1!A$2:A$4<>"");0));"No match")