Вы можете использовать следующее (вам нужно будет настроить ваш макет).Я предположил, что A
и 95
, например, находятся в отдельных ячейках, когда вы объединяете ячейки в своей формуле для поиска.
=IF(AND(ISERROR(INDEX(OFFSET(INDEX(C:C,H2),,,I2-H2+1,1),MATCH(VLOOKUP(G2,LEFT(OFFSET(INDEX(B:B,H2),,,I2-H2+1,1),FIND("-",OFFSET(INDEX(B:B,H2),,,I2-H2+1,1))-1)*1,TRUE),LEFT(OFFSET(INDEX(B:B,H2),,,I2-H2+1,1),FIND("-",OFFSET(INDEX(B:B,H2),,,I2-H2+1,1))-1)*1,0))),INDEX(A:A,COUNTA(A:A)+1)=F2,G2>=1*LEFT(INDEX(B:B,COUNTA(A:A)+1),FIND("-",INDEX(B:B,COUNTA(A:A)+1))-1),G2<=1*RIGHT(INDEX(B:B,COUNTA(A:A)+1),LEN(INDEX(B:B,COUNTA(A:A)+1)) - FIND("-",INDEX(B:B,COUNTA(A:A)+1)))),INDEX(C:C,COUNTA(A:A)+1),INDEX(OFFSET(INDEX(C:C,H2),,,I2-H2+1,1),MATCH(VLOOKUP(G2,LEFT(OFFSET(INDEX(B:B,H2),,,I2-H2+1,1),FIND("-",OFFSET(INDEX(B:B,H2),,,I2-H2+1,1))-1)*1,TRUE),LEFT(OFFSET(INDEX(B:B,H2),,,I2-H2+1,1),FIND("-",OFFSET(INDEX(B:B,H2),,,I2-H2+1,1))-1)*1,0)))
Это вводится как формула массива с Ctrl + Shift + Введите
Формулы в вспомогательных ячейках (чтобы общая формула была более разборчивой):
H2
is =MATCH(F2,A:A,0)
'находит первое совпадение для буквы, например, A
I2
is =MAX(IF(A:A=F2,ROW(A:A)-ROW(INDEX(A:A,1,1))+1))
' находит последнее совпадение для буквы, например A
.Это вводится с помощью Ctrl + Shift + Введите т.е. формула массива.
Структура данных
Пример прогона:
Примечания:
Выможет потребоваться обернуть все это в IFERROR( formula, "")
, чтобы скрыть все не найденные сообщения об ошибках.