Excel: 무게를 잰 셀 개수 계산

Excel: 무게를 잰 셀 개수 계산

내 시간표인 Excel 스프레드시트가 있습니다. 이는 거의 항상 연결된 셀인 몇 가지 작업이 있다는 것을 의미하며 때로는 20개의 셀을 연결하고 때로는 2개만 연결합니다.

모든 셀은 1시간이므로 무게가 측정된 셀 수를 세고 싶었습니다. 즉, 셀 마녀가 단 하나의 셀인 경우 하나로 계산되고, 3개가 연결되어 있으면 3으로 계산됩니다. 따라서 예시 그림에서 셀 개수는 S1:3, S2:4, S3입니다. 2, 구절4:6

오랫동안 검색했지만 문제를 해결하는 기능을 찾지 못했습니다. 내가 찾은 최고는 이지만 =countif(B4:H19, "Subject1")여기서는 세 개의 연결된 셀을 기반으로 하는 셀이 하나로 계산됩니다. 이 문제를 해결하도록 도와주시겠어요?

미리 답변해 주셔서 감사합니다!

답변1

실제로 귀하가 공유한 스크린샷에는 병합된 셀과 병합되지 않은 셀이 모두 포함되어 있으므로 이 문제에는 수식 대신 VBA 매크로가 필요합니다.

여기에 이미지 설명을 입력하세요


   Function MergedCellCount(ByRef Rng As Range, ByVal Criteria As Variant)

    Dim c       As Long
    Dim Cell    As Range
    Dim n       As Long
    Dim r       As Long
    
        Application.Volatile
        
        For c = 1 To Rng.Columns.Count
            For r = 1 To Rng.Rows.Count
                Set Cell = Rng.Cells(r, c)
                If Cell.MergeCells = True And (Rng.Columns(c).Column = Cell.MergeArea.Column) Then
                    If Cell = Criteria Then
                        n = n + Cell.MergeArea.Count
                        r = r + (Cell.MergeArea.Rows.Count - 1)
                    End If
                End If
            Next r
        Next c
        
        MergedCellCount = n
        
    End Function

    Function unMergedCellCount(ByRef Rng As Range, ByVal Criteria As Variant)

    Dim c       As Long
    Dim Cell    As Range
    Dim n       As Long
    Dim r       As Long
    
        Application.Volatile
        
        For c = 1 To Rng.Columns.Count
            For r = 1 To Rng.Rows.Count
                Set Cell = Rng.Cells(r, c)
                If Cell.MergeCells <> True And (Rng.Columns(c).Column = Cell.MergeArea.Column) Then
                    If Cell = Criteria Then
                        n = n + Cell.MergeArea.Count
                        r = r + (Cell.MergeArea.Rows.Count - 1)
                    End If
                End If
            Next r
        Next c
        
        unMergedCellCount = n
        
End Function

작동 방식:

  • 누르거나Alt+F11또는 탭을 선택한 다음아르 자형클릭하고 메뉴에서 히트V코드야.

  • 오피 &이 VBA 매크로를 확인하세요.

  • 누르다Alt+Q시트로 돌아가려면

  • 이제 통합 문서를 매크로 사용 파일로 저장하십시오 *.xlsm.

  • 셀에 이 수식을 입력 K2하고 채워주세요.

    =MergedCellCount(H$2:H$17,J2)+unMergedCellCount(H$2:H$17,J2)

  • 필요에 따라 셀 참조를 조정합니다.

관련 정보