셀 값을 헤더와 결합하고 공백을 무시합니다.

셀 값을 헤더와 결합하고 공백을 무시합니다.

고정 행 값을 다른 열 값과 결합하고 싶지만 빈 셀을 건너뛰고 싶습니다. 코드가 있지만 작동하지 않습니다. 제안해주세요

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

Public Function SuperJoin(r1 As Range, r2 As Range, IgnoreBlanks As Boolean) As String
Dim i As Long, j As Long
Dim s As String

j = r2.Cells.Count
For i = 1 To j
  If IgnoreBlanks = True Then
    If r2.Cells(i) = True Then
        If r2.Cells(i).Value <> "" Then s = s & "-" & r2.Cells(i)
    End If
  Else
    If r2.Cells(i) = True Then
        s = s & "-" & r2.Cells(i)
    End If
  End If
Next

i = r1.Count

For j = 1 To i
    SuperJoin = SuperJoin & "----" & r1(1, j) & r2(1, j)
Next j

SuperJoin = Mid(SuperJoin, 5)

End Function

답변1

VBA 없이 이 작업을 수행하려면 이 추악한 공식이 해당 작업을 수행합니다.

=IF(ISBLANK(B5),"",B$1&"-"&B5&", ") &IF(ISBLANK(C5),"",C$1&"-"&C5) &IF(ISBLANK(D5),"", (IF(ISBLANK(C5),D$1&"-"&D5,", "&D$1&"-"&D5)))

아래 화면 캡의 B12 셀에 있습니다. 불행하게도 수식은 항상 데이터가 있는 열이 두 개 이상 있다고 가정합니다. 그렇지 않으면 E의 결과에 표시된 것처럼 불필요한 을 추가합니다. (셀 B13)

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

관련 정보