Tengo una consulta que debe ejecutarse para cada fila de una lista. Funciona bien cuando se escribe para una sola fila:
QUERY(MaraRankData,
"select J,I,H,G,F,E where
A='"&E3&"' and
B='"&B3&"' and
C="&C3&" and
D="&D3&"",
0
)
Eso genera una fila de datos, según se desee. Pero cuando lo envuelvo en ARRAYFORMULA, todavía solo genera una fila en lugar de muchas:
=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 no arroja ningún error, por lo que no sé qué estoy haciendo mal. ¿Cómo puedo hacer que ARRAYFORMULA funcione con mi QUERY para que no tenga que repetir la fórmula en cada fila?
google-sheets
formulas
Stobber
fuente
fuente
filter
, publique una respuesta: me interesaría tal solución.=FILTER({E:E,F:F,G:G,H:H,I:I,J:J},A3:A=E3:E)
La primera parte es solo para reordenar las columnas entre llaves. El segundo es porque A a E parece ser la única columna que importaba cuando B se mira a sí mismo, C se mira a sí mismo, etc. Realmente, aunque un conjunto de datos sería bueno, y tal vez más explicación sobre el problema. Tal vez simplemente no entiendo.Respuestas:
La
arrayformula(query(...))
combinación no es compatible; no existe el concepto dequery
procesar una matriz de matrices o ejecutar una matriz de cadenas de consulta.Tiene dos opciones: (a) repetir
query
en cada fila; (b) se utilizavlookup
para recuperar columnas de datos, como se explica a continuación. Por ejemplo:toma un elemento de E3: E a la vez, encuentra este elemento en la columna A y recupera el elemento correspondiente de la columna J. Con este enfoque, necesitaría seis búsquedas independientes para obtener las columnas J, I, H, G, F, E, pero no necesitará un comando separado para cada fila.
Una complicación es que
vlookup
solo acepta una clave de búsqueda y desea buscar por 4 parámetros,Esto puede solucionarse concatenando estos en una clave de búsqueda: puede tener una columna como Z,
que concatena cuatro parámetros de búsqueda en una clave de búsqueda delimitada por tuberías. Haga lo mismo para buscar en la tabla y luego compare estas teclas con
vlookup
.fuente