excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel如何竖表改横表?多行合并为一行?只需三步教你搞定

本文将用到: OR(条件1,条件2,……) 结果为TRUE/FALSEFIND/SEARCH(查询值,文本/数据) 结果为数值/报错ISERROR(报错判断) 结果报错TRUE,正确FALSE多条件VLOOKUP(关键字,多列区域,位置,False)昨天看到求教将竖表改为横表的问题,仔细观察横表或竖表,前两列结构完全一致,并不存在横表竖表的结构差异。而处理方法实际上是表2将表1前两列去重后,再将第三列汇总而成。 前两列去重并不难,只需使用到菜单栏"数据"中的"删除重复值"功能即可实现。 关键在于将第三列多行数据汇总。如何将多行数据汇总到一行,并且用符号间隔呢? 我们用一个实际案例来说明。思路:做两列辅助列,在第一个辅助列中,将列表按照同一比赛、同一班级进行累计汇总;在第二个辅助列进行取数标记;使用查询函数将结果自动链接到汇总表。 第一步:在第一个辅助列(绿色列E列)进行分类累计汇总首先,先将数据进行排序,按照比赛项目、班级升序排序; 接着,以第3行为例,判断是否与第2行比赛项目、班级有不同: 若与比赛项目、班级任一不同,则不汇总,但要取此行D列数据;若两者均相同,则参与汇总,将上行汇总与此行数据用符号"&"及间隔逗号连接起来。 以单元格E3为例,公式为: IF(OR(B3<>B2,C3<>C2),D3,E2&","&D3) 绿色E列其他单元格,下拉填充即可。 第二步:在F列(橙色列)进行判断,是否此行为最终汇总行多行合并为一行的第2步根据第一步的累计列表的原理可知,除非当前行与上一行的的比赛项目或班级两者有任一不同,E列停止累计汇总。并且下一行作为重新累计汇总的起始点,是没有间隔符号逗号的。 因此,只要能够判断当前行是否停止累计,或下一行重新累计,就可以判断是否为同一产品和销售渠道的最终汇总行。而判断标志为是否包含逗号。 以单元格F3为例,公式为: IF(ISERROR(FIND(",",E4))=TRUE,"Y","")公式为函数组合,FIND是查询函数,用来查询下一行是否包含逗号,如果有逗号会返回一个数值,说明当前行是不是最终汇总行,不取数行,不做标;如果没有查询到逗号则会报错,则说明当前行是最终汇总行,是取数行,做标记"Y"。 表哥Tips:函数FIND(),在当前案例中也可以替换为SEARCH(),用法一致。但如果列表内容是英文,如果对大小写的匹配要求非常严格,此时就要注意使用FIND()。 第三步:将做标记的数据表,通过查询函数VLOOKUP链接到最终汇总表函数Vlookup常规用法的关键字仅为一列,而案例中,需要满足三个条件,因此将多列组成集合,进行多条件匹配查询。 关键列三个条件是: 1. 比赛项目相同 2. 班级相同 3. 辅助2标记为"Y" 则以汇总表J3为例,公式为: VLOOKUP(H3&I3&"Y",IF({1,0},B:B&C:C&F:F,E:E),2,FALSE) 表哥Tips:上述公式由于使用数组计算,因此在进行计算时,要同时按下键盘三件组键Shift+Ctrl+Enter,按下之后公式最外层会出现花括号"{}",表示进行操作成功。 以上就是将多行明细表汇总为一行的详细步骤。 你学会了吗? 感谢你关注表哥, 并欢迎留言分享你的大法或者烦恼 也许下一个专题就是为你定制哦 撒花↖(^ω^)↗

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接