基于标准连接值

我在Excel中有两列数据。 第一列是来自testing的问题编号,第二列是引用正在testing的问题的编号。 有些元素在多个问题上进行testing。 我希望能够做的是列出每个元素被testing的问题编号。 例如:

AB Should return: CD 1 Q Ref Q Ref 2 1 N1 1,3,5 N1 3 2 N4 2 N4 4 3 N1 4 N3 5 4 N3 6 5 N1 

我想这是使用公式返回。

我现在遇到的问题是,返回一个列中未指定数量的值,并引用特定的标准,然后再向右移动另一列。

编辑:寻找一个公式答案,如果可能的话不是VBA

编辑:谢谢你的意见到目前为止。 我将会看看迄今为止所给出的每一种可能的解决scheme,并让你知道我的意见。 1,2,3等将需要在同一个单元格中。

只是把我的评论放在一个答案,所以它更有意义。

首先对列B的列A和列B进行sorting

在C2中把公式:

 =IF(B2=B3,A2&","&C3,A2) 

然后复制下来。

然后在E栏中放置您的唯一参考列表。 而在D2中则表示:

 =VLOOKUP(E2,$B$2:$C$6,2,FALSE) 

并抄下来。

在这里输入图像说明

您可以隐藏栏C.

它确实需要它被正确地sorting和帮助列,但它确实停留在公式只有规则。

本质上,Excel不鼓励在工作表公式中。 我想他们认为,如果你在用户定义函数 (又名UDF )中这样做,并且会阻碍工作簿,那么这就是你自己的错。 为此,我从来没有见过使用原生工作表函数的标准或数组公式,它在一个“粗糙的边缘”单元格arrays上实现了这一点,并且已经尝试了几次。 考虑一下#REF! 由devise。

您可以运行连续的IF函数(xl2007 +标准最多64个)来完成string拼接(请参阅此 ),但您也将被限制为公式的总长度(请参阅此 )。 我们还使用“帮助”单元来运行<= xl2003中的前7个IF,然后在另外7个嵌套IF的第一个IF中引用该单元(漂洗和重复)。

TLDR; 简而言之,VBA是您最可行的解决scheme(请参阅此 )。 条件string连接充满了问题本身,更不用说在数组循环中。


CONCATENATEfunction