excel如何根据条件将不同列合并到一起?

请问如何将图示中表1批量转化为表2格式?要求:把序号相同的行内容合并到一起,但要求一行最多只能有4条内容,第5条内容需要放到下一行,同时以相同序号的数据1作为第一个数据。万分感谢Thanks♪(・ω・)ノ

使用公式有一定的条件,

(1)序号是间隔是1的、连续的、数值(能够+1进行运算、递增)

(2)序号递增排序

序号列:第一个单元格输入第一个序号,下一行公式:

=IF((COUNTIF($A$3:$A$20,D3)-COUNTIF(D$3:D3,D3)*3-1)>0,D3,D3+1)

下拉

E列全部是该序号的第一个数据,使用Vlookup获取

=VLOOKUP(D3,$A$3:$B$20,2,0)

F:H列需要数组公式

F:

=IFERROR(INDEX(INDIRECT("B" & MIN(IF($A$1:$A$20=$D3,ROW($A$1:$A$20),9999)) & ":B" & MAX(IF($A$1:$A$20=$D3,ROW($A$1:$A$20),0))),COLUMN()-4+COUNTIF($D$2:$D2,$D3)*3),"")

同时按Ctrl+Shift+Enter

向右拖拽、向下拖拽

示例:


建议使用VBA更简洁、方便。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-21

=IFERROR(IF(AND($F3=$F2,COUNTIF($B$3:$B$10,$G$2)>=5),IF(G$2=1,VLOOKUP($F3&G$2,$A$3:$C$10,3,0),INDEX($C$3:$C$10,MATCH($F3&G$2+3,$A$3:$A$10,0))),INDEX($C$3:$C$10,MATCH($F3&G$2,$A$3:$A$10,0))),"")

公式拿去试一下

序号因为没有关键字 需要手动输入  上面的内容1,2,3,4要改一下

=B3&COUNTIF($B$3:B3,B3)

这里要加一个辅助列

相似回答