中企动力 > 商学院 > excel匹配多列数据
  • ?

    Excel多列内容首尾相连合并为一列,学会了绝对涨姿势

    昔梦

    展开

    我们在平时处理数据的过程中,经常会遇到如下图1的数据形式,类似的数据格式在下一步的各种数据分析过程中是很不方便的,为此我们常常需要将数据转换为图2的形式。

    图1

    图2

    那么,我们如何能够快速的将数据转换为图2要求的格式呢?下面介绍两种方法。

    一、公式法

    使用IF、SMALL、RIGHT、TEXT、ROW、COLUMN、INDIRECT函数的配合,可以实现本功能。公式如下:

    部门:=INDIRECT(TEXT(RIGHT(SMALL(IF($A$2:$E$16<>"",ROW($2:$16)*10+COLUMN($A:$E)*10001,99999),ROW(A1)),1),"r1c0"),)&""

    姓名:=INDIRECT(TEXT(RIGHT(SMALL(IF($A$2:$E$16<>"",ROW($2:$16)*10+COLUMN($A:$E)*10001,99999),ROW(A1)),3),"r0c0"),)&""

    结果为:

    该公式看起来非常复杂,下面以姓名为例对该公式做一下解释:

    $A$2:$E$16<>"":根据A2:E16是否为空,生成一个逻辑数组,该数组为15行5列。{TRUE,TRUE,TRUE,TRUE,TRUE; TRUE,TRUE,TRUE,TRUE,TRUE;……},表格示意如下:

    ROW($2:$16)*10:行数组成的数组,该数组为15行1列。{20;30;40……160};

    COLUMN($A:$E)*10001:列数组成的数组,该数组为1行5列。{10001,20002,3003,40004,50005};

    ROW($2:$16)*10+COLUMN($A:$E)*10001:以上两个数组相加,根据数组运算法则,生成15行5列的数组。{10021,20022,30023,40024,50025;10031……}。表格示意如下:

    IF():根据前面的逻辑数组,如果为空的全部填充为99999。{10021,20022,30023,40024,50025;10031……},表格示意如下:

    SMALL(……,ROW(A1)):依次从小到大取出上述数组中的数据。

    RIGHT(……,3):取出上述数据的后3位,上述的数据中最后一位表示单元格的列号,倒数第二位表示行号。

    TEXT(……,"r0c0"):将上一步取出来的数字格式化为RC格式的单元格引用。

    INDIRECT(……,):将文本变为单元格的引用,第二个参数省略代表引用为RC模式。

    二、POWER QUERY工具

    Excel官方发布了POWER QUERY工具,可以更加方便的对数据进行处理,在Excel 2016中已经自带了本工具,其他版本的Excel可以在微软官方网站下载安装包。

    下面就演示使用该工具实现上述的功能,在工具面板中选择"从表/范围",弹出编辑PQ的编辑界面。

    在【转换】选项卡下选择【逆透视列】,就可以得到需要的结果啦,然后将结果上载回工作表。

    怎么样,PQ工具的实现是不是很简单呢?同时,该工具还提供了其他非常多的使用功能呢,大家可以多了解一下,同时再后期我也会持续给大家分享相关功能,希望大家一如既往的关注哟。

  • ?

    怎样用Word将Excel多列数据变成一列数据

    雷之桃

    展开

    施老师:

    有时我们在工作生活中会碰到需要将表格中的多列多行数据变成一列,那用笨的办法是可以一个一个去复制粘贴,可是很麻烦,今天宁双学好网施老师就教大家用WORD把EXCEL多列数据变成一列数据。

    一、首先,选中需要将多列转成一列所有数据,使用快捷键《Ctrl + C》将其复制。

    二、然后,打开Word文档,将刚刚复制的数据全部粘贴过来。

    三、点击左上角的十字箭头,可以将整个表格选中。

    四、进入《布局》选项卡,在《数据》选项组中选择《转换为文本》,在弹出的《表格转换成文本》对话框中我们选中《段落标记》确定既可。

    五、此时,我们可以看到多列数据就变成了一列了。

    六、直接,将数据复制粘贴到Excel中即可完成。

  • ?

    比较两列数据,用match函数很方便哦

    双截棍

    展开

    比较两列数据是否有重复,有很多的方法,这一篇介绍match函数法。

    优点

    两列数据的顺序不一致,也可以对比出异同点。

    Match函数

    公式:=MATCH(查找值,查找区域,[匹配类型])

    翻译:=MATCH(找谁,去哪里找,[精确查找或找个接近的])

    结果:获得匹配值的位置。Match函数就好像给你一堆姓名,让你从中找到某个人的家庭地址。

    如上图所示,匹配类型有0、1、-1三个值。0表示精确匹配,也就是要找个一模一样的,所以查找数字“2.5”时,得到结果是“2”,也就是说“2.5”在“$B$5:$B$13”中的第2个位置,而其他几个数字在区域中都找不到,所以得到结果“#N/A”。

    匹配类型为1时,要求先给原始数据按照升序排列,表示从这些数据中找个小于或等于目标值的数据的位置,所以查找“3.7”时,查找到“3.5”在第3个位置,所以函数返回结果“3”。

    匹配类型为-1时,要求先给原始数据按照降序排列,表示从中找出一个大于或等于目标值的数据的位置,所以查找“3.7”时,查找到“4”在第6个位置,所以函数返回结果“6”。

    比较两列数据

    输入公式“=MATCH(A2,C:C,0)”,表示从C列中精确查找A2单元格的值,结果得到12,也就是说C12单元格的值和A2是相同的。如果在C列中能找到和A列姓名相同的名字,则E列中得到C列名字的位置,找不到时,得到“#N/A”。

    两列数据可以在同一张工作表上,也可以在不同的工作簿上。

    谢谢阅读,每天学一点,省下时间充实自己。欢迎点赞、评论、关注和点击头像。

  • ?

    Excel函数公式:VLOOKUP+MATCH实现多列灵活动态查询,高零度显示

    祖千青

    展开

    关于用VLOOKUP+MATCH实现数据的灵活多列动态查询的示例,我们在以前的文章中已经有所介绍,今天我们要学习和掌握的不仅是数据的动态查询,而且让查询结果高亮度显示。

    一、函数功能分析。

    1、Vlookup函数:

    语法结构:

    =VLOOKUP(查找值,查找范围,返回相对的第X列的值,匹配模式)。

    主要功能:返回【查找值】在【查找范围】中的第X列对应的值。

    示例:

    目的:返回“王东”的“语文”成绩。

    方法:

    在目标单元格中输入公式:=VLOOKUP(H3,B3:C9,2,0)。

    2、MATCH函数:

    语法结构:=MATCH(定位置,定位范围,匹配模式)。

    主要功能:返回【定位置】在【定位范围】中的相对位置。

    示例:

    目的:返回“王东”在对应列的相对位置。

    方法:

    在目标单元格中输入公式:=MATCH(H3,B3:B9,0)。

    二、VLOOKUP+MATCH:灵活多列查询。

    目的:根据“姓名”查询所有学科的成绩。

    方法:

    在目标单元格中输入公式:=VLOOKUP($H$3,$B$3:$F$9,MATCH(I$2,$B$2:$F$2,0),0)。

    解读:

    用公式=MATCH(I$2,$B$2:$F$2,0)获取对应科目在$B$3:$F$9中的相对列数,然后用VLOOKUP函数来实现查询。由于具有多个科目。所以公式=MATCH(I$2,$B$2:$F$2,0)中的第一个参数(I$2)采用的事相对和绝对相结合的引用方式。

    三、高零度显示数据。

    目的:将查询到的数据在数据源中进行高亮度的显示。

    方法:

    1、选定数据源。

    2、【开始】-【条件格式】-【新建规则】-【使用公式确定要设置单元格的格式】。

    3、输入公式:=($h$3=$b3)。

    4、单击【格式】-【填充】-选取填充色(例如蓝色)-【确定】。

    解读:

    公式=($h$3=$b3)的意思是判断H3单元的值和B列中的值是否相等,如果相等,则将背景色设置为“蓝色”。

  • ?

    Excel如何快速给多行/列填充同样的内容

    Zhan

    展开

    我们日常工作中使用Excel填写文本时,有些时候不同的单元格需要填充的内容是一样的,不怎么用Excel的同学可能真的会一个一个单元格去敲文本,还用一种同学会选择Ctrl+C和Ctrl+V来实现,今天我们分享另外两种相对更为快速的方法:

    1、下拉:将对应文本填写至一个单元格中,然后放在单元格的右下角,我们的鼠标就变成了个+号,然后点击鼠标左键下拉或者像右拖即可

    以上的方法简单,但是有个很大的弊端,就是必须是连续的,如果是非连续非规则的,则不好填写,这个时候就比较适用下述的方法了

    2、Ctrl+enter快捷键:首先我们先选中我们所要填写的文本的所在的所有单元格(如果连续直接选择即可,如果不连续则可按着Ctrl键不连续选择,当然如果连续行列比较多,我们也可以选中第一个单元格后按shift键然后点最后一个单元格),选择完毕后,我们直接写所要填写的文本后然后按下Ctrl+enter键即可,具体操作如下:

    以上两个分享虽然简单,但确实我们经常用的,欢迎大家收藏或分享给更多同道中人,谢谢。

  • ?

    excel数据处理:多列数据验证的操作技巧

    范峻

    展开

    编按:我们常用数据有效性做下拉菜单,应用数据做序列时,Excel默认只能引用一行或者一列数据。那如果你要引用三行或者三列数据,怎么办?用名称!采用名称,别说三列,就是1000列也可以!

    用数据有效性(新版本叫数据验证)制作下拉选项是大家非常喜欢的一个功能,操作方法也非常简单:

    但是最近收到网友提问,说他制作下拉选项时总是报错,不能设置有效性了。一起来看看:

    相信大家都明白了,他要制作下拉选项的数据不在一列,而是分别存放在三列中。弹出的提示很明确,数据必须是一行或者一列的引用:

    那么对于这种情况,真的就没有解决办法了吗?肯定不是,下面就告诉大家一个如何使用多列数据作为下拉选项的方法。

    这个方法只需要非常简单的三步就能完成。

    第一步,定义名称

    选择单列,在名称框里输入【姓名】两个字,然后回车完成操作。

    第二步,利用名称完成有效性设置

    单击“数据验证”按钮进行有效性设置。“来源”处不用选择区域,直接输入“=姓名”用定义的名称“姓名”作为来源。

    不过设置完成后下拉选项只有第一组的姓名,接下来就需要最后一步,修改名称里的引用区域:

    第三步,修改名称的引用区域

    这一步要用到名称管理器。通过点击“名称管理器”按钮或者直接按Ctrl + F3组合键打开名称管理器,修改引用位置,把原来的$C$2: $C$6改成$C$2: $E$6即可。

    注意:修改后记得点一下前面的,才能保证修改成功哦!

    小结:今天分享的这个小技巧操作非常简单,却解决了一个看似不可能解决的问题。通过这个例子,我们了解到使用名称框快速定义名称的方法,初次体验了名称的使用方法,只需要在“=”后面输入定义好的名称就行了;同时知道了使用名称管理器可以修改已经定义好的名称。

    名称在公式设计中也有着非常广泛的应用,希望大家能够多加练习,更上层楼。

    ****部落窝教育-excel定义名称的方法****

    原创:老菜鸟/部落窝教育(未经同意,请勿转载)

  • ?

    将EXCEL中一列数据转换成多行多列

    解白莲

    展开

    下图,是一个班级的学生姓名表,要求把A列姓名清单转换为适合打印的多行5列。

    单列转多行多列

    在C2单元格输入以下公式,复制填充至C2:G8单元格区域。

    =INDIRECT("A"&5*ROW(A1)-4+COLUMN(A1))&""

    上图中,我们要想把A列中的学生姓名,按5列呈现出来,要解决的结果就是让第一行的内容分别显示:=A2、=A3、=A4、=A5、=A6,第二行的内容分别显示:=A7、=A8、=A9、=A10、=A11,依次类推…

    如何实现这一期望的数据值呢?

    “5*ROW(A1)-4+COLUMN(A1)”部分的计算结果为2,公式向下复制时,ROW(A1)依次变为ROW(A2)、ROW(A3)…,计算结果分别为7、12、17、22、27、32,就生成了一个步长为5的自然数序列。重要的是,COLUMN(A1)、COLUMN(A2)…的值在向下复制时,不变化!

    公式向右复制时,COLUMN(A1)依次变为COLUMN(B1)、COLUMN(C1)…,计算结果分别为2、3、4、5,就生成了一个步长为1的自然数序列。而这时,ROW(A1)、ROW(B1)…的值在向右复制时,不变化!

    与字符“A”连接成一个单元格地址“An”,最后用INDIRECT函数返回相应单元格的内容。INDIRECT函数返回的引用为空单元格时,会得到无意义的0值,公式最后连接一个空文本,就使无意义的0值显示为空白。

    如需要调整转换为列数为6列,可修改公式如下:

    =INDIRECT("A"&6*ROW(A1)-5+COLUMN(A1))&""

    本文的重点:1)先设想希望得到的结果是怎样的单元格样式;2)、利用ROW、COLUMN函数生成变化的行、列号的序列;3)使用INDIRECT函数返回相应单元格的内容。

  • ?

    Excel超牛技巧:VLOOKUP数据匹配技能!

    宗雪一

    展开

    很多办公人员,特别是统计业务条线上的朋友,都对数据匹配这个事头疼不已,有什么好的方法吗?当然有,今天我们详细解答一下vlookup函数的实际应用问题:

    vlookup函数举例:如下图,已知表sheet1中的数据如下,如何在 sheet2 中进行如下引用:当A列学号随机出现的时候,如何在B列显示其对应的物理成绩?也就是要将表一的数据自动填充道表耳相应位置!

    首先我们需要详细了解我们要用到的vlookup函数:vlookup是判断引用数据的函数,它有四个参数:

    1、判断的条件

    2、跟踪数据的区域

    3、返回第几列的数据

    4、是否精确匹配

    根据上面的定义,我们就可以在sheet2表的B2单元格输入公式:

    =vlookup(a2,sheet1!$a$2:$f$100,6,true)

    四个参数详细定义:

    1、a2 是判断的条件,也就是你需要匹配的对象;

    2、sheet1!$a$2:$f$100 是需要查找的数据区域;

    3、6 这是返回什么数所在的列数,如上图的物理是第6列,所以应该是6;

    4、是否绝对引用,如果是就输入 true 如果是近似即可满足条件 那么输入false

    结果如下图:

    特别提示:如果你比较厌烦输入这些超长的函数公式,你也可以直接插入:公式,插入公式,vlookup

    不知道你是否已经会使用vlookup这个条件查找函数,如果有什么不会的可以留言哦!

  • ?

    Excel vlookup筛选两列的重复项与查找两个表格相同数据

    聂怀绿

    展开

    Vlookup函数可用于多种情况查找,筛选重复数据就是其中之一,它既可筛选两列重复的数据又可查找两个表格相同的数据。筛选两列重复数据时,不仅仅是返回一项重复数据,是把所有重复的都标示出来;查找两表格相同数据时,两个表格既可以位于同一Excel文档,又可分别位于两个Excel文档,并且也可以标示出所有重复的数据;当查找两个位于不同Excel文档中的表格相同数据时,查找范围需要写文档名称和工作簿名称,这样Excel才能找到查找区域。以下是vlookup筛选两列的重复项与查找两个表格相同数据的具体操作方法,实例中操作所用版本均为 Excel 2016。

    一、Excel vlookup筛选两列的重复项

    1、假如要筛选出一个表格中两列相同的数据。选中 D1 单元格,把公式 IFERROR(VLOOKUP(B1,A:A,1,0),"") 复制到 D1,按回车,则返回重复数据 6;把鼠标移到 D1 右下角的单元格填充柄上,按住左键并往下拖,在经过的行中,AB两列有重复数据的都返回重复数据,没有的返回空白;操作过程步骤,如图1所示:

    图1

    2、公式说明

    公式 =IFERROR(VLOOKUP(B1,A:A,1,0),"") 由 IFERROR 和 VLOOKUP 两个函数组成。IFERROR 是错误判断函数,用它来判断 VLOOKUP 执行后,如果返回错误,则显示空(即公式中的 "");如果返回正常值,则什么也不返回,直接显示 VLOOKUP 的返回结果。B1 是 VLOOOKUP 的查找值,A:A 是查找区域,1 是返回第一列的值(即 A 列),0 是精确匹配。

    二、Excel vlookup查找两个表格相同数据

    有两张有重复数据的服装销量表(一张在“excel教程.xlsx”中,另一张在“clothingSales.xlsx”中)(见图2),需要把重复记录找出来,这可以用vlookup函数实现,方法如下:

    图2

    1、在两张表后都添加“辅助”列,用于标示有重复记录的行。把“excel教程”中的“辅助”列用自动填充的方法全部填上 1,操作过程步骤,如图3所示:

    2、切换到 clothingSale.xlsx,在 G2 单元格输入 =IFERROR(VLOOKUP(A2,;选择“视图”选项卡,单击“切换窗口”,选择“excel教程”,则切换到“excel教程”窗口,单击左下角 Sheet6,选择“视图”选项卡,单击“切换窗口”,选择 clothingSales.xlsx,切换回“excel教程”窗口,[excel教程.xlsx]Sheet6! 自动填充到了 A2 的后面,公式已经变为 =IFERROR(VLOOKUP(A2,[excel教程.xlsx]Sheet6!,继续输入 $A2:$G10,7,0),""),则完整公式为 =IFERROR(VLOOKUP(A2,[excel教程.xlsx]Sheet6!$A2:$G10,7,0),""),按回车,则返回 1;把鼠标移到单元格填充柄上,往下拖,则查找出所有重复的记录(有 1 的为重复记录),操作过程步骤,如图4所示:

    3、公式说明

    公式 =IFERROR(VLOOKUP(A2,[excel教程.xlsx]Sheet6!$A2:$G10,7,0),"") 也由 IFERROR 和 VLOOKUP 两个函数组成,IFERROR函数的作用跟上文的“vlookup筛选两列的重复项”一样。VLOOKUP函数的查找值是 A2;查找区域是另一个文档(即[excel教程.xlsx]文档的 Sheet6 工作簿)的 $A2:$G10(即查找表格的每一列每一行),$A2 表示绝对引用 A 列,相对引用“行”,即执行公式时,列不变行变,$G10 与 $A2 是一个意思;返回列号为 7;0 表示精确匹配。

    4、注意

    1、当 clothingSales 文档中的第2行与“excle教程”文档中第9行的“编号”相同时,如图5所示:

    图5

    2、尽管两张表格中的第二行不同,则会返回错误的结果(即返回 1),如图6所示:

    图6

    3、这种情况发生在要查找值(即 A2)所在的列(即 A 列)。由此可知,这种方法只适合查找两个表格对应行相同数据。

  • ?

    Excel小思维:多条件匹配数据,你会吗?

    碧空

    展开

    Hi,我是秋小叶~

    做 Excel 表格,一提到函数公式,很多人就头皮发麻。

    为什么?其一,因为表格需求千变万化,数据结构千差万别,一点点细微的差别,用法可能就大相径庭;其二,每个函数都有自己的语法规则,必须一五一十严格遵照它的要求,它才会乖乖听话。

    那有什么方法,可以在短时间内,快速提升函数公式的应用能力?答案只有一个——用!

    怎么用呢?

    在工作中以问题和需求为出发点,去找合适的方法。而要想成为个中高手,还有 2 种方式,系列化延伸和一题多解!通过对比不同的思路和方法,能对 Excel 基本技能有更加深入的认知。真到要用的那一刻,就能信手拈来。

    拿工作中最常用到的查找匹配为例,要在左边数据区域中查找出小王的销量数据 11,填写进 F2 单元格,怎么做?

    有一点 Excel 基础的人都知道,用一个 VLOOKUP 函数就够了:

    =VLOOKUP(E2,A:C,3,0)

    (拿着 E2 中的「小王」去匹配区域 (A:C) 的第一列,也就是员工一列中查找,找到以后返回匹配区域中同一行第 3 列的数据,也就是 11,其中最后一个参数 0 表示精确匹配,必须找一模一样的「小王」)

    这就是单条件的查找匹配。那……假如工作中需要按多个条件查找匹配呢?还能用 VLOOKUP 实现吗?

    举个例子,查找匹配出员工、医院、产品同时满足条件的销量数据,又该怎么做?

    直接查找匹配不行,我们可以明修栈道,暗度陈仓。既然多条件复杂,我们可以将多个条件合并成一个条件。

    首先插入一个空列,设为合并列。在 D2 单元格输入如下公式,将左边的三列合而为一:

    =A2&B2&C2

    ( & 是连接运算符,可以将单元格、数据拼接成新的文本)

    有了这个辅助列,作为查找匹配的索引,我们用 VLOOKUP 也能轻而易举的实现多条件查找匹配,只要在 J2 单元格输入如下公式即可:

    =VLOOKUP(G2&H2&I2,D:E,2,0)

    (和前面的公式不同点在于,查找对象换成了 G2、H2、I2 三个单元格合并以后的文本,匹配区域从 D 列开始到 E 列,这是因为VLOOKUP有一个前提条件:只在匹配区域的第一列中查找索引对象。)

    通过上述系列化延伸,你就能进一步了解更多知识点:

    VLOOKUP 的基本用法:只要在两张表中存在可以索引的数据,就可以查找到同一行中的其他数据

    用连接符 & 可以将多列数据合并为一列

    VLOOKUP 公式中可以嵌套使用其他公式,比如 G2&H2&I2 的计算结果作为查找对象

    VLOOKUP 公式只在匹配范围的第一列里查找匹配,按指定的列序返回结果

    到这里,问题已经解决。

    但是,学习高手可能会继续纵向深挖:

    如果用于索引的查找匹配列不在第一列时,例如合并列在销量列后头时,又该怎么做?

    或者横向扩展:

    多条件查找匹配,除了用 VLOOKUP+ 辅助列的方法,还有哪些方法?哪一种方法会更简单高效?

    要解决这个问题,其实我们就是追求 一题多解。预知详情,我们下期再聊。你也可以在评论区留下思路,交流碰撞说不定会激发出新的灵感。

excel匹配多列数据

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP