2014-09-29 62 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) 

它的工作原理與剛剛合併他們一樣。

相關問題