excel常用函数:有趣的函数
excel常用函数:有趣的函数
函数是公式的“细胞”,构造强大而优雅的公式少不了函数的配合。
Excel提供了300多个内置函数,有些函数很活跃,他们看似平常,但在公式中能够经常看到他们的“身影”。正是这些函数,在公式中组合后却能发挥出巨大的威力。
下面主要介绍一些在公式中经常会用到的函数,探讨一些细节和技巧。在后面的系列文章中,我会对很多有特点的函数进行专门的详解。
区分大小写的函数
下表列出了区分大小写的Excel函数或运算的对比:
" 获取数据位置或者个数值的函数下表列出了一些能够获取数据位置或者个数值的Excel函数及相关说明:
" 上表中,ROW函数返回单元格所在行的行号,如果参数为单元格区域,则返回左上角单元格所在行的行号。COLUMN函数返回单元格所在列的列号,如果参数为单元格区域,则返回左上角单元格所在列的列号。例如:=ROW()
返回当前单元格所在行的行号。
=ROW(B5)
返回数值5,表示第5行。
=ROW(E9:H18)
返回数值9,即单元格区域E9:H18左上角单元格E9所在行的行号。
COLUMN函数类似。当传递单元格区域作为ROW函数和COLUMN函数的参数时,可以返回数组值。在后面我们会看到,利用这个特点,可以编写出灵活强大的公式。
要想知道一个区域有多少行多少列,则应使用ROWS函数和COLUMNS函数。例如:
=ROWS(C3:E6)
返回数值4,表示单元格区域C3:E6有4行。
=COLUMNS(C3:E6)
返回数值3,表示单元格区域C3:E6有3列。
MATCH函数的语法为:
MATCH(要查找的值,查找区域或数组[,匹配类型])
其中,匹配类型为可选参数,如果指定其值为0,那么MATCH函数将在查找区域或数组中查找和要查找的值完全相等的第一个值。如果没有指定该参数值,或者指定其值为1,那么MATCH函数将在查找区域或数组中查找小于或等于要查找的值的最大值,但是查找区域或数组需要按升序排列。如果指定其值为-1,那么MATCH函数将在查找区域或数组中查找大于或等于要查找的值的最小值,但是查找区域或数组需要按降序排列。
如果查找区域或数组需要按升序排列,那么各类数据的排列顺序是:数字、文本字符、FALSE或TRUE,例如5,”excelperfect”,TRUE。降序排列与之相反。
如果指定匹配类型的值为0,并且要查找的值是文本,那么可以在要查找的值中使用通配符。问号(?)可以匹配任何一个字符,星号(*)可以匹配任意多个字符。
获取数据值的函数
下表列出了一些可以获取数据值的Excel函数及相关的说明:
" 上表中,VLOOKUP函数按照最后一个参数指定的模式,在数据区域的第1列向下查找值,从指定列中找到相应的数据。下图所示的工作表列举了VLOOKUP函数使用的不同情形:" 如果指定VLOOKUP函数的最后一个参数为TRUE(默认值),那么查找区域的第1列应该按照升序排列。此时,该函数会查找并返回最后一个匹配项。如果要查找并返回第一个匹配项,那么将该函数的最后一个参数设置为FALSE。例如,示例工作表中查找数据10时的情形。如果在查找的数据区域中没有想要查找的值,如示例中的数据15、25、35,那么VLOOKUP函数会根据指定的最后一个参数来查找值。当指定最后一个参数为TRUE时,获取小于且与所查找值最接近的值,而当指定最后一个参数为FALSE时,会返回#N/A错误。
在指定VLOOKUP函数的最后一个参数为FALSE时,我们可以不需要查找区域按升序排列,并且在有多行值与查找的值相同时,可以获得第1行所对应的值,但在没有找到值时会返回错误。
HLOOKUP函数的用法与VLOOKUP函数相同,只是在数据区域的第1行向右查找。
VLOOKUP函数和HLOOKUP函数只能使用最左侧列或者最顶部的行进行查找,获取左侧列或者下方行中的值,这是它们的一个主要缺点。INDEX函数和MATCH函数有效弥补了其不足。
INDEX函数经常与MATCH函数配合使用,由MATCH函数找到相应的行列号,作为INDEX函数的参数,获取相应的值。INDEX函数不仅可以使用数组作为参数,而且还可以返回数组值,在后面我们将会看到相关应用示例。
INDIRECT函数可以使用文本来构造单元格引用。例如:
=INDIRECT(“B” &2)
或者
=INDIRECT(“B2”)
等价于
=B2
那为什么不直接就输入=B2呢?在某些情形下,可能参数就是文本,而一些函数不会接受文本作为参数,例如ROW函数。当使用
=ROW(”1:2”)
时,Excel不会接受。如果使用:
=ROW(INDIRECT(“1:2”))
可以满足要求。使用数组输入,返回{1;2}。这正可以弥补ROW函数的不足。
又如,ROW函数不接受其它函数作为参数,如果输入:
ROW(1:LEN(A1))
Excel会返回错误。但可以这样输入:
ROW(INDIRECT(“1:” &LEN(A1))
如果单元格A1中字符串的长度为3,那么上述公式变为:
ROW(INDIRECT(“1:3”))
进一步计算为:
{1;2;3}
注:如果使用R1C1样式的引用,那么需要指定参数FALSE,例如
=INDIRECT(“R2C2”,FALSE)
表示引用单元格B2。
OFFSET函数都可以引用其他的单元格,返回相关的单元格或单元格区域。不像VLOOKUP函数那样要顺序查找,因此涉及大量单元格时更快速。
逻辑函数
下表列出了一些Excel逻辑函数及相应的说明:
" 可以使用数组来简化我们的逻辑测试。例如,要测试单元格A1中的数据是否为1、3或者5,可以使用公式:=OR(A1=1,A1=3,A1=5)
但更简单的公式是:
=OR(A1={1,3,5})
其他函数
下表列出了其他一些Excel函数及相关说明:
" MOD函数返回两数相除的余数,而余数将在0至除数之间循环,因此,在公式中我们可以充分利用这个特点。例如,要使输入的数字永远在0至6之间循环,可以使用公式:=MOD(Number,7)
其中,Number代表输入的数字。
又如,我们要设置每隔1行,给单元格设置背景色,那么可以在条件格式中使用公式:
=MOD(ROW(A1),2)=0
效果如下图所示。
" 结语Excel为我们提供了丰富的函数,用来解决各方面的问题。你使用Excel函数越多,就会越熟练。同时,在应用Excel函数的过程中,你不仅会发现很多有趣的函数,而且会体会到他们在解决问题时的美妙和展现的魅力。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们zhicunshuangzi@foxmail.com 处理,核实后本网站将在24小时内删除侵权内容。