The arrayformula(query(...))
combination is not supported; there is no concept of a query
processing an array of arrays or executing an array of query strings.
You have two options: (a) repeat query
on every row; (b) use vlookup
to retrieve columns of data, as explained below. For example:
=arrayformula(vlookup(E3:E, {A3:A, J3:J}, 2, false))
takes one element of E3:E at a time, finds this element in column A, and retrieves the corresponding element of column J. With this approach you would need six separate vlookups to get the columns J,I,H,G,F,E, but you won't need a separate command for each row.
A complication is that vlookup
accepts only one search key, and you want to search by 4 parameters,
A='"&E3&"' and
B='"&B3&"' and
C="&C3&" and
D="&D3&
This can be worked around by concatenating these into one search key: you can have a column like Z,
=arrayformula(E3:E & "|" & B3:B & "|" & C3:C & "|" & D3:D)
which concatenates four search parameters into one pipe-delimited search key. Do the same for the table to be searched, and then compare these keys using vlookup
.
As seen here is possible to do it with this formula (a little modified to suite my question):
=ArrayFormula(transpose(query(transpose("http:/www.domain.com/photo/"&A1:D3&"|"),,50000)))
Best Answer