Excel formula Excel将行复制到CSV单元格公式

Excel formula Excel将行复制到CSV单元格公式,excel-formula,Excel Formula,我有这样一个Excel电子表格:(参见“公式输出列E”图像的A列到D列-由于信誉点数不足,不得不删除原始的第一个图像) 并希望制作一个公式来合并它,以便当前三列重复时,最后一列合并到一个CSV单元格中,如下所示: 我认为它可以通过索引和匹配函数的正确组合实现,但我还没有让它工作。。。。任何帮助都将不胜感激!谢谢 我目前有以下公式: =IF(AND(A2=A1,C2=C1),"",D2&", "&INDEX(A2:D17,MATCH(A2,A2:A17,0)+1,4)&"

我有这样一个Excel电子表格:(参见“公式输出列E”图像的A列到D列-由于信誉点数不足,不得不删除原始的第一个图像)

并希望制作一个公式来合并它,以便当前三列重复时,最后一列合并到一个CSV单元格中,如下所示:

我认为它可以通过索引和匹配函数的正确组合实现,但我还没有让它工作。。。。任何帮助都将不胜感激!谢谢

我目前有以下公式:

=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为单位产生输出:

如您所见,它要么包含太多的行(第2行和第6行输出),要么包含太少的行(第8行输出)。希望这对您有所帮助,谢谢。

以下是数组公式(意味着您必须同时单击Ctrl+Shift+Enter),您可以在
CSV输出列中使用:

{=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)}
以下是说明,但我还提供了一张图片供您参考:

  • 列F
    :用于查找最后匹配的行,这也是一个数组公式:

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

    计算公式时,很容易看到
    -->
    。如果需要,可以删除它们

  • G列
    :这是为了连接先前的结果:

    =IF(或(行(G1)=1,F2=0),D2,索引($G$1:G1,F2)和“,”&D2)


希望这有帮助。如果您有任何问题,请告诉我。

如果您有两个额外的栏,请键入

=IF(AND(A2=A3,C2=C3),D2&","&E3,D2)
细胞内E2和

=IF(AND(A2=A1,C2=C1),"",E2)
在单元格F2中,如以下示例所示

然后,当您将公式填充到底部时,您将获得CSV输出列的正确输出,但在F行而不是E行,如下所示


这是否只是在末尾显示所有值?或者是删除了不需要的内容?它将如图所示显示,从而将所有输出连接在一起。你需要做基督教告诉你的事。使用我的公式的好处将适用于非顺序顺序。例如,如果有人在第15行输入了907。这个公式对你仍然有效。