Porównaj dwie listy i wyświetl brakujące elementy w arkuszu kalkulacyjnym Google

9

Próbuję znaleźć rozwiązanie, aby porównać dwie osobne listy (zaproszeni - uczestniczyli) i utworzyć trzecią listę (nieobecną).

Funkcja musi spojrzeć na klucz z „Listy obecności (D, E, F)” i porównać go z kluczem z „Listy zaproszonych (A, B, C)”, a następnie wyświetlić brakujące wartości w „Liście nieobecnych (G, H ,JA)".

O danych

  • Klucz to „unikalna wartość” przypisana każdej zaproszonej osobie.
  • Dane na „liście zaproszonych (A, B, C)” składają się z danych QUERY.
  • Dane z „Listy obecności (D, E, F)” kopiują / wklejają wartości w komórkach.

Przykład pożądanego wyniku

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

Każda pomoc jest mile widziana.

Pan B.
źródło
Dlaczego vlookup nie spełnia Twoich wymagań?
rahi
@rahi Dziękujemy za uwagę. vlookup może działać, czy możesz dać mi jakiś kierunek?
Pan B

Odpowiedzi:

3

Możesz spróbować czegoś takiego:

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

następnie kopiuj w poprzek i w dół, aby dopasować.

COUNTIF

orzechy
źródło
Działa to jako częściowy wynik, ponieważ zwraca puste ciągi, które należy usunąć, aby uzyskać pożądany wynik końcowy.
Ruben
6

Formuła

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

Wyjaśnienie

PODAJNIK zwraca błąd, jeśli zaproszonego nie ma na liście uczestników. ISERROR konwertuje błędy na PRAWDA, a wartości na FAŁSZ Ten wynik służy jako kryterium filtrowania. Wynikiem jest lista nieobecności:

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

Po prostu dodaj odpowiednie nagłówki nad formułą

Ruben
źródło
0

WYSZUKAJ.PIONOWO to kolejny sposób na uzyskanie pożądanej odpowiedzi, ale nie jestem pewien, czy przedstawia ją tak, jak chcesz.

Z artykułu pomocy Arkuszy Google, WYSZUKAJ.PIONOWO,

Przeszukuje pierwszą kolumnę zakresu w poszukiwaniu klucza i zwraca wartość określonej komórki w znalezionym wierszu.

Więc jeśli dodasz Statuskolumnę do listy uczestników, możesz uruchomić ją VLOOKUPna liście zaproszonych, prosząc ją o zwrócenie Attendedstatusu.

Twoje dane mogą wyglądać mniej więcej tak:

Przed WYSZUKAJ.PIONOWO

W komórce D2 VLOOKUPformuła wyglądałaby następująco:

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

  • A2 jest kluczem
  • E:H to zakres (lista uczestników)
  • 4odnosi się do numeru kolumny w zakresie wartości, którą chcesz zwrócić
  • FALSE wskazuje, że szukasz dokładnego dopasowania do klucza

Gdy wypełnisz formułę z komórki D2 do D5, otrzymujesz dane wyglądające tak:

Po WYSZUKAJ.PIONOWO

Tam, gdzie było dopasowanie, Statuswartość jest przenoszona. Gdzie nie ma dopasowania, widzisz #N/A.

Rahi
źródło
Działa to jako częściowy wynik, ponieważ zwracają błędy, które można wykorzystać do późniejszego filtrowania listy zaproszonych w celu uzyskania pożądanego wyniku końcowego.
Ruben
0

Rozwiązanie jednokomórkowe:

Połączenie FILTERfunkcji z COUNTIFfunkcją daje ci listę, którą chcesz:

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

W tym przykładzie użyłem klucza jako pola dopasowania porównującego kolumnę A z dopasowaniami w D, ale działa również z innymi kolumnami.

AVW
źródło