2017-02-18 103 views
3

我有一個Excel電子表格,例如:(請參見「公式輸出列E」圖像的列A到D - 由於信譽點不夠,必須刪除原始第一圖像)Excel複製到CSV單元格公式的行

並想制定一個公式來鞏固它,以便當前三列是重複的時候,最後一列被合併爲一個CSV單元格,例如:Excel Finish

我在想它可以在那裏用右索引和匹配功能的組合,但我還沒有得到它的工作....任何幫助將不勝感激!謝謝。

我現在有下面的公式:

=IF(AND(A2=A1,C2=C1),"",D2&", 
"&INDEX(A2:D17,MATCH(A2,A2:A17,0)+1,4)&", 
"&INDEX(A2:D17,MATCH(A2,A2:A17,0)+2,4)&", 
"&INDEX(A2:D17,MATCH(A2,A2:A17,0)+3,4)&", 
"&INDEX(A2:D17,MATCH(A2,A2:A17,0)+5,4)) 

其中產量這個輸出中在科拉姆E:Formula Output Column E

正如你可以看到,它或者包含太多的行(行2和6輸出)或太少(第8行輸出)。希望這有助於,謝謝。

回答

1

這裏是數組公式(意味着你必須點擊按Ctrl + + 完全進入),你可以在你的CSV Output列中使用:

{=IF(OR(ROW(E1)=1,MAX(--($A$1:A1=A2)*--($B$1:B1=B2)*--($C$1:C1=C2)*ROW($A$1:A1))=0),D2,INDEX($E$1:E1,MAX(--($A$1:A1=A2)*--($B$1:B1=B2)*--($C$1:C1=C2)*ROW($A$1:A1)))&", "&D2)} 

這裏是解釋,但我也附上圖片供您參考:

enter image description here

  • Column F:這是爲了找到最後匹配的行,這也是一個數組公式:

    {=MAX(--($A$1:A2=A3)*--($B$1:B2=B3)*--($C$1:C2=C3)*ROW($A$1:A2))}

    --也就不難看到,當你評估公式。如果你願意,你可以刪除它們。

  • Column G:這是連接現有結果:

    =IF(OR(ROW(G1)=1,F2=0),D2,INDEX($G$1:G1,F2)&", "&D2)

希望這有助於。如果您有任何問題,請告訴我。

+0

這是不是隻顯示了最後的所有值?或者是否刪除那些不需要的地方? – Quack

+0

它將顯示如圖所示,以便將所有輸出連接在一起。你需要做ChrisM給你看的東西。使用我的公式的好處將適用於非順序訂單。例如,如果有人在第15行輸入了907,則此公式仍然適用於您。 – ian0411

+0

有道理,謝謝 – Quack

2

如果你有兩個額外列,並在下面的例子一樣在小區F2型

=IF(AND(A2=A3,C2=C3),D2&","&E3,D2) 

細胞E2和

=IF(AND(A2=A1,C2=C1),"",E2) 

enter image description here

然後你會獲取列CSV輸出正確的輸出,但在行F而不是行E,as當你將公式填充到底部時。

enter image description here

相關問題