如果二维数组中的第一列单元格相同,则在第二列中添加单元格会出现问题



我的excel文件看起来像这样:

Work    Pairs  Name
strobel 400 Katarina
strobel 200 Katarina
strobel 200 Katarina
sekanie 400 Katarina
sekanie 300 Katarina
sekanie 300 Katarina
sekanie 300 Katarina
sekanie 200 Katarina
sekanie 100 Katarina

基本上,它列出了一个人所做的操作(Work)、在这种操作中所做的配对数量(pairs)和个人姓名(name)。

我已经通过循环两次将所有内容放入数组:

        For j = 1 To strDataRange.Rows.Count
            For k = 1 To 3
                arr(j, k) = strDataRange(j, k)
            Next k
        Next j

strDataRange是单元格(2,1)到单元格(lastrow,3)的范围。此阵列工作正常。

我需要做的是,如果第一列中的操作具有相同的名称,将在这样的操作中完成的对的数量加在一起,并用这些信息创建一个新的列表(或数组),即最终结果将是

strobel 800 Katarina
sekanie 1600 Katarina

我不太确定如何做到这一点(在编程方面非常缺乏经验),我宁愿不要浪费20个小时去尝试那些即使我做对了也不会奏效的事情。

我的想法是:

    For m = 1 To UBound(arr, 1)
        If arr(m, 1) = arr(m + 1, 1) Then
           <make new array where the pairs of first 2 matches add up>
           <somehow make this new array iterate until there are no 2 identical matches>
    Next m

非常感谢,感谢您的帮助!

为什么在VBA中使用它?

创建数据透视表:

  • 将工作添加到ROWS
  • 将对添加到VALUES

瞧!

如何创建数据透视表

转到"插入"->"数据透视表"。按照上面在"数据透视表字段"面板中提到的操作进行操作。

点击此处阅读更多信息:https://support.office.com/en-sg/article/Overview-of-PivotTable-and-PivotChart-reports-00a5bf71-65cb-49f9-b321-85bb7b0b06c2

相关内容

最新更新