Excel - подстрока соответствия из списка вариантов - INDEX, MATCH и FIND используются вместе


Answers

По моему мнению, это не может быть решена только одной формулой.
Использование VBA может сделать.

Сначала добавьте новый модуль.

Во-вторых, добавьте функцию ниже:

Function GetRow(xCell As Range, xRange As Range)
    i = 2
    Do
        If Cells(i, xRange.Column).Value = "" Then
            Exit Do
        ElseIf InStr(1, Cells(xCell.Row, xCell.Column).Value, Cells(i, xRange.Column).Value) > 0 Then
            GetRow = Cells(i, xRange.Column + 1).Value
        End If
        i = i + 1
    Loop
End Function

В-третьих, добавьте формулу во все строки в столбце B:

=GetRow($A7; E:E)
Question

Я бы хотел найти конкретное название фильма в списке названий видео, найти MATCH и использовать Index, чтобы вернуть его описание. Я знаю, что это можно сделать с помощью текстового поиска в фильтре через столбец А, но я бы хотел сделать это с помощью формулы.

** EDIT: Я думаю, что первая версия этого вопроса показала, что у меня есть только несколько фильмов и названий. Эти статистические данные могут помочь:

Column A: 2,000 Total Video Titles (movie titles can appear more than once)
Column E: 50 Movie Titles
Column F: 50 Movie Descriptions

Пример:

A                                    B
Title                               Description
Spiderman Review and BTS       
Best Dark Knight clips
Bloopers: Liar Liar
Interviews with The Departed cast

..1,996 других видеороликов

В двух других столбцах у меня есть названия и описания:

    E                                 F
Title                             Description
Dark Knight                       Dark Knight Description   
Spiderman                         Spider Man Description
The Departed                      The Departed    
Liar Liar                         Liar Liar Description

... еще 46 названий и описаний фильмов

EDIT: добавление дополнительных видеороликов:

Row   A (video titles)          B (description)
48   Titanic romantic scenes 
49   Dumb and Dumber bloopers
50   BTS Schindler's List
51   Story behind Get Out movie
52   Who are the X-Men?

Внутри В2 я могу напечатать

=if(isnumber(find("Spiderman",A2)),index(F2:F4,match("Spiderman",E2:E4,0)))

Затем я могу повторить эту формулу для каждого фильма, но до сих пор полный список содержит более 50 фильмов. Я хотел бы создать что-то вроде этого:

{Index($F$2:$F$4,match(TRUE,isnumber(find($E$2:$E$4,A2)),0))}

Таким образом, я бы поискал A2, чтобы узнать, возвращает ли FIND ANY соответствие из списка, а затем возвращает описание с помощью INDEX. Но эта формула не работает. Где я неправ?




Related