Таблица для проверки

Каждый столбец представляет элемент, каждая строка ниже этого столбца представляет идентификатор одной единицы этого элемента. В приведенном ниже примере у меня есть 4 яблока с IDS 1, 2, 4, 5 и 2 винограда с IDS 3, 8

|  Apple  |  Grape  |
|    1    |    8    |
|    5    |    3    |
|    2    |         |
|    4    |         |

Мастер таблицы

Каждая строка представляет уникальную комбинацию элемента с его идентификатором. В таблице ниже представлены те же данные, что и выше.

|    1    |  Apple  |
|    2    |  Apple  |
|    4    |  Apple  |
|    5    |  Apple  |
|    3    |  Grape  |
|    8    |  Grape  |

проблема

Я хочу добавить столбец в Table Master с формулой, чтобы я мог подтвердить, что все в Table To Check действительно присутствует и в Table Master, что также прояснит все элементы, которые у меня есть в Table Master, но которые НЕ являются в таблице для проверки и наоборот. Я думал сделать это с простым матчем vlookup

VLOOKUP(E8,"Entire Table To Check",MATCH(F8,"Entire 1st Row in Table To Check",0),FALSE)

Я ожидаю, что вывод будет значением, найденным в Таблице для проверки (т. Е. Идентификатором самого элемента, поскольку именно это будет найдено). Но по какой-то причине формула работает только иногда, в других случаях получается результат # N/A. Вопрос: какова правильная формула, и почему она работает только частично?

Мой результат

*New comparison column with formula above             
|    1    |    1    |  Apple  |
|    2    |    2    |  Apple  |
|  #N/A   |    4    |  Apple  |
|  #N/A   |    5    |  Apple  |
|    3    |    3    |  Grape  |
|  #N/A   |    8    |  Grape  |

1 ответ1

0

РЕДАКТИРОВАТЬ: Чтобы ответить на вновь сформулированный вопрос.

РЕДАКТИРОВАТЬ 2: Чтобы избежать перечисления многих областей в ссылочной форме INDEX().

Эта формула, заполненная из E1, использует вложенные функции INDEX() вместе с MATCH(), чтобы обеспечить решение:

=IFERROR(INDEX(INDEX(A$2:C$5,,MATCH(G2,A$1:C$1,0)),MATCH(F2,INDEX(A$2:C$5,,MATCH(G2,A$1:C$1,0)),0)),"No ID Found")

Как это работает: Второй INDEX() возвращает один столбец идентификаторов элементов из массива A2: C5, в частности столбец с заголовком, который соответствует имени элемента в столбце G. Этот столбец задается этой частью формулы:

INDEX(A$2:C$5,,MATCH(G2,A$1:C$1,0))

Первый INDEX() использует этот столбец в качестве массива с row_num, заданным вторым MATCH(). Эта функция MATCH() ищет идентификатор из столбца F в том же столбце идентификаторов элементов, который использовался первым INDEX(), и использует ту же часть формулы для указания этого столбца.

Наконец, вся формула заключена в IFERROR(), чтобы отметить все перечисленные идентификаторы, которые не были найдены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .