合并具有相同条件的单元格数据
作者所在单位今年实施了全国计算机应用水平考试,考生可以根据不同的晋升级别选择2-4个模块参加考试。每个考生都有一个唯一的档案号,在同一次考试中通过一个或多个模块的考生将获得资格证书,该证书表明该考生通过的模块。
如果候选人刘XX一科合格,有一科合格证书,候选人王XX三科合格,也获得了一个合格证书,显示了三个模块的资格(图1)。为了方便查询和考生签名,需要将图1中档案号相同的考生的合格模块合并,用“/”分开模块(图2),那么如何达到上述效果呢?因为同一个文件号有二、三、四种情况,需要合并的模块数量不固定,需要数组公式来解决这类问题。
图1 Excel表格中文件号相同的三个模块
图2合并具有相同排除的文件
具体方法如下:
一、定义名称
为了简化公式,需要为引用单元格区域设置一个名称。
执行“插入名称定义”命令,打开“定义名称”对话框,将名称定义为“日期”,在“引用位置”文本框中输入公式:=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单元格的内容存在于“代码”区域,则返回该单元格的行号。如果有重复,则取最小的行号。然后使用函数INDEX()选择该行对应的数据区的单元格内容,并用“/”分隔。为了避免错误值,这里还使用了信息函数ISERR()。如果有错误值,则为空;否则,它将是公式显示的内容。输入公式后,按Ctrl+Shift+Enter。因为相同文件编号的最大数量是4,所以需要第二、第三和第四个最小行号。因此,您需要依次在单元格F2、G2和H2中输入数组公式:
F2单元格:=if (iserr (index ($ c: $ c,small)(if($ a 2: $ a $ 21=$ a2,row($ a 23360 $ a $ 21),2)),'',index($ Row($ a 2: $ a $ 21,2)'/') G2单元格:=if (iserr (index ($ c: $ c,small(if($ a 2: $ a $ 21=$ a2,Row ()
H2:=if (iserr (index ($ c: $ c),small(if($ a 2: $ a $ 21=$ a2,row($ a 2: $ a $ 21),4))),'',index ($
上述公式输入完成后,按Ctrl+Shift+Enter结束公式输入。然后在D2单元格中输入公式:“=E2F2G2H2”。连接单元格E2、F2、G2和H2的内容。这时可以看到通过1-3个模块的考生。单元格内容合并后,末尾有一个多余的符号“/”,这个多余的符号必须删除。因此,在I2单元格中输入公式:=if(右(D2,1)=/',mid (D2,1,len (D2)-1),D2)。
输入所有公式后,选择D2:I2的单元格区域,通过拖拽复制的方式将公式复制到相应区域。这就完成了相应数据的合并。最后,您需要删除公式。具体方法是:复制所有包含公式的区域,执行编辑特殊粘贴命令,在特殊粘贴对话框中选择值选项。
完成上述操作后,还没有达到图2的效果,需要使用公式删除重复的数据行。因此,在单元格J2中输入公式:=IF(A2A3,A2 ' ')。并复制到对应的数据区,然后通过排序或过滤的方式删除J列的空白区域,并对数据区进行适当的处理,完成图2所示的效果。
版权声明:合并具有相同条件的单元格数据是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。