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

在此处输入图片描述

相关内容