-1이 특정 셀 위에 나타나는 횟수를 계산해야합니다.


1

다음과 같은 Excel 스프레드 시트가 있습니다.

Hy Newcastle 042216     -1                          Not Matched  1000
Hy Newcastle 042216     6461735 Khanyile;Florence   Success      1000
Hy Newcastle 042216     -1                          Not Matched  1000
Hy Newcastle 042216     6765475 Manana;Witness      Success      1000
Hy Newcastle 042216     -1                          Not Matched  1000
Hy Newcastle 042216     -1                          Not Matched  1000
Hy Newcastle 042216     -1                          Not Matched  1000
Hy Newcastle 042216     6765459 Kubheka;Nomusa      Success      1000
Hy Newcastle 042216     -1                          Not Matched  1000
Hy Newcastle 042216     1905465 Nkosi;Xolani        Success      1000

내가해야 할 일은 각 사람 위에 -1이 몇 번이나 나타나는지입니다. 나는 피벗을 시도했지만 동일한 직원을 함께 그룹화하고 개별적으로 계산해야합니다. 그래서

Kubheka; Nomusa는 3,
Khanyile; 피렌체는 1 등입니다.

이것이 가능한가?


도우미 열 (이름 열이 이름에서 -1로 변경 될 때 값 변경) 및 피벗을 사용하거나 추가 열없이 동일하게 수행하지만 수식이 훨씬 더 복잡한 배열 수식을 사용할 수 있습니다. 하나를 원하십니까?
Máté Juhász

Het Máté-첫 번째 소리가 좋습니다!
LisaRieken

답변:


0

이 VBa 스크립트는

Option Explicit

Sub walkThePlank()

Dim row As Integer
row = 1

Dim total As Integer
total = 0
Do While (Range("D" & row).Value <> "")

    Dim val As String
    val = Range("D" & row).Value

    If (val = "-1") Then
        total = total + 1
    Else
        Range("G" & row).Value = total
        total = 0
    End If


row = row + 1
Loop

End Sub

실행하기 전에

여기에 이미지 설명을 입력하십시오

그리고 후에

여기에 이미지 설명을 입력하십시오

MS Office에서 VBA를 어떻게 추가합니까?


0

VBA를 사용 하여 워크 누크에 모듈 을 삽입하고 오른쪽에 붙여 넣으십시오.

Public Function countNegatives(name As Range)
    countNegatives = 0
    If name <> "-1" Then
        therow = name.Row
        thecolumn = name.Column
    End If
    endrow = False
    counter = 0
    While endrow = False
        If therow > 1 Then
            therow = therow - 1
            If Cells(therow, thecolumn) = -1 Then
                counter = counter + 1
            Else
                endrow = True
            End If
        Else
            endrow = True
        End If
    Wend
    countNegatives = counter
End Function

워크 시트의 G2 셀에 넣고 =countNegatives(D2)결과를 얻습니다 .


0

VBA가없는 솔루션 :

  1. 이 수식을 사용하여 도우미 열을 만듭니다. =IF(C2=-1,"",COUNTIF($C1:C$2,-1)-SUM($G1:G$2))
  2. 이름과 도우미 열이 포함 된 피벗 테이블을 추가하거나 이름이없는 행을 제외하도록 원래 범위를 필터링 할 수도 있습니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.