如您所见,我们有一个包含数据的矩阵。(我删除了行和列的标题,因为它是不应该传播的公司信息。)
链接:http: //i49.tinypic.com/5jwayg.jpg
这就是我需要的:
- 当矩阵中有“X”时,我需要它所在列的值(来自“黄色”范围:B1:W1)。如您所见,一行中可能有更多“X”(“蓝色”范围:A3:A48)
- 因此,选择A11时,我需要B11和M11的值)
我希望有人能够通过功能实现这一目标?
如您所见,我们有一个包含数据的矩阵。(我删除了行和列的标题,因为它是不应该传播的公司信息。)
链接:http: //i49.tinypic.com/5jwayg.jpg
这就是我需要的:
我希望有人能够通过功能实现这一目标?
VBA 解决方案。
如果我正确理解您的问题,这应该有效,或者至少是一个很好的开始。
Option Explicit
Function findvalues(rng As Range) As String
Dim cel As Range, str As String
For Each cel In rng
If cel.Value = "X" Then str = str & "," & cel.Value
Next
findvalues = Mid(str, 2)
End Function
像这样实现它,给定链接中的电子表格
在单元格 A3=findvalues(B3:W3)
中 在单元格 B2 中=findvalues(B3:B48)
我不确定您如何获得 B11 和 M11 的值,但您可以逐个单元格地执行此操作。只需这样做:
=IF(A1 = "X", COLUMN(A1), "")
这将为您提供 A1 aka '1' 的列号。肯定有一种方法可以通过 VBA 获得您想要的东西,但是我对此还不是很有经验,所以我对您的帮助很小。