You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets Dashboard:多选服务条件统计查询方案求助

解决方案:Google Sheets 多服务统计(按月份+客户过滤,排除0数量)

核心公式(Dashboard工作表A8单元格)

假设原始数据存储在名为数据的工作表中,列对应关系为:A列=月份,B列=客户名称,C列=服务(单个单元格含多项服务,用顿号分隔),将以下公式粘贴到A8:

=LET(
  原始数据, 数据!A:C,
  目标月份, Dashboard!B2,
  目标客户, Dashboard!D3,
  所有服务, UNIQUE(FLATTEN(SPLIT(INDEX(原始数据,,3), "、"))),
  统计结果, MAP(所有服务, LAMBDA(服务, 
    COUNTIFS(
      INDEX(原始数据,,1), 目标月份,
      INDEX(原始数据,,2), IF(目标客户="", "<>", 目标客户),
      INDEX(原始数据,,3), "*"&服务&"*"
    )
  )),
  过滤结果, FILTER(HSTACK(所有服务, 统计结果), 统计结果>0),
  IFERROR(过滤结果, "无匹配数据")
)

公式说明

  • LET:定义变量简化公式,避免重复引用数据区域
  • FLATTEN(SPLIT(...)):拆分每个单元格中的多项服务为单独条目,再扁平化得到所有服务的集合
  • UNIQUE:提取不重复的服务列表,确保每个服务只统计一次
  • MAP+COUNTIFS:遍历每个服务,统计同时满足目标月份、目标客户(为空时匹配所有客户)、服务单元格包含当前服务的记录数
  • FILTER:自动过滤掉数量为0的服务条目
  • IFERROR:当无匹配数据时返回友好提示

关键调整点

  1. 分隔符适配:如果你的服务用逗号、分号等分隔,将公式中的"、"替换为对应的符号(如",")
  2. 月份格式统一:确保数据表中月份的格式与Dashboard!B2的格式完全一致(比如都是文本格式的"2025年2月",或统一为日期格式)
  3. 空白客户逻辑:若希望客户下拉为空时统计所有客户,公式中IF(目标客户="", "<>", 目标客户)的<>表示匹配所有非空客户;若要包含空客户,可改为TRUE

为什么Query+CountIf组合失效?

Query函数对单个单元格内的多值数据处理能力有限,无法直接实现"包含某服务"的模糊匹配统计。而先拆分服务再逐个统计的方式,能更精准地处理多服务单元格的场景。

内容的提问来源于stack exchange,提问作者ghaida mohammed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:05:06