根据标准将数据子集从主表拉到单个表,而不使用 VBA

根据标准将数据子集从主表拉到单个表,而不使用 VBA

我有一张包含一些销售数据的主表,简化视图如下:

日期、产品、数量、价格、金额、客户

然后我有另一个包含单个客户的工作簿。我希望能够从主表中提取相应的数据子集,并根据匹配的客户名称将其放置到客户表中。条件(客户名称)是每个客户工作表上的 A1 单元格。如果在主表中添加行时动态更新客户工作表,那就太好了。Excel 版本是 Excel 2016。有没有不使用 VBA 的方法?

答案1

使用此公式可以把记录从一个工作簿拉到另一个工作簿。

{=IFERROR(INDEX([Master.xlsx]Customer!$A$2:$D$100, SMALL(IF(COUNTIF($A$1, [Master.xlsx]Customer!$A$2:$A$100), ROW([Master.xlsx]Customer!$A$2:$D$100)-MIN(ROW([Master.xlsx]Customer!$A$2:$D$100))+1), ROW(A1)), COLUMN(A1)),"")}

注意:

  1. 记住这是 CSE 公式,所以用Clrl+Shift+回车
  2. 在执行此公式之前,请打开 MASTER 工作簿。
  3. 目标工作表的 A1 单元格,写下您想要从主文件中提取其记录的客户名称。
  4. 在标题行后的 A 列中写入公式。
  5. 在单元格中,您获得客户名称,将公式拖动到“写下来”然后向下拖动。
  6. 将公式向下拖动几个额外的行,这样当在主文件中添加相同的客户时就会自动拉到工作表中。
  7. 对其他工作表重复这些步骤,从主表中提取其他客户的记录。

希望这对你有帮助。

笔记, 如果您使用 VBA 代码,即使关闭,也会从主工作簿中提取记录。

相关内容