0

我正在使用 MCONCAT(morefunc Excel 插件包的一部分)从数据列表中提取唯一匹配项,我的代码如下:

=MCONCAT(UNIQUEVALUES(OFFSET(B$1,MATCH(D2,A$2:A$68761,0),,COUNTIF(A$2:A$68761,D2))),", ")

如果有多个结果,这一切都可以正常工作,否则它似乎不起作用。它确实可以在不使用 UNIQUEVALUES 的情况下工作,但会为某些行返回大量结果。

=MCONCAT(OFFSET(B$1,MATCH(D8,A$2:A$68761,0),,COUNTIF(A$2:A$68761,D8)),", ")

有谁知道如何使我的第一个查询适用于只有一个匹配的行?

非常感谢,

4

1 回答 1

1

这里发生的是 UNIQUEVALUES 函数需要传递一个“数组”,并且在大多数情况下 OFFSET 会这样做.....除非 COUNTIF = 1 并且 OFFSET 只是一个值(不是包含一个值的数组)并且 UNIQUEVALUES 不喜欢这样,因此返回错误。我不知道一个特别优雅的方法,也许只是在出现错误时将 VLOOKUP 构建到公式中,即

=IFERROR(MCONCAT(UNIQUEVALUES(OFFSET(B$1,MATCH(D2,A$2:A$68761,0),,COUNTIF(A$2:A$68761,D2))),", "),VLOOKUP(D2,A$2:B$68761,2,0))

于 2012-06-07T18:23:25.490 回答