2010-02-15 4 views
1

아래의 데이터 목록을보고 나타나는 인스턴스 수를 제공하고 각각의 값을 합산하려면 매크로가 필요합니다. 피벗 테이블이나 일련의 수식이 작동 할 수 있다는 것을 알고 있지만 동료에게이 작업을 수행하고 있으며 여기서는 '한 번 클릭'해야합니다.Excel에서 중복 값이있는 행 합계

A  B 
Smith 200.00 
Dean 100.00 
Smith 100.00 
Smith 50.00 
Wilson 25.00 
Dean  25.00 
Barry 100.00 

최종 결과는 데이터 엉망하도록 허용이

Smith 3  350.00 
Dean  2  125.00 
Wilson 1  25.00 
Barry 1  100.00 
+0

동료에게 Excel 사용 방법을 배우게하십시오. – AMissico

+0

나는 그것을 데이터베이스로 옮기고 '쿼리 이름, 개수 (*), 합계 가격 (가격), 이름으로 그룹 선택' –

답변

-1

과 같습니다 다음과 같이 데이터는? 열 A로 정렬 한 다음 부분합 기능을 사용하여 열 A의 합계 열 B를 변경하고 열 B의 합계를 표시 할 수 있습니다 (어쨌든 기본 설정이라고 생각합니다).

당신이 그것을 정렬하지 않을 수있다면 나는 그것을 문자 그대로 새로운 시트에 복사하고 그것의 복사본을 정렬하는 것이 가장 쉬운 방법 일 것이라고 생각할 것입니다.

[죄송합니다. "개수"비트를 잊어 버렸습니다. 당신은 1 초 가득 새 열을 추가하고 같은 방법으로 그 소계 수 있습니다.]

0

엑셀이 일

SUMIF()
COUNTIF()
데이터, 필터, 고급 필터, 고유 기록 만 제공

필요한만큼 매크로를 기록 할 수 있습니다.

+0

JD, 과 같은 쿼리를 사용합니다. 쪽으로? 감사합니다, 존 – john

+1

열로 테스트 데이터를 넣고 B 행 C2에서 1-8 입력 = COUNTIF (2 $ A $ : $ A $ 8 A2)을하고 = 입력 D2에서 아래 세포에 그것을 아래로 복사 SUMIF ($ A $ 2 : $ A $ 8, A2 $ B $ 2 : $ B $ 8) 복사하십시오. 스미스가 나타나면 매번 C 열 3 열, D 열 350 열이 나타날 것입니다. 스미스가 3 번 나타나기 때문에 3 번. 고급 필터를 사용하여 중복을 숨길 수 있습니다. –

+0

피벗 테이블은 설정하기가 훨씬 쉽고 사용자가 변경하기 쉽고 복잡하지 않습니다. 게다가, 여러분의 제안은 배열 수식을 사용하는 것이 더 나을 것입니다. – AMissico

3

피벗 테이블을 새 시트에 만들고 그 데이터를 참조하십시오. 업데이트하려면 동료에게 피벗 테이블을 마우스 오른쪽 단추로 클릭하고 새로 고침을 선택하도록 안내하십시오. 이를위한 매크로 나 코드가 필요 없습니다.

2

원하는 작업을 수행하는 피벗 테이블을 만들기위한 기록 된 매크로.

Sub Macro1() 

'Who Cost 
'Smith 200 
'Dean 100 
'Smith 100 
'Smith 50 
'Wilson 25 
'Dean 25 
'Barry 100 

    Range("A1:B8").Select 
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ 
     "Sheet1!R1C1:R8C2").CreatePivotTable TableDestination:="[Book1]Sheet1!R1C4", _ 
     TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Who") 
     .Orientation = xlRowField 
     .Position = 1 
    End With 
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable1").PivotFields("Cost"), "Sum of Cost", xlSum 
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable1").PivotFields("Cost"), "Sum of Cost2", xlSum 
    Range("E1").Select 
    With ActiveSheet.PivotTables("PivotTable1").DataPivotField 
     .Orientation = xlColumnField 
     .Position = 1 
    End With 
    Range("E2").Select 
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of Cost").Function = _ 
     xlCount 
End Sub