MSExcel使用MCONCAT在一个单元格中返回唯一值

时间:2012-06-07 12:21:11

标签: excel

我正在使用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)),", ")

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

非常感谢,

1 个答案:

答案 0 :(得分: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))