小括号里三个向量怎么算,怎么看四个向量相加

首页 > 实用技巧 > 作者:YD1662023-10-29 00:07:00

数据如下,查找李四(B11)的性别(C10),尝试用多种方法来通过姓名查找性别(当然,普通的情况是两部分放在不同的工作表中(每部分都有规模较大的数据),这里是为了方便演示。):

小括号里三个向量怎么算,怎么看四个向量相加(1)

不管使用哪种查找引用函数,由“李四”(B11)确定行,“性别”(C10)确定列。可有多种方法达到同样的目的(公式中使用不同函数或函数组合)。

1 Vlookup函数

vlookup是查找vlaue,是特指vertically lookup value,所以这里的v不是value,而是vertical,因为在Excel中,除了垂直纵向查找的vlookup,还有水平横向查找的hlookup。

看下面的语法规则,vlookup是由第三个参数确定列,去查找行,所以是纵向查找。适合于第一行是字段(变量),其它行是记录(各变量取值)的工作表。

VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])

参数

简单说明

输入数据类型

lookup_value

要查找的值

数值、引用或文本字符串

table_array

要查找的区域

数据表区域

col_index_num

返回数据在查找区域的第几列数

正整数

range_lookup

精确匹配/近似匹配

FALSE(0、空格或不填(但是要有','站位))/TRUE(1或不填(无逗号站位))

该函数由第三个参数确定目标列,由第一个参数在第二个参数中查找匹配值的首次匹配行:

=VLOOKUP(B11,$B$4:$F$7,MATCH(C10,B3:F3,0),0)

B11(李四)是查找值,$B$4:$F$7查找区域(以李四所在列开始,查找其所在行),第三参数用了Match返回列号3,李四匹配的首行是第2行。精确匹配为OFFSET(B4,2-1,3-1,1,1)的值。

2 Hlookup函数

hlookup的 h 是指horizontal,horiaontally lookup,lookup column。

看下面的语法规则,第三个参数确定了行,要去查找列。

适合于第一列是字段(变量),其它列是记录(各变量取值)的工作表。

HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)

参数

简单说明

输入数据类型

lookup_value

要查找的值

数值、引用或文本字符串

table_array

要查找的区域

数据表区域

row_index_num

返回数据在要查找的区域的第几行数

正整数

range_lookup

模糊匹配/精确匹配

TRUE /FALSE(或不填)

=HLOOKUP(C10,B3:F7,MATCH(B11,B3:B7,0),0)

“性别”(C10)是查找值,B3:F7查找区域(以性别所在行开始,查找其所在列)。

“李四”(B11)确定行,“性别”(C10)确定列。

3 Lookup函数

lookup函数有数组和向量两种形式:

LOOKUP(lookup_value,array)

以上是数组形式,查找值和要找的结果分别位于查找区域array的首列和末列。

LOOKUP(lookup_value,lookup_vector,result_vector)

式中 lookup_value:函数LOOKUP在第一个向量中所要查找的数值,它可以为数字、文本、逻辑值或包含数值的名称或引用;

lookup_vector:确定查找区域,只包含一行或一列的区域,其可以是文本、数字或逻辑值,必须按升序排列(因为LOOKUP函数使用的是二分法查找,也就是模糊匹配);

result_vector:由查找区域匹配结果所在区域,只包含一行或一列的区域,其大小必须与 lookup_vector 相同。

对于未排序的数据,需要使用一个小技巧,通过构造和查找逻辑值来实现:

=LOOKUP(0,0/(查找范围=查找值),结果范围)

0/(查找范围=查找值)可以构造一组逻辑值。在这组值内去查找0。

=LOOKUP(0,0/(B4:B7=B11),INDEX(C4:F7,,MATCH(C10,C3:F3,0)))

