Ich habe eine Tabelle mit Chormitgliedern mit einem "Namen" und einer "Sprachtyp" -Spalte. Wie kann ich eine Abfrage schreiben, die sie ordnet, indem die Tonhöhe des Sprachtyps verringert wird (dh Sopran> Alt> Tenor> Bass )?
Gibt es in der Google Query Language etwas Ähnliches wie FIELD () in MySQL ?
Ich habe auch die SORT-Funktion ausprobiert , aber es scheint auch keine Option für die benutzerdefinierte Bestellung zu geben.
google-sheets
google-sheets-query
törzsmókus
quelle
quelle
Antworten:
Sie können MATCH zu Ihrer SORT für eine benutzerdefinierte Bestellliste hinzufügen.
Die Formel in D5 lautet:
Nach E5 kopieren. Ohne Geschwindigkeitstests der Berechnungszyklen ist es fraglich, ob die Verwendung der Left-Funktion zum Abziehen der ersten drei Zeichen ernsthaft nachteilig ist, aber das Erstellen und Verwalten des konstanten Arrays für die Suche nach Übereinstimmungsbereichen wird sicherlich einfacher. Achten Sie darauf, dass Sie die ersten drei Zeichen nicht duplizieren, wenn Sie die Liste erweitern.
quelle
=match(left($B$2:$B$99,3),{"sop";"con";"ten";"bas"},0)
.. Ich habe dies alleine ausgeführt und diese Liste erhalten: {1,4,2,3,4,2,3,1} .. aber entsprechend der Sorte docs thesort_column
is: Der Index der Spalte im Bereich oder ein Bereich außerhalb des Bereichs, der die zu sortierenden Werte enthält . Ich kann die beiden einfach nicht in Einklang bringen.Erstellen Sie ein neues Blatt in Ihrer aktuellen Tabelle. Fügen Sie zwei Spalten ein:
Fügen Sie in Ihr Hauptarbeitsblatt (das mit der Liste der Personen) in eine neue Spalte eine Formel wie die folgende ein:
Beachten Sie, dass ich die UPPER () -Funktion verwendet habe, falls einige der Sprachtypen als "Tenor" oder "Tenor" eingegeben werden.
Hier ist ein Beispiel zu sehen: https://docs.google.com/spreadsheets/d/1s8MngBnoJ53czPOLlBJ3DRAbZHc4JZXd0KPeRBM4_tQ/edit?usp=sharing
quelle
Eigentlich brauchen Sie arrayformula () nicht, da die Funktion sort () bereits Zeilen und Spalten zurückgibt.
In dem Bild dort oben in D5 (nicht E5, das blaue Rechteck sollte sich im Bild bei D5 befinden) können Sie einfach Folgendes eingeben:
Das ist es.
Besonderer Dank geht an Jeeped. Ich habe dies gefunden, als ich mit Ihrer Antwort gespielt habe und die Funktion match () in sort () verwendet habe, die ich vorher nicht kannte.
quelle