问题
I have a range with a name column.
I also have a list of names chosen be presented.
I want to run a query which will select data from this range only if it names is inside this list:
Select C Where A "is in the selected array of names"
What would be the right way of doing that?
回答1:
Suppose the array of names is D2:D10; then you could use the query string
"select C where A = '" & join("' or A = '", D2:D10) & "'"
This creates a long query string A = 'name' or A= 'another name'...
If the range of names is variable (e.g., you want all names listed in D2:D), replace D2:D10 with filter(D2:D, len(D2:D))
.
回答2:
QUERY
doesn't have a concept of in.
If you have your list of names in column A, say
A B C
1 1 A
2 2 B
3 3 C
And you name of names to find in D1:D2
D
1 A
2 C
You can build a regex to match the names you want to find in E1
=QUERY(C1:C3, "SELECT A WHERE A MATCHES '(" & JOIN("|", D1:D2) & ")'")
which returns
E
1 A
2 C
来源:https://stackoverflow.com/questions/41549375/google-sheets-query-contains-array