Filter und Importrange kombiniert (Google Tabellen / Spreadsheets)
In diesem Tutorial zeige ich Euch wie Ihr bei den GOOGLE TABELLEN die Funktion FILTER und IMPORTRANGE kombinieren könnt. FĂŒr FILTER habe ich bereits ein eigenes Tutorial erstellt, genauso fĂŒr die Funktion IMPORTRANGE.
Wer das erste mal mit Google Tabellen oder ĂŒberhaupt mit einem Tabellenkalkulationsprogramm arbeitet sollte sich vielleicht auch erst einmal dieses Tutorial anschauen:
Einfache Berechnungen fĂŒr AnfĂ€nger (Google Tabellen)
Das Tutorial zeigt ganz einfache Berechnungen und sollte den Einstieg wesentlich leichter machen.
Dieses Tutorial ist extra fĂŒr AnfĂ€nger die sich mit dem Tabellenkalkulationsprogramm GOOGLE TABELLEN / SPREADSHEETS noch nicht so viel beschĂ€ftigt haben und zeigt die Funktionen und Möglichkeiten Schritt fĂŒr Schritt.
Das Video-Tutorial "Filter und Importrange kombiniert (Google Tabellen / Spreadsheets)"
17 Comments
Hallo Chris, ich mal wieder,
Ich habe deine mehrfach Filter Auswahl benutzt, um in drei spalten M, N, O nach den Buchstaben TZ zu suchen. Folgende Formel habe ich benutzt. Die stimmt genau mit der von Dir oben aufgefĂŒhrten ĂŒberein.
=filter(importrange("Tabellenname";"KW 42!a1:T300");
importrange("Tabellenname";"KW 42!n1:n300")="tz";
importrange("Tabellenname";"KW 42!m1:m300")="tz";
importrange("Tabellenname";"KW 42!o1:o300")="tz")
Sobald ich Enter drĂŒcke, sagt er mir, Fehler, Bei der Auswertung von "FILTER" wurden keine Treffer gefunden. Reduziere ich die Formel nur auf Spalte o, findet er TZ und zeigt mir die Zeile an. Es ist doch egal ob ich, wie Du Fernseher, Kameras oder wie ich, TZ in jeder Spalte verwende. Es werden ja die Spalten, die in der Formel stehen durchsucht und die Zeilen angezeigt, bei den TZ in eine der Spalten M,N,O steht. Was in meinem Fall TZ wĂ€re.
Hoffe, es einigermaĂen verstĂ€ndlich erklĂ€rt zu haben.
Hi Jochen, ich vermute dass Du nur in Spalte "O" dieses "tz" zu stehen hast, deshalb funktioniert Dein Filter auch nur wenn Du das ausschlieĂlich auf diese Spalte anwendest. Du bekommst keinen Treffer weil alle angegebenen importrange Spalten in der gleichen Zeile jetzt ein "tz" haben mĂŒssten.
Wenn Du Dir meinen Aufbau anschaust, siehst Du ja was als Ergebnis raus kommt. Der Name muss passen, die Produktgruppe und Zahlen gröĂer 0. Deshalb kommt es auch zu diesem Ergebnis weil alle Bedingungen erfĂŒllt wurden.
Hallo Chris, wieder mal vielen Dank fĂŒr Deine Antwort. Schade, da kann ich das nicht anwenden, da dieses tz in allen drei Spalten sein kann, ich aber nie weiss, wo genau es steht. Ich muss in allen drei Spalten suchen und mir die Zeile anzeigen lassen. Muss ich doch meine array formel wieder anwenden. Oder gibt es eine andere Lösung?
Hi Jochen, schau Dir mal die Funktion query an. Die ist zwar ein bisschen tricky aber die Abfragemöglichkeiten sind top. Das könnte was fĂŒr Dich sein.
Einmal eine kleine "query" EinfĂŒhrung:
https://toptorials.com/funktion-query-wie-sql-google-tabellen/
Und dann noch importrange mit "query":
https://toptorials.com/importrange-query-kombiniert-google-tabellen/
Hi Jochen, wie hast du das jetzt gelöst? Ich habe das gleiche Problem.
VG
Peter
Moin Chris,
ich habe gleich zwei Fragen (die eher unabhÀngig voneinander zu betrachten sind!) und hoffe, dass du mir weiterhelfen kannst.
1. Kann ich die Formatierung beim Importrange ĂŒbernehmen? (z.B. Farben, SchriftgröĂen, Text mittig etc.) Wenn ja, wie?
2. In einem anderen Spreadsheet möchte ich ebenfalls Importrange nutzen. Ich importiere dabei Inhalte aus mehreren Zellen (aus der Ursprungs-Tabelle), möchte aber, dass diese Inhalte in der "neuen" Tabelle in nur einer Zelle angezeigt werden. Das habe ich soweit auch mit der Funktion "VERKETTEN" hinbekommen. Nun habe ich aber das Problem, dass die Inhalte direkt hintereinander geschrieben werden. Sie sollen aber mit einem Umbruch getrennt werden. Nur wie? Ich habe mal was von "Zeichen(10)" gelesen, kriege ich es aber nicht hin die Formel zu bauen. Zurzeit sieht meine Formel wie folgt aus:
=VERKETTEN(IMPORTRANGE("Spreadsheet-ID", "Tabellenblatt!D2:D100"))
Der Inhalt in der Zelle ist dementsprechend quasi so: "MĂŒllerSchusterSchmidtKĂŒhnBĂ€cker", es soll aber so sein:
MĂŒller
Schuster
Schmidt
etc.
Danke dir!
Hi Maddy,
soweit ich weiĂ kannst Du mit IMPORTRANGE nur Daten ĂŒbertragen aber keine Formatierungen. Wenn sich die Daten innerhalb eines Dokuments befinden könntest Du die Daten inklusive der Formatierung mit copyTo (Kopieren) oder moveTo (Verschieben) ĂŒbertragen.
Diesen Zeilenumbruch kannst Du bei der Script-Programmierung mit "\n" hinzufĂŒgen.
In der Tabelle selbst kannst Du das mit Char(10) machen oder Zeichen(10) also warst Du der Lösung schon sehr nahe.
Wenn Du Dir nachfolgende Formel z.B. in Zelle C1 kopierst und in Zelle A1 bis A3 ein paar EintrÀge hast dann siehst Du das es funktioniert.
=VERKETTEN(A1;ZEICHEN(10);A2;ZEICHEN(10);A3)
Ich bin mir allerdings nicht sicher ob Du das so anwenden kannst, denn es sieht mir bei Deiner Formel so aus als wenn der letzte Parameter alle Daten auf einmal reinholt. Da wirst Du mit der Verketten-Funktion nicht weiter kommen.
Hey Chris,
danke dir! Das mit der Verketten-Funktion funktioniert doch! Hab die Formel gefunden: =TEXTJOIN(ZEICHEN(10),1,IMPORTRANGE(…) Damit kann ich die Inhalte in einer Zelle mit Umbruch darstellen. trotzdem danke fĂŒr deine MĂŒhe!
Freut mich dass Du die Lösung gefunden hast.
Hi Chris, danke fĂŒr den Tipp. Die Filterung hat super geklappt.
Ich hab eine Frage – ich hole die Importrange D2:F aus dem Sheet Overview, dann filtere ich nach bestimmten Kriterien im selben Sheet. Ich möchte aber vermeiden, das Rangeende mit einer konkreten Zahl zu definieren bzw. wenn Zeilen hinzugefĂŒgt werden, sollte die Formel automatisch die neue Zeile aufgreifen.
Was nicht funktioniert:
=IF(FILTER(IMPORTRANGE(Overview!V22, "TabName!D2:F"), IMPORTRANGE(Overview!V22, "TabName!D2:D") = "KI", ISNUMBER(IMPORTRANGE(Overview!V22, "TabName!F2:F"))) = "KI", "KI", "")
dann bekomme ich diesen Fehler gemeldet:
"FILTER has mismatched range sizes. Expected row count: 162. column count: 1. Actual row count: 1, column count: 1."
Hast du einen Tipp?
Ich habe das GefĂŒhl dass Du mit der Funktion QUERY noch viel mehr Möglichkeiten hast und noch besser filtern kannst.
Schau Dir mal die folgenden Tutorials dazu an. Ich denke wenn Du Dich ein wenig mit SQL auskennst könntest Du begeistert von den Möglichkeiten sein:
Funktion query() Àhnliche Abfragen wie bei SQL (Google Tabellen)
importrange und query kombinieren (Google Tabellen)
Lieber Chris,
danke fĂŒr ein weiteres tolles tutorial, allerdings habe ich ein ungelöstes problem:
Ich will innerhalb des selben Files die Spalte A von WOrksheet X mit der Spalte A von worksheet y synchronisieren. Das Problem ist, dass ich mit direkter Zuweisung von Zelle zu Zelle, sowie "=X!A5", nicht synchron bin sobald in der Quelle (= Worksheet X) eine neue Zeile eingefĂŒgt wird. HĂ€ttest du da eine Idee?
Lg aus Ăsterreich,
Daniel
Ich bin mir jetzt nicht sicher wie Du das meinst. Soll beim einfĂŒgen einer neuen Zeile auch eine neue Zeile im anderen worksheet stattfinden? Dann mĂŒsstest Du das programmieren und die Zeilen dann ĂŒber einen Button einfĂŒgen. Also die Zeile auswĂ€hlen und dann ĂŒber einen Button das Script aufrufen, die Zeile auslesen und dann in beiden Worksheets eine Zeile einfĂŒgen lassen.
Hast Du nur in beiden Worksheets die gleichen Daten aber willst nur weiterhin den Vergleich solltest Du zum Beispiel ĂŒber SVerweis arbeiten und entsprechenden ID's oder Zeitstempel fĂŒr jede Zeile. Das wĂ€re jetzt meine Idee dazu. Ich kann mir aber vorstellen dass es vielleicht noch andere Möglichkeiten geben könnte. Ich wĂŒrde vermutlich auch noch mit einer bedingten Formatierung arbeiten und dann die Daten vergleichen. Kann auch eine ziemlich schmale Spalte sein die dann grĂŒn fĂŒr jeden vorhandenen Eintrag in der anderen Tabelle anzeigt. Dann siehst Du sofort in den LĂŒcken dass etwas nicht stimmt.
Viele GrĂŒĂe
Chris
Moin Chris,
ich habe eine Frage zu diesem Thema.
Ich möchte gerne mit Importrange und der Filterfunktion die Spalte mit dem aktuellen Monat anzeigen.
D.h. ist habe in Spalte "A:B" den Monat Januar und seine Tage darunter (Spalte A darunter der Wochentag in Textform (Mo) und Spalte B der Wochentag und Monat in Zahlform (01.04.) ), In Spalte "C:D" den Februar, etc..
Nun zu meiner Frage: Ist es möglich, diese Spalten mit dem Filter =Text(MONAT(HEUTE());"MMMM") ĂŒber Importrange anzeigen zu lassen, sodass lediglich aus dem gesamten Kalender nur diese Spalten, z.B. A:B, fĂŒr Januar angezeigt werden?
Vielen Dank fĂŒr deine BemĂŒhungen.
Viele GrĂŒĂe
Nikolai
Hej Chris,, Ich habe 2 verschiedene Sheets die ich gerne mit einander vergnĂŒpfen möchte. Mein Ziel ist es, auf jeder der Dateien schreiben zu können und dass dadurch das geschriebene, auf der jeweils anderen Datei auch erscheint. Mit importrange geht dies leider nur in die eine richtung. Das heiĂt, das was ich auf Datei 1 schreibe erscheint auch in Datei 2. Auf Datei 2 kann ich allerdings nichts schreiben ohne dass er mir in beiden Dateien âBEZUGâ anzeigt. Kannst du mir helfen?
Hallo Chris,
vielen Dank fĂŒr deine tollen VIdeos!
An einer Stelle komme ich leider nicht weiter fĂŒr meinen Anwendungsfall.
Hier ein fiktives Beispiel:
Auf Tabellenblatt 1 habe ich Adressdaten und in einer Spalte sind diese per DropDown kategorisiert in "AutohÀndler", "SupermÀrkte" und "Eisdielen".
Ich möchte nun sowohl die Daten fĂŒr "SupermĂ€rkte", als auch die Daten fĂŒr "Eisdielen" ziehen.
Ich möchte mit der zweiten Bedingung also nicht die Suche weiter eingrenzen, sondern eine weitere Such-Bedingung hinzufĂŒgen.
Um bei deinem Video-Tutorial zu bleiben: Ich möchte alle Zeilen fĂŒr "Kamera" UND "Fernseher" ziehen.
Gibt es hierzu eine Möglichkeit?
Vielen Dank im Voraus fĂŒr Deine UnterstĂŒtzung!
Hallo Chris,
zunĂ€chst einmal vielen lieben Dank fĂŒr diesen tollen Artikel. Danach habe ich lange gesucht und die Umsetzung könnte eine groĂe Hilfe fĂŒr mich sein.
Allerdings möchte ich in meinem Fall z.B.. (angewendet auf Dein Beispiel oben) alle Daten aus der Reihe B filtern, die z.B. MĂŒller UND Schuster enthalten. In meinem Fall sind es nicht MĂŒller und Schuster sondern viele Kontraktnummern die ich herausfiltern möchte.
Hast Du einen Tipp fĂŒr mich? Vielen Dank im voraus.
GruĂ, Philip