Excel crea una cadena basada en valores

Excel crea una cadena basada en valores

Me enfrento al siguiente problema:

Tengo once columnas que representan los orígenes del producto, a veces el producto se toma de un origen y a veces se toma de dos orígenes. Las columnas tienen valores que corresponden a una fracción de cuánto se usa de ese origen. Ejemplo (usando solo 4 orígenes para facilitar el ejemplo):

NTH LGL MSV NIE

{1   0   0   0;

0.5  0   0.5 0; 

0    1   0   0;}

Los resultados que quiero son entonces para la primera fila NTH, para la segunda fila NTH-MSV y para la tercera fila LGL.

Intenté usar la siguiente fórmula, pero no puedo hacer que Excel concatene las celdas vacías o los errores.

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

AQ1 a BA1 contienen los orígenes de los productos y las columnas siguientes contienen los valores (que van de 0 a 1).

Respuesta1

Después de la aclaración, pruebe esta función personalizada:

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

ingrese la descripción de la imagen aquí

información relacionada