做库存、财务、进销存的同学,一定遇到过这个头疼问题:同一商品多次入库,单价随采购批次变化;出库时却要按「当时有效的入库价」核算成本。
规则听起来简单:出库日当天若有入库记录,用当天价格;否则,用该商品在出库日之前最近一条入库价。数据少时手工查还能应付,行数一多就彻底崩溃。
常见 Excel 解法各有短板:VLOOKUP 只能找第一个匹配,找不准「最近日期」;辅助列要占好几列,维护成本高;XLOOKUP 虽能反向查找,却要求 Microsoft 365 较新版本。更麻烦的是——业务同事懂规则,却不一定写得出来公式。
TopCopilot Excel AI 助手(Excel / WPS 表格侧栏的 AI 助手)换了一种思路:你描述业务逻辑,它翻译成可复用的 Excel 公式,并在写入后自动核对结果。
一、问题长什么样
下面这个案例来自 ExcelHome 论坛的真实求助:左侧 B–D 列是入库明细(商品、入库时间、入库单价),右侧 F–G 列是出库记录,H 列是发帖人手工填写的「预期结果」——希望 Excel 能自动算出来。
举两个典型行:
- 纸碗 · 2026/6/29 出库:当天有入库记录,单价 92 → 结果应为 92。
- 纸碗 · 2026/6/28 出库:当天无入库,最近一条是 6/17 的 94 → 结果应为 94。
商品一多、批次一杂,这种「按商品 + 按日期区间找最近价」的需求,正是 Excel 里最容易卡壳的场景之一。
二、把需求告诉 TopCopilot Excel AI 助手
在 Excel 或 WPS 表格中打开 TopCopilot,切到侧栏 AI 助手,用日常语言描述规则即可,例如:
商品入库价格每次不同。出库时按最近一次入库价计算。若出库当天有入库,用当天价格;若没有,用之前最近日期的入库价。请在 I 列写入公式,结果应与 H 列预期一致。
AI 助手会理解表格结构,在 I 列写入公式并向下填充。关键一步是边做边验证:生成后会逐行对比 I 列与 H 列预期值,若不一致会自动修正——不是黑盒里生成完一次性丢给你,而是你能实时看见它在表格里的每一步操作。
上图中,I 列全部与 H 列吻合:6/28 出库的纸碗正确取到 6/17 的 94,6/29 出库的塑料盒取到 6/27 的 97……无需人工逐行核对。
三、公式是怎么工作的
AI 助手最终写入的核心公式如下(区域引用可按你的数据行数扩展):
=SUMPRODUCT(($B$2:$B$13=F2)*($C$2:$C$13<=G2)*($C$2:$C$13=MAXIFS($C$2:$C$13,$B$2:$B$13,F2,$C$2:$C$13,"<="&G2))*$D$2:$D$13) 拆开看,逻辑只有三步:
- 筛商品:
$B$2:$B$13=F2只保留与当前出库行同一商品的入库记录。 - 筛时间不晚于出库日:
$C$2:$C$13<=G2,再配合MAXIFS取出该商品在范围内的最大入库日期——即「最近一次入库」。 - 取对应单价:
SUMPRODUCT将「同商品 × 日期等于最大日期」的行标记为 1,其余为 0,再与单价列相乘求和。匹配行唯一时,结果就是该入库价。
以后入库数据变多,只需把 $B$2:$B$13、$C$2:$C$13、$D$2:$D$13 的区域往下扩,公式逻辑不用改。你不必自己推导这套写法——Excel AI 助手会根据你的表格结构直接给出可复用方案。
四、为什么值得用 AI 助手做这件事
传统路径往往是:先建辅助列标最大日期,再 INDEX+MATCH 或 XLOOKUP 取价,中间任何一步写错都要重新排查。TopCopilot Excel AI 助手的流程是:
1. 描述需求
用业务语言,不用函数语法
2. 写公式
直接写入单元格,可向下填充
3. 验证结果
与预期对比,错了自动改
以前写公式是技术活,现在描述需求是业务活。
本篇是专栏「Excel实用技巧大全 · AI 助手赋能」的第 1 篇。同系列还可阅读《图片转 Excel,在 Excel 里用 AI 助手一键填表》与《PDF 转 Excel,在 Excel 里用 AI 助手一键填表》。后续我们会继续分享更多 Excel 实战:复杂汇总、跨表匹配、批量清洗……同样一句话描述,让 TopCopilot Excel AI 助手在表格里帮你完成。