【问题标题】:Formula to search table and return multiple column headers搜索表格并返回多个列标题的公式
【发布时间】:2015-08-06 14:29:11
【问题描述】:

我试图在单元格中输入某个值,在表格中搜索该值(垂直和水平),然后返回包含该值的列的列标题。我的公式有效,但它只会返回 1 个列标题,我需要它返回多个

公式:

{=INDEX(Sheet2!A1:J31,,MAX(IF(Sheet2!A1:J31=B2,COLUMN(Sheet2!A1:J1)-COLUMN(Sheet2!A1)+1)))}

【问题讨论】:

  • 没有测试你的公式是否有实际错误,我可以看到它是一个数组公式,看起来你只是把它放在一个单元格中。当您有一个数组公式时,它会返回一个结果数组,并且如果您对该数组不做任何事情(例如,选择 MAX 数,对所有数字求和,使用 INDEX 函数选择一个值等),它将返回列表中的第一项(通常)。您将需要一些方法来显示多个值。使用 String 结果生成数组,没有简单的方法可以在单个单元格中执行此操作。您希望如何显示结果?
  • 谢谢!我可以在不同的单元格中接收结果,还是在一个单元格中描述结果?给出结果后,我会将它们与另一组结果进行比较([输入 4 个值的结果] vs [输入另外 4 个值的结果])。我正在寻找这两组数据之间的匹配/不匹配。表数组搜索似乎更简单,但我还没有找到另一种方法。有什么想法吗?

标签: excel search excel-formula multiple-columns array-formulas


【解决方案1】:

我不知道有一个内置的 Excel 公式可以做到这一点,但这可以通过用户定义的函数来完成。

这是一个示例数据集,显示了结果和使用的公式:

这是用户定义函数的代码:

Function SearchColumns(SearchValue As String, SearchRange As Range,    Delimiter As String) As String

SearchColumns = ""

Dim counter As Integer
For i = 1 To SearchRange.Columns.Count
    counter = 0
    For j = 1 To SearchRange.Rows.Count
        If SearchRange.Cells(j, i).Value = SearchValue Then
            counter = counter + 1
        End If
    Next j
    If counter > 0 Then
        SearchColumns = SearchColumns + SearchRange.Cells(1, i).Value + Delimiter + " "
    End If
Next i

SearchColumns = Left(SearchColumns, Len(SearchColumns) - 2)

End Function

Function SearchRows(SearchValue As String, SearchRange As Range, Delimiter As String) As String

SearchRows = ""

Dim counter As Integer
For i = 1 To SearchRange.Rows.Count
    counter = 0
    For j = 1 To SearchRange.Columns.Count
        If SearchRange.Cells(i, j).Value = SearchValue Then
            counter = counter + 1
        End If
    Next j
    If counter > 0 Then
        SearchRows = SearchRows + SearchRange.Cells(i, 1).Value + Delimiter + " "
        End If
    Next i

SearchRows = Left(SearchRows, Len(SearchRows) - 2)

End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 2016-01-10
    • 2013-12-24
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    相关资源
    最近更新 更多