Индекс Excel и функция сопоставления с подстановочной строкой - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь сопоставить строку из электронной таблицы 2 со строкой с подстановочным знаком между двумя значениями ячеек из электронной таблицы 1, а затем при совпадении вернуть значение из столбца C из электронной таблицы 1 в столбец B в электронную таблицу 2.

Электронная таблица 1

A               B                C 
Jonathan        Smith            1234
Sarah           Jones            1235 

Электронная таблица 2

A                             B 
Jonathan Harry Smith          Return value from column C from Spreadsheet 1 - expected to be 1234     
Sarah Jones                   Return value from column C from Spreadsheet 1 - expected to be 1235

Формула, которую я пробовал,

=INDEX(A:A, MATCH('Spreadsheet 1'A1&"*"&'Spreadsheet 1'B1,'Spreadsheet 1'C:C,0))

Формула, похоже, не работает, так как не возвращает правильное значение из столбца C электронной таблицы 1, она возвращает значение для другого человека. Где я ошибся? Спасибо.

1 Ответ

0 голосов
/ 30 октября 2018

Ваша формула выглядит как обратная, так как она возвращает имя на Листе 2, а не значение в Столбце С Листа1. Это также сопоставление на основе порядка Sheet1, а не порядка Sheet2. Если бы листы были в другом порядке, формула потерпела бы неудачу.

Я не совсем уверен, что подстановочный знак Excel работает так, как вам нужно. Я бы предложил разобрать имена и фамилии столбца A на листе 2 и сопоставить их с столбцами A и B на листе 1. Это будет работать до тех пор, пока в столбце A листа 2 имеются 1 или 2 пробела. Попробуйте эту формулу в ячейке B2 листа 2:

=INDEX(Sheet1!C:C,MATCH(IFERROR(RIGHT(A2,LEN(A2)-SEARCH(" ",A2,SEARCH(" ",A2)+1)),RIGHT(A2,LEN(A2)-SEARCH(" ",A2))),IF(Sheet1!A:A=LEFT(A2,SEARCH(" ",A2)-1),Sheet1!B:B),0),1)

Эта формула работает без ввода в качестве формулы массива, что меня удивляет. На всякий случай я бы отнесся к нему как к формуле массива, выполнив ее с помощью сочетания клавиш CTRL + Shift + Enter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...