2014-10-16 78 views
-1

所以我想让这张表只显示每一个人的1行,并将它们的所有票据总和。现在,Marci会多次出现,因为每一行代表不同部门的门票数量(例如医护门票数量,FireFighter门票数量等)。我尝试了“唯一记录”在高级选项卡下,显然这不起作用,因为行不是唯一的。删除重复项并将它们的值合并成一行 - Excel报告

enter image description here

是否有人可以帮助我?

+0

由于数据透视表是由唯一记录汇总的,因此您的数据是问题。 MARCI可能会重复,因为数据中的实际文本有不同数量的尾随空格。尝试在使用TRIM功能的数据中创建另一列以删除前导和尾随空格。 – guitarthrower 2014-10-16 17:32:07

+0

SQL与这个问题有什么关系? – Ram 2014-10-16 17:32:52

+0

查看SQL标记,如果要使用SQL抽取数据,则可以重新编写SQL查询以删除前导空格和尾随空格,以便不必在Excel中执行 – guitarthrower 2014-10-16 17:33:46

回答

0

您需要VBA。做一个环上的这2个概念: 1:排序细胞按字母顺序 1:检查是否有平等的相邻小区: 2:删除和数量OCCURENCES如果真 3:请继续阅读下一行

Sub RemoveAndNumberDuplicates 
    Dim r As range 
     Set r = Selection 
     for N=1 to 100 
      IF r.offset(N, 0).value= R.offset(N - 1 - NumOfDeletedLines, 0).value THEN 
      SumOfDupl=SumOfDupl+1 'number of current record instances 
      rang.offset(N, 0).Delete (xlShiftUp) 
      rang.offset(N, 1).Value=SumOfDupl ' show duplicates in side column 
      NumOfDeletedLines=NumOfDeletedLines+1 'needed to correct offset for deleted lines 
      Else 
      SumOfDupl=1'restart numbering if no duplicate found 
      End If 
     Next N 
End Sub 

这是一个Excel VBA的一般想法,不是一个完整的代码。

+0

我从来没有使用过VBA。视觉基本即时通讯假设,但我将如何去获得VBA? – QuestionQuestion 2014-10-16 18:11:42

+0

它已包含在Excel和开放式办公室中。按Alt + F11,然后你就可以走了。请参阅Excel VBA的一些教程 – anefeletos 2014-10-16 18:16:42

+0

谢谢你,先生 – QuestionQuestion 2014-10-16 18:27:36