目录
本文用于记录处理数据的一些经验和方法
EXCEL对两个满足两个条件的数据匹配公式
使用的函数
INDEX(array, row_num, [column_num])
- 说明:函数返回表格或区域中的值或值的引用
- 语法:INDEX(需要选取的单元格区域,希望返回的行,希望返回的列)
- 例子:INDEX(A1:O31,2,2),返回第二行第二列的值
MATCH(lookup_value, lookup_array, [match_type])
- 说明:函数在范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置
- 语法:MATCH(搜索的目标,搜索的单元格的行或列,是否精确返回、升序或降序)
- 例子:若A1:A3为{1,2,3},MATCH(2,A1:A3,0),返回2
RIGHT(text,[num_chars])
- 说明:根据所指定的字符数返回文本字符串中最后一个或多个字符
- 语法:RIGHT(指定字符,返回从右往左数的字符数)
- 例子:RIGHT(2006,4),返回2006
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
- 说明:按行查找表格或区域内容时,根据所指定字符或者值,返回对应行某一列的字符或值
- 语法:VLOOKUP(要查找的项,要查找区域,要返回字符或值的列号,返回近似匹配或精确匹配 ——1/TRUE 或 0/FALSE)
- 例子:VLOOKUP (A2,A10:C20,2,0)
实例一
要匹配北京市2007年的数据则可使用以下公式:
=INDEX($A$1:$D$4,MATCH(A7,$A$1:$A$4,0),MATCH(B7,$A$1:$D$1,0))
也可以
=INDEX($A$1:$D$4,MATCH(RIGHT(A6,2),$A$1:$A$4,0),MATCH(B6,$A$1:$D$1,0))
实例二
城市和年份以列形式保存时,可以将两列组合起来,使得每个年份和省市有唯一的标志
=A2&D2
再将C2作为要查找的项
=VLOOKUP(C5,产业结构!$C$2:$K$652,8,0)
以上代码的含义为:以C2为查找目标,在另一个表格“产业结构”中选取C2到K652的矩阵,返回该矩阵中以C2为第1列条件下,对应C2所在行第8列的值
可能存在的问题
纯数字在匹配中可能因为字符串报错,导致结果为N/A