Excel公式或数据库查找用于将多值单元映射为多值结果?

我在Excel中有两个工作表。

例如,一个是映射

A Aardvark B Bear C Cow D Dog 

另一个是第二列我想自动完成的表格。 第一列包含单个值或多个逗号分隔的值:

 A A, C D, B C 

我想在第二列的结果是

 Aardvark Aardvark, Cow Dog, Bear Cow 

只要第一列单元格只包含单个值,使用Excel VLOOKUP就很容易。

但它不处理多个值(或者说,它误解为单个值)并给出结果

 Aardvark #NA #NA Cow 

我怎样才能得到想要的结果? 也许用更复杂的公式,不同的Excel函数,数组表格,或者使用Excel中的MS-SQL客户端来查询Excel表格作为数据库?

UDF方法:

 Function MultiVL(v As Range, tbl As Range) Dim arr, rv As String, x As Integer, res rv = "" arr = Split(v.Value, ",") For x = LBound(arr) To UBound(arr) res = Application.VLookup(Trim(arr(x)), tbl, 2, False) rv = rv & IIf(rv <> "", ", ", "") & IIf(IsError(res), "?", res) Next x MultiVL = rv End Function