正在阅读:相同条件单元格数据的合并相同条件单元格数据的合并

2007-01-25 10:18 出处: 作者:向德海 责任编辑:xieyongkang

具体方法如下:

一、定义名称

  为简化公式,需要对引用单元格区域设置名称。

  执行“插入→名称→定义”命令,打开“定义名称”对话框,将名称定义为“Date”, 在“引用位置”文本框中输入公式:= Sheet1!$C:$C,按下“确定”按钮返回。接着用同样方法,再定义另一个名叫“Code”的名称,里面包括公式:= Sheet1!$A$2: $A$1200,即A列所在的数据区域。

二、输入公式

首先在E2单元各种输入公式:

  “=IF(ISERR(INDEX(Data,SMALL(IF(Code=$A2,ROW(code)),1))),"",INDEX($C:$C,SMALL(IF(code=$A2,ROW(code)),1))&"/") ”。该公式首先对A列进行判断,如果A2单元格内容存在于Code区域,则返回该单元格行号,如果存在重复,则取最小的行号。再用函数INDEX()选取该行对应的Data区域单元格内容,并用"/"分隔。为避免出现错误值,这里还使用了信息函数ISERR(),如果出现错误值,则为空白,否则为公式显示的内容。公式输入完成后,按“Ctrl+Shift+Enter”组合键即可。因为相同档案号最多为4个,因此,还需取第2、第3、第4小的行号。所以还需在F2、G2、H2单元格中依次输入数组公式:

  F2单元格:=IF(ISERR(INDEX($C:$C,SMALL(IF($A$2:$A$21=$A2,ROW($A$2:$A$21)),2))),"",INDEX($C:$C,SMALL(IF($A$2:$A$21=$A2,ROW($A$2:$A$21)),2))&"/") G2单元格: =IF(ISERR(INDEX($C:$C,SMALL(IF($A$2:$A$21=$A2,ROW($A$2:$A$21)),3))),"",INDEX($C:$C,SMALL(IF($A$2:$A$21=$A2,ROW($A$2:$A$21)),3))&"/")

  H2单元格: =IF(ISERR(INDEX($C:$C,SMALL(IF($A$2:$A$21=$A2,ROW($A$2:$A$21)),4))),"",INDEX($C:$C,SMALL(IF($A$2:$A$21=$A2,ROW($A$2:$A$21)),4)))

  以上公式输入完成后都要按“Ctrl+Shift+Enter”组合键结束公式输入。然后在D2单元格输入公式:“=E2&F2&G2&H2”。将E2、F2、G2、H2单元格内容连接起来。此时可以看到合格1至3个模块的考生,单元格内容合并后,结尾多了符号“/”,还须将此多余的符号删除。据此,在I2单元格输入公式:=IF(RIGHT(D2,1)="/",MID(D2,1,LEN(D2)-1),D2) 。

  所有公式输入完成后,选择D2:I2单元格区域采用拖动复制的办法,将公式复制到相应区域。这样就完成了相应数据的合并。最后还需要删除公式,具体方法是:复制所有含公式的区域,执行“编辑→选择性粘贴”命令,在“选择性粘贴”对话框中,选择“数值”选项即可。

  完成上述操作后还没达到图2的效果,还需使用公式将重复的数据行删除。因此,在J2单元格输入公式:=IF(A2<>A3,A2,"") 。并复制到相应数据区域,再使用排序或筛选的办法将J列空白区域删除,对数据区域作适当处理就完成了图2所示的效果。

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品