使用 Google 个电子表格查询进行过滤
Using Google Spreadsheets QUERY to Filter
我有 the following google sheet 其中:
- a 栏=数量
- Col b= 产品代码,我将其分为 C 和 H。
我想知道根据不同的数量"filters"...这个过滤器是C11和H11之间的字段,它们是可选的。有 6 个可能的过滤器。
它使用位于 H12 中的 =QUERY 公式工作,它 returns 过滤器匹配的数量值的总和...
但是有可能将过滤器留空以获得 "all"...
查询如下:
=QUERY(A1:H7, "select sum(A) where C contains '"&C11&"' and lower(D) contains lower('"&D11&"') and E contains '"&E11&"' and lower(F) contains lower( '"&F11&"') 和 lower(G) 包含 lower('"&G11&"') 和 lower(H) 包含 lower('"&H11&"') ",-1)
我的问题是匹配类型:其中 C 包含 '"&C11&"' 和...
而不是使用 "contains",它应该使用“匹配”进行比较。这样它会像它应该的那样计数,但是然后它不会接受空过滤器。
如何让它只在字段被填充时才计数?
过滤器现在有什么问题?它计算“4”匹配,因为模型匹配“1”发生在模型为 1 或 21 时,还有 D 列,我正在寻找值 X 并且还计算值 XN,因为它包含 "X"。如果公式更改为 "matches" 而不是 "contains",它将不允许我将其留空。
谢谢!
改为使用此公式:
=COUNTIFS(C2:C7, IF(ISBLANK(C11), "<>" ,C11), D2:D7, IF(ISBLANK(D11), "*",D11), E2:E7, IF(ISBLANK(E11), "<>",E11), F2:F7, IF(ISBLANK(F11), "*",F11), G2:G7, IF(ISBLANK(G11), "*",G11), H2:H7, IF(ISBLANK(H11), "*",H11))
如果其中一个选项为空,它将匹配该列中的所有项目。否则它应该进行精确匹配。
Karl_S 公式很棒,但它没有对 A 列中的数量求和。将他的方法应用到 SUMIFS 似乎可以做到:
=SUMIFS(A2:A7,C2:C7, IF(ISBLANK(C11), "<>" ,C11),D2:D7, IF(ISBLANK(D11), "<>" ,D11),E2:E7, IF(ISBLANK(E11), "<>" ,E11),F2:F7, IF(ISBLANK(F11), "<>" ,F11),G2:G7, IF(ISBLANK(G11), "<>" ,G11),H2:H7, IF(ISBLANK(H11), "<>" ,H11))
我有 the following google sheet 其中:
- a 栏=数量
- Col b= 产品代码,我将其分为 C 和 H。
我想知道根据不同的数量"filters"...这个过滤器是C11和H11之间的字段,它们是可选的。有 6 个可能的过滤器。
它使用位于 H12 中的 =QUERY 公式工作,它 returns 过滤器匹配的数量值的总和...
但是有可能将过滤器留空以获得 "all"...
查询如下:
=QUERY(A1:H7, "select sum(A) where C contains '"&C11&"' and lower(D) contains lower('"&D11&"') and E contains '"&E11&"' and lower(F) contains lower( '"&F11&"') 和 lower(G) 包含 lower('"&G11&"') 和 lower(H) 包含 lower('"&H11&"') ",-1)
我的问题是匹配类型:其中 C 包含 '"&C11&"' 和...
而不是使用 "contains",它应该使用“匹配”进行比较。这样它会像它应该的那样计数,但是然后它不会接受空过滤器。
如何让它只在字段被填充时才计数?
过滤器现在有什么问题?它计算“4”匹配,因为模型匹配“1”发生在模型为 1 或 21 时,还有 D 列,我正在寻找值 X 并且还计算值 XN,因为它包含 "X"。如果公式更改为 "matches" 而不是 "contains",它将不允许我将其留空。
谢谢!
改为使用此公式:
=COUNTIFS(C2:C7, IF(ISBLANK(C11), "<>" ,C11), D2:D7, IF(ISBLANK(D11), "*",D11), E2:E7, IF(ISBLANK(E11), "<>",E11), F2:F7, IF(ISBLANK(F11), "*",F11), G2:G7, IF(ISBLANK(G11), "*",G11), H2:H7, IF(ISBLANK(H11), "*",H11))
如果其中一个选项为空,它将匹配该列中的所有项目。否则它应该进行精确匹配。
Karl_S 公式很棒,但它没有对 A 列中的数量求和。将他的方法应用到 SUMIFS 似乎可以做到:
=SUMIFS(A2:A7,C2:C7, IF(ISBLANK(C11), "<>" ,C11),D2:D7, IF(ISBLANK(D11), "<>" ,D11),E2:E7, IF(ISBLANK(E11), "<>" ,E11),F2:F7, IF(ISBLANK(F11), "<>" ,F11),G2:G7, IF(ISBLANK(G11), "<>" ,G11),H2:H7, IF(ISBLANK(H11), "<>" ,H11))