excel数据分析 - 8个关联匹配类函数

1. LOOKUP函数

①单条件定位查找

=lookup( 待匹配内容,  待匹配内容所在区域 , 结果范围显示区域 )  两个区域的列数需相同

e.g.  查找 “东区”对应的C1省会城市,

     = lookup (A2, A:A , C:C )= 杭州

A1B1C1
东区 浙江杭州
西区甘肃兰州

②多条件定位查找

   两个及以上的条件之间用*连接,条件用括号括起来

   = lookup( 1,0 / 

          ( ( 定位点1所在列 即条件区域 = 定位点1单元格) * ( 条件区域2 = 定位点2单元格 )*...),

           要查找的对应列 即结果区域 )

2. VLOOKUP函数

① 单条件匹配

区域匹配取值,即纵向查找-替换

=VLOOKUP(待查单元格,查找的条件区域,查找的定位列数num,模糊or精确匹配 一般填0)

② 辅助列-多条件匹配

在查找范围添加待查找条件的辅助列,用 & 连接,使两列或多列显示在同一单元格字段内,再同样用& 连接待定位的单元格。

注:用辅助列时,注意事先排序

   e.g.  =VLOOKUP(F2&G2,$A$1:$D$15,4,0)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5aW95L2zVmVuZXNzYQ==,size_17,color_FFFFFF,t_70,g_se,x_16

③ 通配符 -模糊查找


如需查找的A3单元格内容为【杭州科技】,条件区域中的对应内容为【杭州科技有限公司】

则可利用 通配符 * 结合连接符 & 进行模糊查询,添加的通配符可以在前也可以在后。
  e.g.待定位单元格:A3 & "*"     通配符*需要用英文的双引号,使用&进行连接
 

④近似匹配的适用情况


1、近似匹配找小于等于自己的最大值
2、近似匹配一般是在找数值区间的划分  比如成绩等级/提成比例/工资等级等区间

⑤数值-文本转换


如一表数据为文本型,另一表为数值型,则结果输出为 #N/A!
方法1: 右上角的小三角→将文本型转为数值型

方法2:文本型经过算数运算后,可转为数值型,在前面加2个负号即可(或其他计算后为0的表达式)

方法3: 插入一列空白列,输入 = 文本单元格*1      即可转为数字格式

3. HLOOKUP函数

相当于vlookup的兄弟,vlookup是同行不同列的查找,hlookup是同列不同行查询。

在表格or数值数组的首行,查找指定的数值,并返回表格或数组中 指定行的同列数值
 =HLOOKUP( 选中单元格, 待匹配数组区域 匹配行为首行, 匹配值的行数num, 精确or近似匹配)

e.g. 查找 B1单元格对应的销量,查找C1单元格对应的单价

  = hlookup ( B1, A:C, 2, 0)  = 1234

  = hlookup ( C1, A:C, 3, 0)  = 11.2

A1B1C1
销量1234100
单价511.2

4. INDEX函数

返回表or区域中的值,或返回值的引用,用行/列数去返回对应内容

=index(选中的索引区域,索引行数,索引列数) 以区域的左上角为起点

e.g. 返回表中的第3行、第2列的值,即 甘肃

    = index (A1:C3 , 3 ,2) = 甘肃

A1B1C1
东区 浙江杭州
西区甘肃兰州

5. MATCH函数

返回指定数值在指定数组区域中的位置

① 找到单元格 所在行/列数

  =match (待查找内容单元值,待查找范围区域,查找方式)

查找方式: 1 -   小于or等于   待查找内容单元值   的最大值

                   0 -   等于             待查找内容单元值   的第一个值

                  -1 -   大于or等于   待查找内容单元值   的最小值

   e.g. =match ( C5,A5:D6,0)  

② match + vlookup组合

   实现 快速返回多列结果:将match嵌在vlookup里,使其成为第三参数     

   e.g.  = vlookup ( A15,  A1:A29,   match ( B12,A:G,0), 0 )

   用match函数,替换VLOOKUP函数中的第三个参数,即实现返回的内容所在列数的变化,而不是用固定的数字,具体步骤如下:

step1.  用MATCH函数,查找待定位单元格所在的列数
            = MATCH (A5, 数据源!$A$5 : $K$5, 0)

step2.  结合VLOOKUP
           = VLOOKUP (A5, 数据源! $ A: $ K, MATCH (A5, 数据源!$A$5 : $K$5, 0), 0 )

step3. 下拉填充时,需查找列数不变,行数变化 → 锁定列数(F4)
          = VLOOKUP ($ A5, 数据源! $A : $K, MATCH (A5, 数据源!$A$5 : $K$5, 0), 0)

step4. 右拉时,需表头位置不变固定在第2行 → 锁定行数
          = VLOOKUP($ A5, 数据源! $ A: $ K, MATCH (A$5, 数据源!$A$5 : $K$5, 0),,0)

③ match+index组合

当 匹配条件列 在结果输出列的右边时,即不能使 查找值的所在列 在 选中区域的首列,此时不能用VLOOKUP函数,可以用match+index来匹配查找:
  step1. 用 match 找出 待查找单元格 所在行数
      = MATCH (选中待查找单元格,  条件区域  包含待查找单元格,  0 精确匹配)

  step2. 根据所处行数的位置,查找出返回内容
      = INDEX (选中待查找单元格的所在列, 行数)

      =  INDEX (选中待查找单元格的所在列, (MATCH (单元格,  条件区域 ,  0))

6. ROW函数

返回单元格所在行数 (可用于排序or随机抽样),参照范围为全表

=row(单元格)

e.g1.  查看A1单元格所在的行数  = row(A1)

e.g2. 查看本单元格所在的行数  = row()

7. COLUMN函数

返回单元格所在列数

= COLUMN(单元格)

e.g1.  查看A1单元格所在的列数  = COLUMN(A1)

e.g2. 查看本单元格所在的列数  = COLUMN()

8. OFFSET函数

单元格or区域位移。即以指定的(单元格or区域)为参照系,通过给定偏移量得到新的引用

=OFFSET(选中起点单元格, 向下移动行数  向上为负,  向右移动列数 向左为负,  引用区域行数 选填,  引用区域列数 选填)

e.g. 选中A2单元格“东区”为起点,向下移动1行,向右移动2列

     =OFFSET(A2,1,2)= 兰州

A1B1C1
东区 浙江杭州
西区甘肃兰州
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值