Сравните два списка и отобразите отсутствующие элементы в электронной таблице Google.


9

Я пытаюсь найти решение, чтобы сравнить два отдельных списка (приглашенных - посещенных) и создать третий список (отсутствует).

Функция должна посмотреть на ключ в «Списке присутствующих (D, E, F)» и сравнить его с ключом в «Списке приглашенных (A, B, C)», а затем отобразить пропущенные значения в «Списке отсутствующих (G, H»). ,Я)".

О данных

  • Ключ - это «уникальное значение», присваиваемое каждому приглашенному человеку.
  • Данные в «Списке приглашенных (A, B, C)» состоят из данных QUERY.
  • Данные в «Списке присутствующих (D, E, F)» копируют / вставляют значения в ячейки.

Пример желаемого результата

Invitded List (A,B,C)      Attended List (D,E,F)       Absent List (G,H,I)
 A      B       C            D      E       F            G      H        I
Key | Fname | Lname       | Key | Fname | Lname       | Key  | Fname | Lname
------------------------------------------------------------------- 
001   Tim     Smith         002  Mike     Jones         001    Tim     Smith
002   Mike    Jones         004  Jenny    Johnson       003    Amy     Wilson
003   Amy     Wilson
004   Jenny   Johnson

Любая помощь очень ценится.


Почему vlookup не делает эту работу за вас?
Рахи

@rahi Спасибо, что посмотрели на это. vlookup может работать, не могли бы вы дать мне направление?
Мистер Б.

Ответы:


3

Вы можете попробовать что-то вроде этого:

=if(countif(D:D,A2)=0,A2,"")  

затем скопируйте в нужном направлении.

COUNTIF


Это работает как частичный результат, так как возвращает пустые строки, которые должны быть удалены, чтобы получить желаемый конечный результат.
Рубен

6

формула

=ArrayFormula(FILTER(A4:C7,ISERROR(match(A4:A7,D4:D5,0))))

объяснение

MATCH возвращает ошибку, если приглашенный не появляется в списке посещенных. ISERROR преобразует ошибки в TRUE, а значения в FALSE. Этот результат используется в качестве критерия фильтрации. В результате получается список отсутствующих:

|   001 |Tim       |Smith
|   003 |Amy       |Wilson

Просто добавьте правильные заголовки над формулой


0

VLOOKUP - это еще один способ получить ответ, который вы хотите, но я не уверен, представляет ли он его так, как вы хотите.

Из справочной статьи Google Sheets, VLOOKUP,

Выполняет поиск ключа в первом столбце диапазона и возвращает значение указанной ячейки в найденной строке.

Поэтому, если вы добавите Statusстолбец в свой список посетителей, вы можете запустить его VLOOKUPв списке приглашенных, попросив его вернуть Attendedстатус.

Ваши данные могут выглядеть примерно так:

Перед ВЛУКУПОМ

В ячейке D2 ваша VLOOKUPформула будет выглядеть так:

=VLOOKUP(A2, E:H, 4, FALSE)

  • A2 это ключ
  • E:H это диапазон (список участников)
  • 4относится к номеру столбца в диапазоне значения, которое вы хотите вернуть
  • FALSE указывает на то, что вы ищете точное совпадение на ключе

Когда вы заполняете формулу вниз от ячейки D2 до D5, вы получаете данные, которые выглядят так:

После ВЛУКУП

Там, где было совпадение, Statusзначение сбрасывается. Там, где нет совпадения, вы видите #N/A.


Это работает как частичный результат, поскольку возвращает ошибки, которые могут быть использованы для последующей фильтрации списка приглашенных для получения желаемого конечного результата.
Рубен

0

Решение с одной ячейкой:

Объединение FILTERфункции с COUNTIFфункцией дает вам список, который вы хотите:

=FILTER(A:C,COUNTIF(D:D,A:A)=0))

В этом примере я использовал Ключ в качестве поля сопоставления, сравнивая столбец A со совпадениями в D, но он работает и с другими столбцами.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.