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

Excel函数优化:通过下拉菜单筛选指定月份工作表数据

优化Excel公式实现按选中月份筛选数据并生成排序报表

优化后的公式

假设下拉选择月份的单元格为Report!A1(值为月份英文名称,如"April"),优化后的公式如下:

=LET(
    selectedMonth, Report!A1,
    dataRange, INDIRECT(selectedMonth & "!A2:D5"),
    crewRange, INDIRECT(selectedMonth & "!Q2:Z5"),
    headerRange, INDIRECT(selectedMonth & "!Q1:Z1"),
    fBaseData, FILTER(dataRange, CHOOSECOLS(dataRange, 1)<>""),
    fBaseCrew, FILTER(crewRange, CHOOSECOLS(dataRange, 1)<>""),
    result1, HSTACK(fBaseData, BYROW(fBaseCrew, LAMBDA(r, FILTER(headerRange, r=Report!A1, "no result")))),
    filteredResult, FILTER(result1, CHOOSECOLS(result1, 5)<>"no result"),
    SORT(filteredResult, 5, 1)
)

公式核心调整说明

  • 用selectedMonth提取下拉选中的月份名称,通过INDIRECT函数动态引用对应月份的工作表,替代原公式中固定堆叠多表的VSTACK(April:May!A2:D5),实现仅加载选中月份的数据
  • 新增SORT(filteredResult, 5, 1)实现按结果第5列(对应原需求的E列)升序排序,若需降序可将参数1改为-1

工作表结构示例

1. List Sheet(月份下拉数据源)

A列(月份名称)
January
February
March
April
...
December

将Report!A1的下拉数据验证数据源设置为List Sheet的A列

2. Data Sheet(以April表为例)

A(ID)B(项目名)C(负责人)D(状态)...Q(April)R(May)...Z(December)
101项目A张三进行中...√...
102项目B李四已完成...√...

所有月份表结构完全一致,Q-Z列对应12个月的匹配标记,公式会根据选中月份匹配对应列的标记

3. Report Sheet(报表生成页)

A(下拉选择月份)B(ID)C(项目名)D(负责人)E(状态)F(匹配月份)
April101项目A张三进行中April

A1为下拉选择单元格,B-F列由公式自动生成并按E列排序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:52:08