2017-02-18 97 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

相关问题