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

如何统计各区域区间内关联的唯一地理位置数量?

解决思路与可行方案

COUNTIFS搞不定很正常——它没法处理单元格里的逗号分隔多值,也做不到同一地理位置跨区间的分别计数,以及同区间多区号的去重统计。下面给两种实用方案:

方案一:Power Query(推荐,适合大量数据)

这是最省心的方法,步骤清晰不易出错:

  • 拆分区号为单独行:选中GEOLOCATIONS表,进入「数据」选项卡→「从表格/区域」导入Power Query。选中「逗号分隔区号列表」列,点击「转换」→「拆分列」→「按分隔符」,选逗号,然后选「拆分为行」。这样每个区号对应一条地理位置记录。
  • 匹配区域区间:导入AREAS表到Power Query,先把「区域区间」拆成起始和结束数值(比如010-020拆成010和020),再添加自定义列判断当前区号是否在区间内:=if [区号] >= [起始区间] and [区号] <= [结束区间] then [区域名称] else null。
  • 去重:选中「地理位置名称」和「区域名称」列,点击「转换」→「删除重复项」,确保同一位置在同一区间只留一条记录。
  • 分组统计:按「区域名称」分组,统计「地理位置名称」的非重复计数,最后把结果加载回AREAS表的「待统计位置数」列。

方案二:Excel 365数组公式(适合小数据量)

如果用的是365版本,可直接在AREAS表的「待统计位置数」单元格写数组公式(365自动识别,无需按组合键):

=LET(
    区间拆分, TEXTSPLIT([@区域区间], "-"),
    起始值, VALUE(INDEX(区间拆分,1)),
    结束值, VALUE(INDEX(区间拆分,2)),
    有效位置, UNIQUE(FILTER(
        GEOLOCATIONS[地理位置名称],
        BYROW(GEOLOCATIONS[逗号分隔区号列表],
            LAMBDA(区号串, OR(VALUE(TEXTSPLIT(区号串, ","))>=起始值, VALUE(TEXTSPLIT(区号串, ","))<=结束值))
        )
    )),
    COUNTA(有效位置)
)

注:如果区域区间是单个值(非范围),把公式里的起始值和结束值改成同一个值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 15:24:40