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

Excel动态提取库存出库记录:生成无空值紧凑列表的技术咨询

Excel出库记录自动生成紧凑列表解决方案

一、生成无空值的紧凑记录列表

假设原数据工作表名为出库数据,结构为:

  • A列:物品代码(A2开始为具体代码)
  • 第1行:日期(B1开始为具体日期,如11-Jan)
  • B2:Z100:出库值(非空即为有效记录)

在目标工作表(如出库记录)的对应列输入以下公式:

  1. 日期列(A2单元格):
=TOCOL(IF(出库数据!B2:Z100<>"", 出库数据!B1:Z1, ""), 1)
  1. 物品代码列(B2单元格):
=TOCOL(IF(出库数据!B2:Z100<>"", 出库数据!A2:A100, ""), 1)
  1. 出库值列(C2单元格):
=TOCOL(出库数据!B2:Z100, 1)

公式说明

  • TOCOL函数将二维区域的非空值提取为一维列,参数1表示忽略空单元格,自动生成无空行的紧凑列表。
  • IF函数匹配有效出库值对应的日期和代码,仅当出库单元格非空时,提取对应行/列的关联数据。

二、固定录入日期不变

根据需求场景选择对应方案:

场景1:锁定原表标题日期(防止标题修改导致记录日期变更)

将日期提取公式改为文本格式存储,避免原表日期修改影响目标表:

=TOCOL(IF(出库数据!B2:Z100<>"", TEXT(出库数据!B1:Z1, "dd-mmm"), ""), 1)

场景2:自动记录录入时的实际日期(不依赖原表标题)

  1. 在出库数据工作表新增一列(如D列),表头设为录入日期,D2单元格输入公式:
=IF(B2<>"", IF(D2="", TODAY(), D2), "")
  1. 启用Excel迭代计算:依次点击「文件」→「选项」→「公式」,勾选「启用迭代计算」,设置迭代次数为1。
  2. 目标表日期列改为引用录入日期列:
=TOCOL(IF(出库数据!B2:Z100<>"", 出库数据!D2:D100, ""), 1)

此方案会在出库值录入时自动记录当天日期,后续不会随时间或原表标题修改而变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 08:25:10