我正在構建一個電子表格,可用於導入並過濾wireshark capture .csv's。這個想法是 - 您將.csv導入到第二個選項卡中,並且在第一個選項卡上,您可以基於多個包含/排除過濾器來顯示數據。下面是參考一個虛設片:Google Sheet查詢函數中WHERE條件的動態數量
https://docs.google.com/spreadsheets/d/17TtZHRiXCaH1XClq5SGRdIuyLZnMOrl6Ygrbfo9BbfM/edit?usp=sharing
正如你可以在電子表格中看到的,我有四個可能的「包括」的值和四個可能的「排除」值,每個值被一個降的選擇來確定向下-list。目的是讓單元格A6中的QUERY()函數根據這些過濾器顯示數據。
Example of the filter at work
我知道如何使用WHERE做了一個過濾條件:
=查詢( '導入CSV這裏' 1:349 「選擇*其中(」 & B4 & 「=」 & B2 & 「)」)
而如何做到這一點對多過濾器條件:
=查詢( '導入CSV這裏' 1:349, 「選擇*,其中(」 & B4 & 「=」 & B2 & 「)和(」 & C4 & 「=」 & C2 & 「)」)
我無法弄清楚如何編寫QUERY函數,以便它只針對非空白過濾器列的WHERE條件(因此已從其下拉菜單中主動填充)。有沒有一種有效的方法來做到這一點?
你試過'其中G是不爲空或H不null'或'一些其他類似形式不null'及B6和「不爲空,且‘&B8&’ –
使用' 那裏(只是試圖」 「=」&B6&「」)' – vanscurvy
我相信你可能有點查詢功能的意圖,它旨在返回多行。除非您在單元格外檢查所有行與公共值,否則通常不使用單個單元格So = query('Import CSV Here'!A1:Z349,「select * where B is not null」)將返回B有值的每一行,並將第一行作爲標題包括在內,而不管第一行B的值如何。嘗試簡化,看看你會得到什麼結果。然後再嘗試另一個測試並查看這些結果。測試完簡單的後再複雜一點。 –