Excel Faça uma string com base em valores

Excel Faça uma string com base em valores

Estou enfrentando o seguinte problema:

Tenho onze colunas que representam as origens do produto, às vezes o produto é retirado de uma origem e às vezes é retirado de duas origens. As colunas possuem valores que correspondem a uma fração de quanto é utilizado daquela origem. Exemplo (usando apenas 4 origens para facilitar o exemplo):

NTH LGL MSV NIE

{1   0   0   0;

0.5  0   0.5 0; 

0    1   0   0;}

Os resultados que desejo são então para a primeira linha NTH, para a segunda linha NTH-MSV e para a terceira linha LGL.

Tentei usar a fórmula a seguir, mas não consigo fazer com que o Excel concatene as células vazias ou com erros.

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

AQ1 a BA1 contêm as origens dos produtos e as colunas abaixo contêm os valores (variando de 0 a 1).

Responder1

Após esclarecimentos, experimente esta função 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

insira a descrição da imagem aqui

informação relacionada