【问题标题】:Checking for same value in rows and calculate corresponding total检查行中的相同值并计算相应的总数
【发布时间】:2014-06-03 04:42:40
【问题描述】:

我有一个大的 s/sheet。 A 列中的值对应于 B、C 和 D 列中的值。

我需要在 A 列中合并一些具有相同值的行,并自动计算所有相应行中 B 列中的值的总和。

然后我需要删除所有不必要的行

有什么想法可以用一些代码做到这一点吗?

【问题讨论】:

  • 如果您发布您尝试过的代码,您更有可能得到答案。 See this 获取 SO 的问题指南。
  • C 和 D 列中的值呢?对于 ColB,添加一个新列并使用 SUMIF() 按 ColA 中的值对 ColB 中的所有值求和。复制/粘贴值,然后使用数据 >> 删除重复项(仅选择 ColA)删除“额外”行
  • 列 C 和 D 不是很重要 - 尝试过 SUMIF() 但 CoIA 中的值不是恒定的 - 可能是 5 行具有相同的值,而其他时候只有 1 行。
  • Ok 试过这段代码,但它返回 0 - 不知道为什么 Private Sub CommandButton1_Click() End Sub Sub DoCalculation() Dim row As Integer, lastrow As Integer ' 设置数据最后一行的行号lastrow = 3621 Columns("f").ClearContents prow = 2 For row = 2 To lastrow - 1 temp = Cells(row, 3) For row2 = row To lastrow If Cells(row2, 3) = temp Then Cells(prow, 16) = temp Cells(prow, 16) = Cells(prow, 6) + Cells(row2, 6) End If Next row2 If Cells(row + 1, 1) temp Then prow = prow + 1 Next row Columns( "f").ClearContents End Sub

标签: vba excel


【解决方案1】:

我认为您可以使用 Power Query 或 VBA。可能您可以使用公式来实现这一点,但它并不灵活。使用 Power Query,您可以组合来自多个来源的数据、清理和转换,甚至直接加载到 PowerPivot 模型中。如果您有一些详细信息,请告诉我。如果您可以上传包含您的数据的示例工作簿,我将能够为您提供更多信息。

【讨论】:

  • 应该可以用 vba 做到这一点,但代码有困难 - 不幸的是不知道电源查询 & 无法上传文件
  • 您可以简单地安装 Power Querry 并自行尝试。它功能强大且简单易用,您无需编写任何代码。
  • OK 似乎 Power Query 仅与 2010 年以后的 excel 兼容 - 不幸的是我仍然运行 2007 - 所以 VBA 是
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 2010-11-16
  • 2018-08-09
  • 2023-03-18
  • 1970-01-01
  • 2020-08-01
  • 2013-08-05
相关资源
最近更新 更多