【问题标题】:Counting Multiple Items in Excel Based on Specific Criteria根据特定条件计算 Excel 中的多个项目
【发布时间】:2012-06-16 20:39:43
【问题描述】:

我查看了其他问题,但找不到我需要的内容。

最好解释如下:

我有一个包含三列的电子表格:

产品名称 供应商

一些供应商提供相同的产品。

我需要计算供应商有多少相同的产品名称。

非常感谢所有帮助。

谢谢,

user1114330

【问题讨论】:

  • 我在您之前的一个问题stackoverflow.com/q/10610354/293078 中看到,您收到了使用数据透视表的建议。对于这个似乎是相同或相似项目的问题,数据透视表也是可行的方法。
  • 是的,这与上一篇不同。数据透视表有效,但对于这个它不会。用户将使用 Google Docs,而数据透视表在 Gdocs 中几乎一文不值。我正在使用 excel 准备报告,并在我完成分享时导入到 gdocs。
  • 也许我应该做的是获取唯一的产品记录,删除重复项,然后使用某种带有计数的 vlookup?
  • 要获得好的答案,您需要更多地说明情况。举例说明您的数据和您期望的结果。
  • @DougGlancy - 上面的例子。

标签: excel excel-formula countif vba


【解决方案1】:

将此公式粘贴到单元格 C1 中

 =SUMPRODUCT(($A$1:$A$10=A1)*($B$1:$B$10=B1))

快照

但是,如果您仍然想要 VBA,请参阅此

Option Explicit

Sub Sample()
    Dim ws As Worksheet
    Dim lrow As Long

    Set ws = Sheets("Sheet1")

    With ws
        lrow = .Range("A" & .Rows.Count).End(xlUp).Row
        .Range("C1:C" & lrow).Formula = "=SUMPRODUCT(($A$1:$A$" & lrow & _
                                        "=A1)*($B$1:$B$" & lrow & "=B1))"
    End With
End Sub

【讨论】:

  • 谢谢...您对如何对 102k 行使用第一个非 vba 脚本有什么建议吗?
  • 是的。将上面公式中的 $10 更改为最后一行编号,然后将公式放入单元格 C1 中。之后,只需双击自动填充,以便将公式复制到最后一个单元格。
  • =SUMPRODUCT(($G$2:$G$102667=G2)*($H$2:$H$102667=H2)) 不起作用..显示#VALUE! ..想法?
  • 如果您有 Excel 2007 或更高版本,您可以使用 COUNTIFS,它在 Excel 中要快得多,即=COUNTIFS(G:G,G2,H:H,H2)
  • 公式很多......当工作表中有 100k 个公式时,我仍然发现 excel 非常慢。通常意味着有人需要在数据进入 Excel 之前更好地使用 SQL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-17
  • 2021-08-24
  • 1970-01-01
  • 2021-11-24
  • 2021-06-21
  • 2020-09-30
  • 1970-01-01
相关资源
最近更新 更多