多列vlookup函数的使用方法Excel的查和引⽤函数:VLOOKUP、OFFSET、MATCH、INDEX、
INDIRECT
⽂章⽬录
⼀.函数清单
函数介绍
VLOOKUP()垂直⽅向查
OFFSET()计算偏移量
MATCH()查位置
INDEX()查数据
ROW()引⽤⾏的数据
COLUMN()引⽤列的数据
INDIRECT()⽂本字符串指定的引⽤
HLOOKUP()⽔平⽅向查
Choose()索引值指定参数列表中的数值
Find()⼀个字符串在另⼀个字符串的起始位置
⼆.详解函数
1.VLOOKUP()
(1)语法:VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])。
VLOOKUP(查值,查范围,查列数,精确匹配或者近似匹配)
(2)参数
参数简单说明输⼊数据类型lookup_value要查的值数值,引⽤或⽂本字符串
table_array要查的区域数据表区域
col_index_num返回数据在查区域的第⼏列数正整数
range_lookup精确匹配/近似匹配FALSE(或0)/TRUE(或1或不填)
要查的区域应该始终位于所在区域的第⼀列,这样 VLOOKUP 才能正常⼯作
只⽀持正向查
(3)案例
需求1:将I列的数据库技术与编程复制到D列的数据库技术与编程
⽅法:=VLOOKUP(B2,$H$2:$I$122,2,FALSE)
操作结果:
需求2:
a.通过⾝份证号码获取省编号
⽅法:LEFT(D2,2)
操作结果:
知识点:
  LEFT 从⽂本字符串的第⼀个字符开始返回指定个数的字符。
  LEFT(text, [num_chars]):
    Text 必需。 包含要提取的字符的⽂本字符串。
    num_chars 可选。 指定要由 LEFT 提取的字符的数量。
      num_chars 必须⼤于或等于零。
      如果 num_chars ⼤于⽂本长度,则 LEFT 返回全部⽂本。
      如果省略 num_chars,则假定其值为 1。
b.通过⾝份证号码获取所属省⾃治区直辖市
⽅法:=VLOOKUP(LEFT(D2,2),全国地区表!$A$1:$B$34,2,FALSE)
操作结果:
c. 通过⾝份证号码获取出⽣⽇期
⽅法:=–TEXT(MID(D2,7,8),"####-##-##")
操作结果:
知识点:
MID 返回⽂本字符串中从指定位置开始的特定数⽬的字符,该数⽬由⽤户指定。
MID(text, start_num, num_chars):
  ⽂本 必需。 包含要提取字符的⽂本字符串。
  start_num 必需。 ⽂本中要提取的第⼀个字符的位置。 ⽂本中第⼀个字符的start_num 为 1,以此类推。
    如果 start_num ⼤于⽂本长度,则 MID/MIDB 返回 “” (空⽂本)。
    如果 start_num ⼩于⽂本的长度,但 start_num 加 num_chars 超过⽂本的长度,则MID/MIDB 返回⽂本结尾的字符。
    如果 start_num ⼩于1,MID/MIDB 将返回 #VALUE! 。
  num_chars 对 MID 是必需的。 指定希望 MID 从⽂本中返回字符的个数。
    如果 num_chars 为负值,MID 将返回 #VALUE!。
