如何在Google Sheet中按优先级与状态统计工单数量?
解决方法
场景说明
假设存储工单数据的工作表名为工单数据,其中:
- F列 = 工单状态(如"已关闭")
- G列 = 优先级(数值类型,数值越高优先级越高)
公式方案1(Excel/新版Google Sheets通用)
要统计已关闭状态下最高优先级的工单数量,可以用COUNTIFS+MAXIFS组合:
=COUNTIFS('工单数据'!F:F, "已关闭", '工单数据'!G:G, MAXIFS('工单数据'!G:G, '工单数据'!F:F, "已关闭"))
- 逻辑:先用
MAXIFS筛选出「已关闭」状态对应的最高优先级数值,再用COUNTIFS统计同时满足「状态为已关闭」且「优先级等于该最大值」的工单总数。
公式方案2(Google Sheets专属)
用QUERY函数实现相同统计:
=QUERY('工单数据'!A:G, "SELECT COUNT(F) WHERE F='已关闭' AND G=(SELECT MAX(G) FROM '工单数据'!A:G WHERE F='已关闭') LABEL COUNT(F) ''", 1)
- 逻辑:子查询先获取「已关闭」状态下的最高优先级,外层查询统计符合双条件的工单数量,
LABEL COUNT(F) ''用于移除默认生成的表头。
你之前公式的问题
- 第一个
FILTER公式:F:F是状态列(文本类型),MAX(F:F)对文本无效,且你要比较的是优先级列(G列)的最大值,同时要限定状态为目标值,正确的过滤应该先获取对应状态下的G列最大值,再匹配G列和状态列。 - 第二个
QUERY公式:只是排序展示前10条符合状态的工单,没有实现统计计数的需求。
内容的提问来源于stack exchange,提问作者Laub Edvard
相关产品推荐
相关产品推荐

