合并单元格中的查找值

时间:2014-06-02 16:00:39

标签: excel merge vlookup cells

我的Excel有问题。

我有一个在A列中有值的表,这些值对应于B列中的多个值。例如A包含合并单元格中的汽车公司A1:A6和B在属于该单元格的单个单元格中包含6个汽车名称公司

现在我必须使用Car Company执行VLookup作为LookUp值,然后返回属于该公司的所有车名。

问题在于,当我执行VLookUp时,将返回第一个单元格中的车名而不是所有6辆车。

很抱歉,我无法在此处添加任何excel图片,因为我在stackoverflow上的声誉不够。

1 个答案:

答案 0 :(得分:0)

将它放在工作簿中的普通代码模块中:

Function GetModelNames(make As String, columnRange As Range, columnOffset As Integer)
Dim r As Long
Dim mergeRange As Range
Dim cl As Range

Dim ret
'Gets the first ROW within specified columnRange
r = Application.Match(make, columnRange, False)

'iterate over the mergeArea
For Each cl In columnRange(r).MergeArea
    'Concatenate a string of each cell in the offset column:
    ret = ret & IIf(ret = "", "", ", ") & cl.Offset(, columnOffset).Value

Next

'return the value to the function
GetModelNames = ret
End Function

然后称之为:

=GetModelNames("Ford", A:A, 1)

论点:

  • make:应该是汽车制造商
  • columnRange:应为byRef范围地址,例如“A1:A500”或“A:A”等。
  • columnOffset:距离columnRange多少列?