excel合并单元格筛选问题
2014-08-04 · 知道合伙人软件行家
因为有合并单元格存在,这个问题看似简单,但真的要实现还是挺麻烦的。当然最省事的方法是用VBA,然而大多数人对VBA不太了解或了解不深。所以给你一个分步实现的办法:
选择A列或C列数据区域,格式刷,刷到D列,以保留原来的合并单元格格式。
分别选择A列和C列,按合并单元格按钮,则会把合并的单元格取消合并。
选择A列数据单元格,按Ctrl+G,调出定位对话框,定位条件:空值。确定,选择A列中数据区域内的所有空白单元格,编辑栏内输入:=A5(你的截图),下面上传的截图中则是=A2,总之就是要根据实际情况来输入,这也是没有完全按你贴图做的原因。
C2中输入公式:=IF(A2=A1,C1,IF(A2=A3,INDEX(OFFSET(B2,,,COUNTIF(A2:A$100,A2),),MATCH(MIN(CODE(OFFSET(B2,,,COUNTIF(A2:A$100,A2),))),CODE(OFFSET(B2,,,COUNTIF(A2:A$100,A2),)),0),),B2)),并按Ctrl+Shift+Enter三键结束公式输入,然后向下复制公式。效果如图1.
选择D列原保留的格式,用格式刷刷到A和C列。达到需要的目的。如图2.
本方法中合并单元格用了复制格式的方式,而不是直接合并,差别在于,前者保留所有单元格数据,后者只保留最上面单元格的数据。可以在E2中输入=C2,并向下复制公式验证,复制单元格格式的方法,E列中每个单元格会有数据。而直接合并的单元格,对应C列中合并单元格处,只第一行有数据,其余的行为0。
图1. 第行都填充数据
图2. 通过复制格式合并单元格后
我要的靠前的意思是存在ABC三者取A,存在BC取B
你把类别放在一行三个不同单元格中,例如放在D2、E2、F2,让每一行代表一个序号,在C2填入公式:=IF(OR(D2="A",E2="A",F2="A"),"A",IF(OR(D2="B",E2="B",F2="B"),"B","C"))