Я сталкиваюсь со следующей проблемой:

У меня есть одиннадцать столбцов, которые представляют происхождение продукта, иногда продукт взят из одного происхождения, а иногда из двух источников. В столбцах есть значения, которые соответствуют доле того, сколько используется этого источника. Пример (используется только 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 ответ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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .