Из ваших вопросов и примеров данных видно, что в качестве выходных данных вы ищете столбец с совпадающими данными в непрерывном блоке ячеек без пробелов или ошибок между ними.
Если вы хотите использовать формульный подход, то это может быть достигнуто с помощью слегка сложного INDEX & amp; Функции MATCH в формуле массива. Как только у вас есть совпадающие данные в смежных ячейках в столбце, просто примените VLOOKUP, чтобы извлечь остальные два столбца из вашей основной таблицы в Sheet1.
Вот как. Ниже приведены два скриншота Sheet1 & amp; Лист2.
Sheet1 содержит вашу основную таблицу в столбцах A, B & amp; C, Sheet2 имеет ваш список для сопоставления с колонкой A из Sheet1
Теперь в Листе 2 в ячейке С1 поместите следующую формулу массива
{=INDEX(Sheet1!$A$1:$A$4,SMALL(IF(ISERROR(MATCH(Sheet2!$A$1:$A$4,Sheet1!$A$1:$A$4,0)),"",MATCH(Sheet2!$A$1:$A$4,Sheet1!$A$1:$A$4,0)),ROW(1:1)))}
Поместите эту формулу без фигурных скобок и в панели формул нажмите CTRL + SHIFT + ENTER, чтобы создать формулу массива, и перетаскивайте ее вниз, пока не получите ошибку в ячейках или длине вашего списка для сопоставления. Теперь все строки выше ячеек с ошибками имеют совпадающие ячейки из столбца A Sheet1.
Просто очистите ячейки с ошибками, и вы получите список в непрерывном блоке ячеек.
Теперь в D1 введите относительно простую формулу VLOOKUP, чтобы получить следующий соответствующий столбец из Sheet1
=VLOOKUP(C1,Sheet1!$A$1:$C$4,2,FALSE)
А в Е1 положить формулу
=VLOOKUP(C1,Sheet1!$A$1:$C$4,3,FALSE)
и перетащите оба вниз. У вас есть список по желанию.
Вы можете использовать встроенную в Excel опцию Evaluate Formula, чтобы оценить комбинацию INDEX MATCH, чтобы понять, как это работает. Он создает массив совпадающих номеров строк и выбирает первое, затем второе, а затем третье наименьшее число при перетаскивании формулы.
Здесь есть два ограничения: данные должны быть возвращены в том порядке, в котором они существуют в главной таблице, а не в том, как они находятся в таблице «для сопоставления», и в случае, если у вас более 1 совпадающих ячеек, возвращается первая.
=VLOOKUP()
?