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

如何在HSTACK中嵌套SUMIF函数实现单单元格数组公式月度销售汇总

用LET+HSTACK+SUMIF实现单单元格按月销售额汇总

假设你的数据是A列存日期(A2:A100)、B列存销售额(B2:B100),以下是直接可用的数组公式,能生成单单元格的按月汇总报告:

=LET(
    dates, A2:A100,
    sales, B2:B100,
    months, UNIQUE(MONTH(dates)),
    sorted_months, SORT(months),
    month_names, TEXT(DATE(2024, sorted_months, 1), "m月"),
    monthly_sales, SUMIF(MONTH(dates), sorted_months, sales),
    summary_rows, HSTACK(month_names, monthly_sales&"元"),
    TEXTJOIN(", ", TRUE, BYROW(summary_rows, LAMBDA(r, TEXTJOIN(": ", TRUE, r))))
)

公式拆解

  • LET:一次性定义所有变量,避免重复引用单元格区域,提升公式可读性和计算效率
    • dates/sales:指向你的日期和销售额数据源
  • months:提取所有出现过的唯一月份数字;sorted_months对月份排序,保证结果按1-12月顺序展示
  • month_names:把数字月份转成「1月」「2月」这类易读的文本格式
  • monthly_sales:利用SUMIF的数组特性,批量计算每个月份对应的销售额总和
  • HSTACK:把月份名称和对应销售额横向拼接成「月份, 销售额文本」的二维数组
  • 最后用BYROW遍历每组数据,拼成「X月:XXX元」的格式,再通过外层TEXTJOIN把所有结果合并成单单元格文本

扩展调整

  • 若需跨年区分(避免不同年份同月份数据合并),把MONTH(dates)替换为EOMONTH(dates,0),同时把"m月"改成"yyyy年m月"
  • 若要给销售额加小数格式,把monthly_sales&"元"改成TEXT(monthly_sales, "0.00")&"元"
  • 数据源有空值时,UNIQUE和SUMIF会自动忽略,不影响结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:52:54