2017-01-09 66 views
0

我有一個名稱列的範圍。Google表格 - 查詢包含數組

我也有一個選擇名單列表。

我想運行一個查詢,將在此範圍內選擇的數據只有當它的名字是這個名單中:

Select C Where A "is in the selected array of names" 

什麼是這樣做的正確方法?

回答

1

假設名稱數組是D2:D10;那麼你可以使用查詢字符串

"select C where A = '" & join("' or A = '", D2:D10) & "'" 

這就產生了一個很長的查詢字符串A =「名字」或A =「另一個名字」 ......

如果姓名的範圍是變量(例如,你想要D2中列出的所有名稱:D),用filter(D2:D, len(D2:D))代替D2:D10。

1

QUERYdoesn't have a concept of in

如果你有你在A列名的名單,說

A B C 
1 1  A 
2 2  B 
3 3  C 

你的名字的名字D1找到:D2

D 
1 A 
2 C 

您可以構建一個正則表達式匹配的名字要在E1

=QUERY(C1:C3, "SELECT A WHERE A MATCHES '(" & JOIN("|", D1:D2) & ")'") 

返回

找到
E 
1 A 
2 C