2016-08-03 2 views
1

Ich habe eine Tabelle mit Büchern, mit einer Zeile für jedes Mal, wenn ein Buch ausgecheckt wurde (dies ist eine kleine Klassenzimmerbibliothek). Hier sind die Spalten:Google Tabellen: Wie duplikate in einigen Spalten entfernen und nur die neuesten Daten in anderen anzeigen?

BookTitle  | Author  | DateCheckedOut | CheckedOutBy | Status 
========================================================================= 
The BFG   | Dahl, Roald | 6/1/2016  | Suzy   | Out 
The BFG   | Dahl, Roald | 4/5/2016  | Johnny  | Returned 
The BFG   | Dahl, Roald | 12/4/2015  | Wendy  | Returned 
Charlotte's Web | White, E.B. |    |    | Added 
Wonder   | Palacio, R.J. | 5/29/2016  | Joey   | Returned 
Wonder   | Palacio, R.J. | 3/21/2016  | Mary   | Returned 

ich mag es Abfrage nur die Zeile mit dem höchsten Datumswert für jedes Buch zu bekommen und dann alle Spalten dieser Zeile außer CheckedOutBy anzuzeigen.

Ich wollte eine Liste eindeutiger Kombinationen von Buchtiteln und -autoren abrufen und sie dann mit der Originaltabelle verbinden, so wie ich es in DB2 tun würde. Offensichtliche Verknüpfungen sind jedoch in Google Tabellen nicht möglich. Ich habe versucht, Gruppierung und die Max-Funktion, aber wenn ich diese Dinge zu arbeiten, ich habe entweder nicht in der Lage, frühere Daten zu beseitigen oder nicht Spalten, die nicht in der Aggregatfunktion verwendet werden angezeigt wurden. Meine Abfragefähigkeiten für Google Tabellen sind nicht auf dem gleichen Stand:/

Gibt es eine einfache Möglichkeit, dies zu tun, die ich vermisse? Ich würde mich über irgendwelche Tipps freuen.

Hier ist eine Kopie der Beispieldaten von oben in einer Google-Tabelle .: https://docs.google.com/spreadsheets/d/1J384S0fsc8tgxVMehPb_uyRNc5-6cQx-xKN-q8K8Gds/edit?usp=sharing

Antwort

2

ich ein neues Blatt erstellt und trat in der Zelle A1

=ArrayFormula(iferror(vlookup(unique(Sheet1!A2:A), sort(Sheet1!A2:E, 3, 0), {1, 2, 3, 5}, 0))) 

Sehen, ob das für Sie?

VERTEILUNG:

Die allgemeine Idee hinter der Formel ist die Tatsache zunutze zu machen, dass VLOOKUP nur das erste Spiel zurück. Wir möchten, dass das "erste Spiel" das späteste Datum pro Buch ist.

  1. Zuerst sortieren wir die Tabelle so, dass die letzten Daten oben sind.
  2. Wir suchen die eindeutigen Buchtitel in dieser sortierten Tabelle und geben die Spalten {1, 2, 3, 5} zurück.

Links:

+0

Danke für die schnelle Antwort - dass der Trick scheint zu tun :) Also habe ich die allgemeine Vorstellung von dem, was passiert . Wenn ich Probleme im Zusammenhang mit zwei Büchern mit demselben Titel vermeiden möchte, könnte ich dann "A2: A" zu "A2: B" ändern? Außerdem gibt es zwei Nullen in dieser Formel. Was machen sie jeweils? – user2031082

+0

Die erste Null in der Sortierung bedeutet, dass wir absteigend sortieren möchten. Die zweite Null (im vlookup) soll anzeigen, dass wir eine "sortierte" Nachschlagetabelle verwenden (und dort eine exakte Übereinstimmung haben wollen). Anstelle dieser Nullen können Sie auch 'FALSE' verwenden. Ich bin mir nicht sicher, ob ich verstehe, was Sie mit dem Wechsel von A2: A zu A2: B meinen, da Buchtitel in Spalte A sind, oder? – JPV

Verwandte Themen