Функция поиска Excel

Я работаю над функцией поиска, и я не могу заставить ее работать. Я ищу значение с одного рабочего листа на другой. Проблема, с которой я сталкиваюсь, заключается в том, что некоторые имена на листе Excel, который я ищу, не расположены так же, как на другом листе. Например, вместо имени Джон Дэвис лист поиска может иметь имя Джон Дэвис. Или Питер Ли Томас может быть Питером ЛиТомасом. Поэтому моя функция поиска не работает из-за этого.

=IF(B2="AD Non Chargeable","Internal",INDEX(Sheet3!B:B,MATCH('Raw Data'!B2,Sheet3!A:A,0)))

Не могли бы вы посоветовать лучший способ обойти это? Мой лист поиска - Sheet3


person James    schedule 18.12.2017    source источник
comment
Добавьте в каждый диапазон столбцы, которые содержат «продезинфицированные» значения, которые вы хотите сопоставить. Затем используйте, например. substitute(the_cell, " ", "").   -  person underscore_d    schedule 18.12.2017


Ответы (2)


Хорошо, если, например, ваши данные выглядели так:

A            B  C           D
Some Text 1  2  SomeText3
Som e Text 2 3  Some Text 2
So meText 3  4  SomeTex t1

Формула поиска в столбце D будет выглядеть так:

=INDEX($B$1:$B$3,MATCH(SUBSTITUTE(C1," ",""),SUBSTITUTE($A$1:$A$3," ",""),0))

Обязательно примените эту формулу к Ctrl + Shift + Enter.

Результат будет выглядеть так, как ожидалось:

A            B  C           D
Some Text 1  2  SomeText3   4
Som e Text 2 3  Some Text 2 3
So meText 3  4  SomeTex t1  2
person zipa    schedule 18.12.2017

Одним из решений было бы создать еще один столбец Sheet3, в этом примере B, чтобы удалить все пробелы, например:

In cell B2 (and copied down): =substitute(A2,"","")

Затем измените свой поиск, чтобы аналогичным образом изменить его данные, и искать в этом пространстве удаленную строку B:

=IF(B2="AD Non Chargeable","Internal",INDEX(Sheet3!B:B,MATCH(substitute('Raw Data'!B2," ",""),Sheet3!A:A,0)))
person James Hawkins    schedule 18.12.2017