Excel 값을 기반으로 문자열 만들기

Excel 값을 기반으로 문자열 만들기

나는 다음과 같은 문제에 직면하고 있습니다 :

제품 원산지를 나타내는 11개의 열이 있습니다. 때로는 제품이 하나의 원산지에서 가져오고 때로는 두 개의 원산지에서 가져오기도 합니다. 열에는 해당 원본에서 사용된 양의 일부에 해당하는 값이 있습니다. 예(예시를 쉽게 하기 위해 4개의 원점만 사용):

NTH LGL MSV NIE

{1   0   0   0;

0.5  0   0.5 0; 

0    1   0   0;}

내가 원하는 결과는 첫 번째 행 NTH, 두 번째 행 NTH-MSV 및 세 번째 행 LGL에 대한 것입니다.

다음 수식을 사용해 보았지만 빈 셀이나 오류를 연결하기 위해 Excel을 사용할 수 없습니다.

=CONCATENATE(IFERROR(OFFSET(AP1;0;IF(AQ4:BA4>0;COLUMN(AQ4:BA4)-COLUMN(AP4);""));""))

AQ1~BA1에는 제품 원산지가 포함되고 아래 열에는 값(0~1 범위)이 포함됩니다.

답변1

설명에 따라 다음 사용자 정의 기능을 사용해 보십시오.

Function HEADERFOROVERZERO(rng As Range)
Dim rngCell, returnString: returnString = ""
For Each rngCell In rng
    If (IsNumeric(rngCell.Value)) Then
        If (rngCell.Value > 0) Then
            returnString = returnString & Cells(1, rngCell.Column).Value & "-"
        End If
    End If
Next
If (Len(returnString) > 1) Then
    returnString = Left(returnString, Len(returnString) - 1)
End If
HEADERFOROVERZERO = returnString
End Function

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

관련 정보