Google Sheets复杂筛选需求:按门店编号计算房间总面积并处理重复与拆分
解决方案(Google Sheets)
方法1:使用数组公式一步完成
直接在空白单元格输入以下公式(假设数据在A-D列,表头分别为Location Number、Phase Order、Room、Area):
=ARRAYFORMULA( QUERY( FILTER( A:D, B:B=MAXIFS(B:B, A:A, A:A, C:C, C:C) ), "SELECT Col1, Col3, SUM(Col4) GROUP BY Col1, Col3 LABEL Col1 'Location Number', Col3 'Room', SUM(Col4) 'Total Area'", 0 ) )
逻辑说明:
MAXIFS(B:B, A:A, A:A, C:C, C:C):为每一行计算其对应「Location Number+Room」组合下的最高Phase OrderFILTER(A:D, B:B=...):筛选出所有Phase Order等于组内最高值的行(满足需求2)QUERY(..., "SELECT Col1, Col3, SUM(Col4) GROUP BY Col1, Col3"):按Location Number和Room分组求和面积(同时满足需求1和3,拆分的同组行面积会自动相加)
方法2:使用数据透视表(适合可视化调整)
- 选中所有数据区域,点击菜单栏「插入」→「数据透视表」
- 在右侧数据透视表编辑器中:
- 「行」:添加「Location Number」和「Room」(顺序可调整)
- 「值」:
- 添加「Phase Order」,计算方式选择「最大值」(用于确认保留的是最高阶段条目)
- 添加「Area」,计算方式选择「求和」(得到每个房间的总面积)
- 可根据需要隐藏「Phase Order 最大值」列,只保留最终的Location、Room和Total Area
内容的提问来源于stack exchange,提问作者floretti
相关产品推荐
相关产品推荐

