EXCEL之LET和FILTER函数(进阶版,附带一个案例)

上一篇文章我们讲了这两个函数的基础用法,这次我们来个「库存管理系统」的实用案例,结合 LET + FILTER + 动态统计,保证实用且不复杂,一步步操作👇


📦 场景模拟:超市库存表

A列(商品) B列(分类) C列(库存) D列(保质期剩余天数)
苹果 水果 50 15
牛奶 乳制品 20 5
饼干 零食 100 60
牛排 冷冻 30 8
香蕉 水果 40 3

需求

找出 水果类库存<60 的商品
标记 保质期<7天 的商品为”紧急补货”
动态统计符合条件的商品总数


🛠 解决方案(分步拆解)

步骤1:筛选水果类+低库存商品
=FILTER(
    A2:D6,                          // 选择整个数据区域
    (B2:B6="水果") * (C2:C6<60),    // 两个条件同时满足(*表示"且")
    "无匹配商品"                    // 找不到时显示的文字
)

结果

商品 分类 库存 保质期
苹果 水果 50 15
香蕉 水果 40 3

步骤2:增加紧急补货标记(用LET简化)
=LET(
    筛选结果, FILTER(A2:D6, (B2:B6="水果")*(C2:C6<60),  // 给筛选结果起名
    保质期, CHOOSECOLS(筛选结果, 4),                  // 提取第4列(保质期)
    
    IF(保质期 < 7, "紧急补货", "正常")                // 添加状态列
)

效果

商品 分类 库存 保质期 状态
苹果 水果 50 15 正常
香蕉 水果 40 3 紧急补货

新函数说明

CHOOSECOLS(区域, 列号):从结果中提取指定列(第4列是保质期)
IF(条件, 结果1, 结果2):条件成立返回”紧急补货”,否则”正常”


步骤3:动态统计商品数量(自动更新)
=LET(
    筛选结果, FILTER(A2:D6, (B2:B6="水果")*(C2:C6<60)),
    
    COUNTA(CHOOSECOLS(筛选结果, 1))  // 统计第1列(商品)的非空单元格
)

结果2 (自动统计出苹果和香蕉两条记录)


🔥 最终整合版(一个公式搞定所有)

=LET(
    // 第一步:筛选数据
    原始数据, A2:D6,
    条件结果, FILTER(原始数据, (B2:B6="水果")*(C2:C6<60), "无匹配"),
    
    // 第二步:添加状态列
    商品列, CHOOSECOLS(条件结果, 1),
    保质期列, CHOOSECOLS(条件结果, 4),
    状态, IF(保质期列 < 7, "紧急补货", "正常"),
    
    // 第三步:拼接最终表格
    HSTACK(条件结果, 状态)  // 横向拼接表格和状态列
)

最终效果

商品 分类 库存 保质期 状态
苹果 水果 50 15 正常
香蕉 水果 40 3 紧急补货

💡 关键技巧点拨

技巧 作用说明 示例片段
* 连接条件 同时满足多个条件 (条件1)*(条件2)
HSTACK() 横向拼接多列 HSTACK(表格, 新增列)
CHOOSECOLS() 从结果中提取指定列 CHOOSECOLS(结果, 4)
嵌套层次 从内向外读:先筛选→处理→输出 LET(筛选→加工→输出)

实际应用场景
当超市管理员每天打开表格,只需更新库存和保质期数据,这个公式会自动:

标记临期水果
过滤库存不足商品
实时统计需处理商品数量

动手试试把公式贴到你的表格,替换A2:D6为你的数据区域,遇到问题随时评论区问

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容