【问题标题】:Match, pull and add numbers from different cells on a different sheet匹配、提取和添加来自不同工作表上不同单元格的数字
【发布时间】:2017-10-26 23:13:56
【问题描述】:

我在 D 列中有关于“JobSheet1”的数据,我有按升序排列的发票编号(对于同一订单上的不同产品,有些是重复的),在 E 列中,我有金额,即 50.00 英镑。

在 B 列的第二张表“InvoicesSheet1”上,我有发票编号,而 C 列是我希望显示每个发票编号的总数的位置。

任何人都可以使用非常简单的 VBA 或公式来搜索“JobSheet1”列 D 中的发票编号,并从 E 列添加所有匹配的发票编号总计。

【问题讨论】:

  • =SUMIFS( 'JobSheet1'!E:E, 'JobSheet1'D:D,B2)
  • 不工作@Scott Craner,有什么想法吗?
  • 通过稍微改变公式,我设法让它做一些事情,在这种形式下,它目前从 Jobs!K:K 中提取数据,我如何让它也从中提取和添加数据Jobs!L:L 在 D3 中使用相同的标准?这就是公式当前的样子 =SUMIFS(Jobs!K:K,Jobs!A:A,D3)

标签: vba excel excel-formula


【解决方案1】:

Scott Craner 是对的,使用您描述的架构,您将获得想要输入单元格 Ci:Cj 的结果(其中“i”和“j”是 分别是表格的开始和结束):

=SUMIFS('JobSheet1'!E:E,'JobSheet1'D:D,B{i...j})

如果这不起作用,您可能需要注意的问题是:

  1. 工作表的名称与您在此处键入的名称不完全相同。也许他们有一个前导或尾随空格。
  2. 您的 Excel/Windows 副本可能设置了不同的区域设置,这要求公式参数用分号 (;) 而非逗号分隔。
  3. 在两个不同的公式中输入的发票编号可能不完全相同。
  4. 您在 E 列中的金额可能不会存储为数值。您可以通过从 E 列中选择几个值来对此进行测试 - 如果 excel 未在右下角显示它们的总和和平均值,它们将存储为文本,您无法对它们执行数学运算。

我需要查看您的数据以了解可能是什么问题,但这不是本论坛的目的 - 尝试使用完全按照您在此处描述的设置的虚拟数据构建一个新表,并尝试使用此公式,验证它是否有效。然后,根据需要进行相应调整。

【讨论】:

  • 通过稍微改变公式,我设法让它做一些事情,在这种形式下,它目前从 Jobs 中提取数据!K:K,我如何让它也从中提取和添加数据Jobs!L:L 在 D3 中使用相同的标准?这就是公式当前的样子 =SUMIFS(Jobs!K:K,Jobs!A:A,D3)
【解决方案2】:

假设您是 InvoiceSheet1 中的第一个发票编号在单元格 b3 中,您可以使用: =SUMIF(JobSheet1!D:D,InvoiceSheet1!B3,JobSheet1!E:E)。

如果它在另一行中,请将 InvoiceSheet!B3 替换为您的数据开始的相关单元格。抄下其他发票的公式

只需一个查找条件就不需要 SUMIFS。

【讨论】:

    【解决方案3】:

    我通过修改 ScottCraner 的 SUMIFS 建议解决了这个问题,这就是我最终得到的结果

    =SUMIFS(Jobs!K:K,Jobs!A:A,D3)+SUMIFS(Jobs!L:L,Jobs!A:A,D3)

    干得好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-13
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      相关资源
      最近更新 更多