Mam zapytanie, które należy uruchomić dla każdego wiersza na liście. Działa ładnie, gdy jest napisany dla jednego wiersza:
QUERY(MaraRankData,
"select J,I,H,G,F,E where
A='"&E3&"' and
B='"&B3&"' and
C="&C3&" and
D="&D3&"",
0
)
Daje to rząd danych zgodnie z potrzebami. Ale kiedy zawijam go w ARRAYFORMULA, nadal wyświetla tylko jeden wiersz zamiast wielu:
=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)
)
Arkusze Google nie zgłaszają żadnych błędów, więc nie wiem, co robię źle. Jak mogę zmusić ARRAYFORMULA do pracy z moim zapytaniem, aby nie musiałem powtarzać formuły w każdym wierszu?
google-sheets
formulas
Stobber
źródło
źródło
filter
, napisz odpowiedź: Byłbym zainteresowany takim rozwiązaniem.=FILTER({E:E,F:F,G:G,H:H,I:I,J:J},A3:A=E3:E)
Pierwszą częścią jest po prostu ponowne uporządkowanie kolumn w nawiasach klamrowych. Po drugie, od A do E wydaje się jedyną kolumną, która ma znaczenie, gdy B patrzy na siebie, C patrzy na siebie itp. Naprawdę, chociaż zestaw danych byłby miły i być może więcej wyjaśnień na temat problemu. Może po prostu nie rozumiem.Odpowiedzi:
arrayformula(query(...))
Kombinacja nie jest obsługiwany; nie ma koncepcjiquery
przetwarzania tablicy tablic ani wykonywania tablicy ciągów zapytań.Masz dwie opcje: (a) powtarzanie
query
w każdym rzędzie; (b) użyjvlookup
do pobrania kolumn danych, jak wyjaśniono poniżej. Na przykład:pobiera jeden element E3: E na raz, znajduje ten element w kolumnie A i pobiera odpowiedni element z kolumny J. Przy takim podejściu potrzebujesz sześciu osobnych podglądów, aby uzyskać kolumny J, I, H, G, F, E, ale nie potrzebujesz osobnego polecenia dla każdego wiersza.
Komplikacja polega na tym, że
vlookup
akceptuje tylko jeden klucz wyszukiwania i chcesz wyszukiwać według 4 parametrów,Można to obejść, łącząc je w jeden klucz wyszukiwania: możesz mieć kolumnę taką jak Z,
który łączy cztery parametry wyszukiwania w jeden klucz wyszukiwania rozdzielany potokami. Zrób to samo, aby przeszukać tabelę, a następnie porównaj te klucze za pomocą
vlookup
.źródło