2017-10-24 6 views
0

Ich arbeite derzeit mit Google Tabellen, um Daten aus dem Kontaktformular 7 in Wordpress zu importieren. Alle Daten sind in Ordnung, aber ich wollte etwas benutzerfreundlicher gestalten. Ich habe das Beispiel ein wenig vereinfacht, aber der Kern des Formulars, das ich erstellt habe, erlaubt dem Benutzer, mehrere Versionen einer Grafikdatei mit verschiedenen Formulierungen nach Bedarf anzufordern, bis zu 5 (mein Beispiel hat nur 2 der Einfachheit halber).Reorganisation von Google Tabellen-Daten dynamisch

Imported Data

die Alle Daten werden mit Hilfe der CF7 Variablen importiert und im Idealfall wollte ich dies ein wenig aufzuräumen. Was ich als Lösung in Betracht gezogen hatte, war das Erstellen eines zweiten Blattes, das diese Daten, die im ersten Blatt eingereicht wurden, in ein benutzerfreundlicheres Format einträgt, da ich dies als Arbeitsformular für einen Designer verwenden wollte, um die angeforderte Grafik einmal zu erstellen Daten werden empfangen. Bei jeder Anfrage bleiben Name/Abteilung/E-Mail/Datum gleich, aber ich möchte die Version und die Daten der Zeilen 1 und 2 in einer anderen Zeile anzeigen. Ist es möglich, Daten wie folgt zu reorganisieren? Wenn also ein neues Formular eingereicht wird und Daten zu Blatt 1 hinzugefügt werden, wird Blatt 2 dann mit den korrekt formatierten Informationen aktualisiert.

Reformatted Imported Data

Ist dies überhaupt möglich zu tun? Ich habe online nachgesehen, aber nichts, was wirklich mit dieser Art von Datenmanipulation zusammenhängt.

Lösung: Hier ist, was für mein Beispiel endete Arbeits

=ArrayFormula(QUERY({ 
Sheet1!A2:D,Sheet1!E2:G,ROW(Sheet1!A2:A); 
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!H2:J,ROW(Sheet1!A2:A); 
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!K2:M,ROW(Sheet1!A2:A); 
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!N2:P,ROW(Sheet1!A2:A); 
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!Q2:S,ROW(Sheet1!A2:A) 
},"select Col1,Col2,Col3,Col4,Col5,Col6,Col7 where Col5<>'' order by Col8",1)) 
+1

, was Sie bisher versucht haben? – Ritz

+0

@ritz An diesem Punkt weiß ich nicht einmal, ob es möglich ist, also habe ich nicht viel von allem versucht. Eine Antwort zu googeln hat mich nicht sonderlich interessiert, da es sich um eine komische, abstrakte Frage handelt. Ich bin kein Super-User mit Excel/Sheets, also weiß ich nicht einmal, wo ich anfangen soll. – jbwharris

Antwort

1

Ja, es ist möglich.

Eine Möglichkeit besteht darin, Arrays und die QUERY-Funktion zu verwenden.

Der Einfachheit halber sagen wir mal, dass

  • Spalten A und B haben die allgemeinen Informationen der Bestellung
  • Spalten C und D haben die Daten für die Version 1
  • Spalten E und F die Daten für Version 2
  • Spalten G und H haben die Daten für die Version 3

auf dem Ausgabeblatt, die Header hinzufügen. Unterhalb von ihnen eine Formel wie die folgende hinzu:

=ArrayFormula(QUERY({A2:B,C2:D,ROW(A2:A);IFERROR(LEN(A2:B)/0),E2:F,ROW(A2:A);IFERROR(LEN(A2:B)/0),G2:H,ROW(A2:A)},"select Col1,Col2,Col3,Col4 where Col3<>'' order by Col5"))

  • Referenzen beginnen in Zeile 2, um die Header zu überspringen zu vermeiden, dass sie auf dem Ausgabeblatt aufzunehmen.
  • ROW(A2:A) wird verwendet, um die Reihenfolge zu „verstecken“ verwendet
  • IFERROR(LEN(A2:B)/0) ist ein „Trick“ zu halten, die um (allgemeine Informationen) Daten für die zweiten und folgenden Zeilen für die gleiche Reihenfolge. Auf dem SELECT-Parameter der QUERY-Funktion wird als Col5 in der order by-Klausel verwiesen.
  • Es wird angenommen, dass lookup-choice-1 niemals leer sein wird.

NOTES:

  1. Wenn mehr Spalten hinzugefügt wurden, sollten die Spaltennummern aktualisiert werden entsprechend
  2. nicht die order by Klausel Verwenden Sie das Ergebnis durch die allgemeinen Informationsspalten, weil der „Trick sortieren "um die" Etiketten "zu verstecken. Wenn Sie eine Sortierung anwenden müssen, tun Sie dies, bevor Sie die obige Formel anwenden, indem Sie den Quellbereich über die Funktion Daten> Sortierung sortieren, damit die Daten sortiert werden, bevor sie durch die obige Formel transformiert werden.

Siehe

+0

Ich habe dies als Ausgangspunkt verwendet und hier einige Fortschritte gemacht, aber ich glaube, dass ich Probleme mit der Sortierung nach Version habe, da ich glaube, dass ich nach dem Namen der Person sortieren muss, die sie eingereicht hat. Ich denke, ich bin ziemlich nahe, aber die Sortierung ist aus = ArrayFormula (QUERY ({Sheet1! A: D, Sheet1! E: G, REIHE (Sheet1! A: A); IFERROR (LEN (Sheet1! A: D)/0), Blatt1! H: J, ROW (Blatt1! A: A); IFERROR (LEN (Blatt1! A: D)/0), Blatt1! K: M, ROW (Sheet1! A: A); IFERROR (LEN (Blatt1! A: D)/0), Blatt1! N: P, ROW (Blatt1! A: A); IFERROR (LEN (Blatt1! A: D)/0), Blatt1! Q: S, ROW (Sheet1! A: A)}, "wähle Col1, Col2, Col3, Col4, Col5, Col6, Col7 wo Col5 <> '' order by Col5")) – jbwharris

+0

Hier ist ein Link zu dem Dokument, wenn Sie möchten Ein Blick https://docs.google.com/spreadsheets/d/1G07YS0GCUc9YprRifRJFlaJkSPepq8TcM1jJkpQpwMs/edit?usp=sharing – jbwharris

+0

@jbwharris: Die verknüpfte Tabelle hat nicht die gleiche Formel wie die in Ihrem vorherigen Kommentar. –

Verwandte Themen