Задать вопрос
  • Множественный ВПР в одной ячейке по части текста?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    В Excel на VBA что-то возможно подобное сделать.
    В Google таблицах есть шанс обойтись формулами, хотя и пользовательскую функцию там проще сделать.
    на формулах это жутко выглядит, да и ошибиться можно на раз. Формула для 3х итераций

    =join(
            "/"
            ;ТРАНСП(unique(
                    ТРАНСП(split(
                            join(
                                    "/"
                                    ;ArrayFormula(
                                            ЕСЛИОШИБКА(
                                                    ВПР(
                                                            split(
                                                                    join(
                                                                            "/"
                                                                            ;ArrayFormula(
                                                                                    ЕСЛИОШИБКА(
                                                                                            ВПР(
                                                                                                    split(
                                                                                                            ВПР(A1;FILTER(A:B;A:A<>"");2;0)
                                                                                                            ;"/"
                                                                                                    )
                                                                                                    ;FILTER(A:B;A:A<>"")
                                                                                                    ;2
                                                                                                    ;0
                                                                                            )
                                                                                            ;split(
                                                                                                    ВПР(A1;FILTER(A:B;A:A<>"");2;0)
                                                                                                    ;"/"
                                                                                            )
                                                                                    )
                                                                            )
                                                                    )
                                                                    ;"/"
                                                            )
                                                            ;FILTER(A:B;A:A<>"")
                                                            ;2
                                                            ;0
                                                    )
                                                    ;split(
                                                                    join(
                                                                            "/"
                                                                            ;ArrayFormula(
                                                                                    ЕСЛИОШИБКА(
                                                                                            ВПР(
                                                                                                    split(
                                                                                                            ВПР(A1;FILTER(A:B;A:A<>"");2;0)
                                                                                                            ;"/"
                                                                                                    )
                                                                                                    ;FILTER(A:B;A:A<>"")
                                                                                                    ;2
                                                                                                    ;0
                                                                                            )
                                                                                            ;split(
                                                                                                    ВПР(A1;FILTER(A:B;A:A<>"");2;0)
                                                                                                    ;"/"
                                                                                            )
                                                                                    )
                                                                            )
                                                                    )
                                                                    ;"/"
                                                            )
                                            )
                                    )
                            )
                            ;"/"
                    ))
            ))
    )


    Демонстрационная таблица
    Ответ написан
    5 комментариев