it-swarm.com.de

Verwendung von ARRAYFORMULA mit QUERY in Google Sheets

Ich habe eine Abfrage, die für jede Zeile in einer Liste ausgeführt werden muss. Es funktioniert gut, wenn es für eine einzelne Zeile geschrieben wird:

QUERY(MaraRankData,
  "select J,I,H,G,F,E where 
    A='"&E3&"' and 
    B='"&B3&"' and 
    C="&C3&" and 
    D="&D3&"",
  0
)

Das gibt eine Reihe von Daten nach Wunsch aus. Aber wenn ich es in ARRAYFORMULA einbinde, gibt es immer noch nur eine Zeile statt vieler aus:

=ARRAYFORMULA(
  QUERY(MaraRankData,
    "select J,I,H,G,F,E where 
      A='"&E3:E&"' and 
      B='"&B3:B&"' and 
      C="&C3:C&" and 
      D="&D3:D&"",
    0)
)

Google Sheets wirft keine Fehler aus, sodass ich nicht weiß, was ich falsch mache. Wie kann ich ARRAYFORMULA dazu bringen, mit meiner ABFRAGE zu arbeiten, damit ich die Formel nicht in jeder Zeile wiederholen muss?

8
Stobber

Die Kombination arrayformula(query(...)) wird nicht unterstützt. Es gibt kein Konzept dafür, dass query ein Array von Arrays verarbeitet oder ein Array von Abfragezeichenfolgen ausführt.

Sie haben zwei Möglichkeiten: (a) Wiederholen Sie query in jeder Zeile; (b) Verwenden Sie vlookup , um Datenspalten abzurufen, wie unten erläutert. Zum Beispiel:

=arrayformula(vlookup(E3:E, {A3:A, J3:J}, 2, false))

nimmt jeweils ein Element von E3: E, findet dieses Element in Spalte A und ruft das entsprechende Element von Spalte J ab. Bei diesem Ansatz würden Sie sechs separate Lookups benötigen, um die Spalten J, I, H, G, F zu erhalten. E, aber Sie brauchen nicht für jede Zeile einen eigenen Befehl.

Eine Komplikation ist, dass vlookup nur einen Suchschlüssel akzeptiert und Sie nach 4 Parametern suchen möchten.

A='"&E3&"' and 
B='"&B3&"' and 
C="&C3&" and 
D="&D3&

Dies kann umgangen werden, indem diese in einen Suchschlüssel verkettet werden: Sie können eine Spalte wie Z haben,

=arrayformula(E3:E & "|" & B3:B & "|" & C3:C & "|" & D3:D)

das verkettet vier Suchparameter zu einem Suchschlüssel mit Pipe-Begrenzung. Machen Sie dasselbe für die zu durchsuchende Tabelle und vergleichen Sie diese Schlüssel mit vlookup.

8
user79865