Порівняйте два списки та відображайте відсутні елементи в електронній таблиці Google


9

Я намагаюся знайти рішення порівняти два окремі списки (запрошені - відвідували) та створити 3-й список (відсутній).

Функція повинна переглянути ключ у "Списку відвідуваних (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

@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 Таблиць, VLOOKUP,

Пошукує перший стовпець діапазону для ключа та повертає значення вказаної комірки у знайденому рядку.

Тож якщо ви додасте Statusстовпець у свій список учасників, ви можете запустити VLOOKUPсписок у списку запрошених, попросивши його повернути Attendedстатус.

Ваші дані можуть виглядати приблизно так:

Перед VLOOKUP

У комірці D2 ваша VLOOKUPформула виглядатиме так:

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

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

Коли ви заповнюєте формулу вниз від комірки D2 до D5, ви отримуєте такі дані:

Після VLOOKUP

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


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

0

Один клітинний розчин:

Поєднання FILTERфункції з COUNTIFфункцією надає вам потрібний список:

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

У цьому прикладі я використовував Ключ як поле відповідності, порівнюючи стовпець А зі збігами у D, але він також працює з іншими стовпцями.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.