100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Excel的查找和引用函数:VLOOKUP OFFSET MATCH INDEX INDIRECT

Excel的查找和引用函数:VLOOKUP OFFSET MATCH INDEX INDIRECT

时间:2024-05-30 02:31:24

相关推荐

Excel的查找和引用函数:VLOOKUP OFFSET MATCH INDEX INDIRECT

文章目录

一.函数清单二.详解函数1.VLOOKUP()2.OFFSET()3.MATCH()4.INDEX()5.INDIRECT()6.综合练习

一.函数清单

二.详解函数

1.VLOOKUP()

(1)语法:VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])。

​ VLOOKUP(查找值,查找范围,查找列数,精确匹配或者近似匹配)

(2)参数

要查找的区域应该始终位于所在区域的第一列,这样 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 的 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)

操作结果:

6.综合练习

需求1:累积数据,计算累加和

方法1:=SUM($B$2:B2)

方法2:=SUM(OFFSET($B$1,1,0,DAY(A2),1))

方法3:=SUM(OFFSET($B$1,1,0,ROW(A1),1))

方法4:=SUM(OFFSET($B$1,1,0,COUNT($B$2:B2),1))

操作结果:

需求2:提取姓名

方法1:=OFFSET($B$1,ROW()*2-3,0)

方法2:=INDEX($B$1:$B$12,ROW()*2-2)

方法3:=INDEX($B$2:$B$12,ROW()*2-3)

操作结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。