Lookup的第一个参数是查找值,第二参数可以一个数组,B4:B7=B11产生一个数组{FALSE;TRUE;FALSE;FALSE},然后用0除以它,又产生一个新的数组{#DIV/0!;0;#DIV/0!;#DIV/0!},只有一个0,其它全部为错误值,这个0就是我们需要的,这样就解决了Lookup函数第二参数要按升序排序的要求了。

Lookup函数第三参也是一个数组,我们用Index函数来实现,因为Index函数如果省略第二参数,刚好是返回第三参数的列区域,而Index函数第二参数也用了Match函数来找到符合条件的列{"男";"女";"男";"女"}。

了解更多lookup函数,参考:

http://www.itblw.com/graphic/139fcf04c051737b903bf13d4fbd1e8f.html

4 Index函数

=INDEX(C4:F7,MATCH(B11,B4:B7),MATCH(C10,C3:F3,0))

直接由两个match函数确定行,列,由index函数在指定区域内返回值。

5 Offset函数

=OFFSET(B3,MATCH(B11,B4:B7,0),MATCH(C10,C3:F3,0),1,1)

Offset这个函数作用是根据某一参照单元格,经过偏移行、偏移列,然后得到新的引用区域的,这个新的引用区域如果是一个单元格的话,那就最后两个参数都是1,如果得到的这个新的引用区域是一个多行多列的区域的化,那么最后两个参数就是行高与列宽。

Offset的第一个参数是B3,参照单元格,第二参数用Match函数来返回偏移多少行,同样用Match函数来实现偏移多少列,第四参数是指新区域的行高是1,第五参数是指新区域的列宽是1,如果最后两个参数都是1,那么新区域就是一个单元格。

6 Indirect函数

=INDIRECT(LOOKUP(MATCH(C10,C3:F3,0),{1,2,3,4},{"C","D","E","F"})&MATCH(B11,B4:B7,0) 3)

Indirect这个函数的作用是根据单元格的引用(字符串)返回引用单元格的值,这个函数有二个参数,不过我们用时都是只写它的第一个参数,因为第二参数是1或者省略的话,那么第一参数用的是A1引用样式。

我们用了Lookup这个函数返回列号, 而lookup函数的第一参数用了Match函数来找列的位置,找到相应的位置之后,就会对应相应的字母CDEF,然后我们用Match函数来找行号,行号还要加上这个公式前面的行数。

7 数组函数

{ =INDEX(B3:F7,MAX(IF(B3:B7=B11,ROW(B3:B7)-2,0)),MATCH(C10,B3:F3,0)) }

Index函数的第二参数用了数组,先判断符合条件用了if函数。

IF(B3:B7=B11,ROW(B3:B7)-2,0)这个返回一组数{0;0;3;0;0},符合条件就显示纵向位置,不符合的就显示0,然后用最大值函数Max从{0;0;3;0;0}中提取这个3,这个3就是Index函数的第二参,行参数,Index第三参数用了Match实现,取得行所示的横向w位置。有了两个位置值及数据区域,由index即可返回值。

8 说在最后

以上实例用vlookup是最直观的,其它方法只是为了演示其它查找与引用的公式,只是为了说明查找与引用的实质是如何去确定行、列。vlookup当然也有缺陷,例如不能反向查找与引用,这时,其它函数就派上用场了。

对于较复杂的公式或函数,可以理解起来较复杂,有两个技巧可供分享:

8.1 打开“函数参数”对话框查看函数功能、返回、参数。

a 在单元格中输入等号函数名和左小括号,如“=if(”,点击“插入函数”图标,即可打开“函数参数”对话框。

b 选择含有公式,公式中含有函数的单元格,点击“插入函数”图标,即可打开“函数参数”对话框(对应公式中的第一个函数)。

c 如果公式有多个函数或函数有嵌套,需要查看的是除第一个函数以外的其它函数,只要单击到该函数部分,点击“插入函数”图标,即可打开该“函数参数”对话框。

8.2 利用“F9”来对公式做“局部”求值,对数组公式也是如此,特别是数组因为是一个数组,无法在一个单元格中显示结果时。

8.3 利用“公式”选项卡中的“公式求值”可以按顺序逐步计算公式的各部分。

小括号里三个向量怎么算,怎么看四个向量相加(2)

特意在百度文库中分享了出来,供分析或熟悉用。

小括号里三个向量怎么算,怎么看四个向量相加(3)

链接:https://pan.baidu.com/s/13X0uqxdLLDtIqKaLQYu1xg

提取码:wuhn

-End-

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.