2.OFFSET()
(1)语法:OFFSET(reference, rows, cols, [height], [width])
Offset(参照单元格,⾏偏移量,列偏移量,返回⼏⾏,返回⼏列)
(2)参数:
Reference 必需。 要作为偏移基准的参照。 引⽤必须引⽤单元格或相邻单元格区域。否则, OFFSET 返回 #VALUE! 。
Rows 必需。 需要左上⾓单元格引⽤的向上或向下⾏数。 使⽤ 5 作为 rows 参数,可指定引⽤中的左上⾓单元格为引⽤下⽅的 5 ⾏。Rows 可为正数(这意味着在起始引⽤的下⽅)或负数(这意味着在起始引⽤的上⽅)。
Cols 必需。 需要结果的左上⾓单元格引⽤的从左到右的列数。 使⽤ 5 作为 cols 参数,可指定引⽤中的左上⾓单元格为引⽤右⽅的 5
列。 Cols 可为正数(这意味着在起始引⽤的右侧)或负数(这意味着在起始引⽤的左侧)。
⾼度 可选。 需要返回的引⽤的⾏⾼。 Height 必须为正数。
宽度 可选。 需要返回的引⽤的列宽。 Width 必须为正数。
(3)作⽤:提取单元格的值,或者⽬标区域的值
(4)备注:
如果 “⾏” 和 “cols 偏移” 引⽤覆盖了⼯作表的边缘, 则 offset 返回 #REF! 。
如果省略 height 或 width,则假设其⾼度或宽度与 reference 相同。
OFFSET 实际上并不移动任何单元格或更改选定区域;它只是返回⼀个引⽤。OFFSET 可以与任何期待引⽤参数的函数⼀起使⽤。 例如,公式 SUM(OFFSET(C2,1,2,3,1)) 可计算 3 ⾏ 1 列区域(即单元格 C2 下⽅的 1 ⾏和右侧的 2 列的 3 ⾏ 1 列区域)的总值。
(5)案例
需求:不规则坐标复制固定区域
⽅法:=OFFSET(A1,5,2,3,3)
操作结果:
3.MATCH()
(1)语法:MATCH(lookup_value, lookup_array, [match_type])
MATCH(查值,查区域,查⽅式)
(2)参数:
lookup_value 必需。 要在 lookup_array 中匹配的值。 例如,如果要在电话簿中查某⼈的电话号码,
则应该将姓名作为查值,但实际上需要的是电话号码。lookup_value 参数可以为值(数字、⽂本或逻辑值)或对数字、⽂本或逻辑值的单元格引⽤。
lookup_array 必需。 要搜索的单元格区域。
match_type 可选。 数字 -1、0 或 1。 match_type 参数指定 Excel 如何将lookup_value 与 lookup_array 中的值匹配。 此参数的默认值为 1。
下表介绍该函数如何根据 match_type 参数的设置查值。
  0:任何排序
  1:升序
  -1:降序
(3)案例:
需求:统计左栏和右栏匹配个数
⽅法:=COUNT(MATCH(A2:A11,B2:B11,0))
操作结果:
4.INDEX()
(1)语法:INDEX(array, row_num, [column_num])
INDEX(选择范围,⾏,列)
(2)参数:
array 必需。 单元格区域或数组常量。
如果数组只包含⼀⾏或⼀列,则相应的 row_num 或 column_num 参数是可选的。
如果数组具有多⾏和多列,并且仅使⽤ row_num 或 column_num,则 INDEX 返回数组中整个⾏或列的数组。
row_num 必需,除⾮存在 column_num。 选择数组中的某⾏,函数从该⾏返回数值。 如果省略 row_num,则需要 column_num。column_num 可选。 选择数组中的某列,函数从该列返回数值。 如果省略column_num,则需要 row_num。
(3)案例
需求:根据位置来查数据
⽅法:=INDEX(B2:H14,6,4)
操作结果:
5.INDIRECT()
(1)语法:INDIRECT(ref_text, [a1])
INDIRECT(引⽤区域,引⽤格式)
(2)参数:
Ref_text 必需。 对包含 A1 样式的引⽤、R1C1 样式的引⽤、定义为引⽤的名称或对单元格的引⽤作为⽂本字符串的单元格的引⽤。 如果 ref_text 不是有效的单元格引⽤, 则间接返回 #REF! 。
  如果 ref_text 引⽤另⼀个⼯作簿 (外部引⽤), 则必须打开另⼀个⼯作簿。 如果源⼯作簿未打开, 则间接返回 #REF! 。
  注意 Excel Web App 中不⽀持外部引⽤。
  如果 ref_text 引⽤的单元格区域超出1048576的⾏限制或列限制 16384 (XFD), 则间接返回 #REF! 错误。
  注意 此⾏为不同于早于Microsoft Office Excel 2007 的 Excel 版本, 这将忽略超过的限制并返回值。
A1 可选。 ⼀个逻辑值,⽤于指定包含在单元格 ref_text 中的引⽤的类型。
  如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引⽤。
  如果 a1 为 FALSE,则将 ref_text 解释为 R1C1 样式的引⽤
(3)案例
需求1:⼆级组合框
=INDIRECT(直接引⽤单元格地址)
=INDIRECT(A4)
操作结果:
=INDIRECT(引⽤字符串)
=INDIRECT(“A4”)
操作结果:
需求2:省直辖市⾃治区和关联市/区–下拉选框格式
⽅法:
a.公式—》名称管理器—》新建—》名称—》省直辖市⾃治区—》引⽤位置
b.公式—》选中市区数据—》根据所选内容创建—》⾸⾏
c.数据—》数据验证—》序列—》来源—》=省直辖市⾃治区
d.数据—》数据验证—》序列—》来源—》=indirect($A$3)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。