Excel 返回包含特定值的行的列

Excel 返回包含特定值的行的列

我确信这是一个很简单的问题。

我希望能够从行值大于 0 的列表返回一列值。从下图中您可以看到第 5 行的 GX 列大于 0,所以我希望它返回相应的标识符 x201。

列跨越 F:ATE,数字所在的行是第 5 行。我将其与求解器函数结合使用,因此每次我输入新的约束时,解决方案都会发生变化,因此希望能够识别哪些列中实际上有结果。

我已附上图片链接来说明问题和预期解决方案

谢谢

显示问题

在此处输入图片描述

显示解决方案

在此处输入图片描述

答案1

Public Function find_1s(source As Range) As Variant()
Dim tmp()
Dim i As Integer, j As Integer
tmp = source.Value
j = LBound(tmp, 2)
For i = LBound(tmp, 2) To UBound(tmp, 2)
    If tmp(2, i) = 1 Then
        tmp(1, j) = tmp(1, i)
        j = j + 1
    End If
Next i
For i = j To UBound(tmp, 2)
    tmp(1, i) = ""
Next i
find_1s = WorksheetFunction.Transpose(tmp)
End Function

在此处输入图片描述

当然,还必须添加很多参数检查......

相关内容