Excel 公式 - 根据数据列表创建发票

Excel 公式 - 根据数据列表创建发票

我有一个带有两个选项卡的 Excel 电子表格 - 一个选项卡是销售数据列表(例如日期、金额、客户姓名、发票号),另一个选项卡是我想要制作非常简单的发票的地方(它们实际上并没有被发出)。

每张发票只有 11 行(例如前几行是公司名称、地址等)。日期为=data!C6,发票号码为=data!H6,金额为=data!G6

当我突出显示invoice(11 行,8 列)并使用右下角的小框向下拖动以invoices自动生成另一个时,它可以工作,但问题是 Excel 从数据选项卡中获取了错误的值。

例如,下一个invoice应该是=data!C7/ =data!H7/=data!G7但它获取的是=data!C17/ =data!H17/=data!G17

有人可以帮我吗,以便我可以让它从选项卡中一次获取一行的数据data

答案1

如果我正确理解了你的问题,那就是:

Sheet1 = 1 data per line(row)
Sheet2 = 1 data per 11 lines(rows)  <-- desired output.

我的建议是,不要直接使用从 Sheet1 --> Sheet2 的直接链接,而是尝试使用“excel 索引匹配方法”。

我花了很长时间才弄明白,但这是值得做的。

1)准备数据:

  • 在 sheet2 上的 11x8 表格旁边,放一个流水号。(稍后可以通过右键单击 > 文本颜色 = 白色将其“隐藏”,以便打印,现在请保持原样)
  • 对于 Sheet1 中的数据,在数据的左侧添加一个“运行数字”列。例如,对于行 1 中的数据添加 1,对于行 2 中的数据添加 2,依此类推。
  • 例如,我假设在 sheet1: column1 = running number, column2 = date,column3 = amount,column4 = customer name,column5 = invoice number
  • 我将假设客户数据从第 3 行开始。因此,第一行数据将是A3=1,B3=date1,C3=amount1,D3=name1,E3= invoice1。第二行日期将是A4=2,B4=date2,C4=amount2,D4=name2,E4= invoice2,依此类推。
  • 并且在 sheet2 中: A1:K8 是发票1的预期数据/格式,其中“1”(数字 1)在 L1 中输入。并且 A9:K16 是发票2,“=L1+1”在 L9 单元格中输入。

2)将 Sheet1 数据加载到 Sheet2

在 sheet2 中使用“索引匹配方法”。

  • 由于 A1:K8 是 invoice1 的数据区域,我们希望通过以下方式在 sheet2 中输入数据:H2=date1,E4=amount1,C3=name1,H1= invoice1
  • 因此在 sheet2,H2 处输入:=index(<array2>,match(L1,<array1>,0)) ,在 sheet2,E4 处输入:=index(<array3>,match(L1,<array2>,0)) ,在 sheet2,C3 处输入:=index(<array4>,match(L1,<array2>,0)) ,在 sheet2,H1 处输入:=index(<array5>,match(L1,<array2>,0))
  • 其中:是sheet1,$A$3:$A$200,是sheet1,$B$3:$B$200,是sheet1,$C$3:$C$200,是sheet1,$D$3:$D$200,是sheet1,$E$3:$E$200

  • 我们将期望看到单元格 H2 中有 date1,单元格 E4 中有 amount1,单元格 C3 中有 name1,单元格 H1 中有 invoice1。

3)将其扩展到下一行

  • 在 Sheet2 上,选择A1:K8,拖动右下角的小框直到 K16 。请注意,我们在此选择中排除了 L1。
  • 现在选择A9:L16,拖动右下角的小框直到 K1600。注意:L9(运行号)现在也被选中并拖动。

完毕。

我们希望看到 A1:K1600 是发票。L1 is 1, L9 is 2, L25 is 3要在打印中“隐藏”L 列 L,只需右键单击 > (图标)文本颜色 = 白色。

希望有所帮助。(:

相关内容