2 Stimmen

Versuch, nur Daten abzufragen, die nicht leer sind.

Ich habe eine Google-Tabelle mit 2 Blättern. Das erste Blatt enthält Daten, die von einem Formular eingegeben wurden. Jede Formularantwort gibt Daten für die folgenden "Zeitstempel", "Zone", "NPC", "Fraktion", "Menge", "Fraktion2", "Menge2", "Fraktion3", "Menge3", "Fraktion4", "Menge4", "Fraktion5", "Menge5" ein.

Zeile 1 enthält die obigen Kategorienamen für jede Eingabe. Leider ist die Art und Weise, wie das Formular funktioniert, so, dass jede Antwort je nach ausgewählter Zone am Anfang in eine eigene Spalte eingefügt wird, da jede Zone unterschiedliche mögliche Antworten für die Kategorie hat. Die Daten sind also von Spalte C bis Spalte HC verteilt. Jede Zeile enthält nur eine Antwort pro Kategorienamen, aber die Kategorienamen werden wiederholt und verteilt.

Ich habe die folgende Abfrage in Sheet2 verwendet, um die Daten auszuwählen, die aus dem im Blatt ausgewählten "Zone" stammen.

 =wenn(länge(E1)=0,"Bitte wählen Sie eine Zone in E1 aus",Abfrage('Formularantworten'!A2:IS,"Wähle * where B = """&E1&""" "))

Das Problem ist, dass die gesamte Zeile für die ausgewählte Zone zurückgegeben wird, sodass die folgenden Informationen nicht übereinstimmen. Gibt es eine Möglichkeit, nur die Informationen aus den Zeilen zurückzugeben, die Daten in der Zelle haben? Dadurch würden die Daten in die richtige Spalte für Sheet2 passen.

Unten finden Sie einen Link zum Formular mit einigen Beispieldaten darin. Die Auswahl von Cobalt Scar stimmt überein, da die Antworten in den entsprechenden Spalten im Datenblatt stehen, aber Crystal Caverns und Western Wastes nicht. Sie können die ausgewählte Zone ändern, um die Ergebnisse in Sheet2 E1 anzuzeigen. Außerdem kann das Blatt kopiert und von der Öffentlichkeit bearbeitet werden.

https://docs.google.com/spreadsheet/ccc?key=0AqEFpZnTydP-dFNNOV9sRzNRSldDUXRJX1pqSFZRYkE&usp=sharing

0voto

MickATX Punkte 146

Ich habe keine elegante Lösung für dieses Problem gefunden, aber das bedeutet nicht, dass es nicht lösbar ist.

Die von mir erstellte Lösung auf Ihren Tabellenblättern ist leicht zu handhaben (es muss nur das Blatt mit der Bereich / Spalte-Tabelle aktualisiert werden), benötigt aber etwas mehr Speicherplatz.

Wie es funktioniert:
Das ArrangedData-Tabellenblatt ist die ersten 2 Spalten der Formulareingaben, dann die "passenden" Spalten (basierend auf der Auswahl auf Blatt2; es wählt die Spalten aus einem Suchvorgang auf Blatt5).

Dann wird das ArrangedData-Blatt (wieder basierend auf der Auswahl auf Blatt2) in Blatt2 gefiltert.

Lassen Sie mich wissen, wenn Sie Fragen dazu haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X