如何确定是否只有一个值与多个值?

时间:2017-01-03 14:08:22

标签: excel excel-formula

我有一个检查一列值的公式,如果有值,则将这些值放在逗号分隔的字符串中。我的问题是,如果列列表中只有一个我正在检查,除非有多个值,我怎样才能排除公式输出值?

=BI3801&IF(BI3802<>"",", "&BI3802,"")&IF(BI3803<>"",", "&BI3803,"")&IF(BI3804<>"",", "&BI3804,"")

如果有值,则输出:&#34; value1,value2&#34;

2 个答案:

答案 0 :(得分:0)

您可以将其包装在另一个IF语句中。列 A

的示例
=IF(COUNTA(A:A)>1,your_formula,"")


更新

您可能会发现VBA会在这里为您提供更好的服务。只要有两个或多个非零值,此函数将采用一列并返回逗号分隔列表

将其粘贴到VBA编辑器中的新模块

Function CommaDelim(rng As Range)
    Dim outputStr As String
    Dim r As Range
    Dim r2 As Range

    If Application.WorksheetFunction.CountIf(rng, "<>0") < 2 Then
        CommaDelim = ""
        Exit Function
    End If

    For Each r In rng
        If r.Value <> 0 Then
            outputStr = outputStr & r.Value & ","
        End If
    Next r
    outputStr = Left(outputStr, Len(outputStr) - 1)

    CommaDelim = outputStr
End Function

然后在工作表上,你可以使用这样的函数:

=CommaDelim(A1:A5)

enter image description here

答案 1 :(得分:0)

我拿了一个范围C1并输入了公式=CountBlank(A1:A5),它计算了所有空白,然后是我原来的公式,=IF(C1<4, myCommaDelimitedFormula, "")