2014-09-29 61 views
-1

首先,我对我的英语提前抱歉。如果他们有相同的主机,合并数据

如果我有一个表,觉得这(2×5)

店A |橙色

Shop A |苹果

Shop A |芒果

商店B |橙色

Shop B |苹果

而且我想他们引用到这个(用公式)(2×2)

店A |橙,苹果,芒果

Shop B |橙,苹果

谢谢

+0

忘记报价,对不起 – 2014-09-29 03:22:13

回答

0

这是无法通过代码据我所知容易。你可以通过一些工作来得到结果,但这很麻烦和手动。

我假设你的数据在A和B列

首先,我会在D1和E1创建两个标题,叫做“商店A”和“商店B” 接下来,我会键入仅有1撇号('符号)转化为D2和E2。这个将不会显示,但它会停止excel后面的每个空结果为0。

然后我把下面的公式D3:

=IF($A1=D$1,D2&" "&$B1,D2) 

这里做的事情是:

  1. 如果给定的行A列中包含相同的“商店”作为行 我们正在查看,然后...
  2. 加入上面的结果中的字符串,在它后面放一个空格,然后添加B列的值
  3. Else,ju st继承上一行中的前一个结果值。

然后,我会传达给E3,因为它变成其拖到此:

=IF($A1=E$1,E2&" "&$B1,E2) 

我可以再拖动这两个细胞下降(即,突出D3和E3并拖累)。

只要您需要完全覆盖原始行数(在本例中为5),就将其拖下来。最后一项将是每列的连接字符串。对于你的情况,你结束了:

orange apple mango | orange apple 

复制这两个字符串和粘贴值他们到另一个细胞。然后,您可以再次复制这些,如果你想让他们一个在另一个之上,而不是并排置他们,即:

orange apple mango 
orange apple 

然后,只需输入原始列(或复制D1和E1和转它们)。

请注意,由于'我们放入第一个单元格中,字符串在它们的开始处将具有空格。如果你想修剪它,只需在结果上使用TRIM()函数来删除前导和尾随空格。

希望这会有所帮助。正如我所说,这是非常劳动密集型的,但我从来没有找到一种好方法在excel中有条件地连接字符串,而不必潜入写入VBA。

请注意,我不使用CONCATENATE()函数,因为它不插入空格。你可以,如果你这样做:

=IF($A1=D$1,CONCATENATE(D2," ",$B1),D2) 

它的工作原理与刚刚合并他们一样。

相关问题