公式解读之基础知识篇: 1认识运算符
*、+号在数组运算中,我们通常理解为“且”、“或”,但是他们与and、or函数是有着本质的区别的。
2、认识row()\row(1:1)\rows($1:1)及column()函数。
常见用数组公式取得多条记录的开头都是=if(row(1:1)>XXX,""……表示当公式下拉复制超过一定行数(满足条件记录的个数)时,显示为空。书写方式有row()-n、row(1:1)、rows($1:1),前2个得到的是一个{}1行1列的数组,后一个得到的是一个单值,此外,如果未知数据行数要形成“多单元格数组公式”,则必须使用row()-n的形式;如果已确定要得到记录的行数,则也可以用row(1:X)实现。比如:=IF(ROW(1:6)>COUNTIF(A1:A6,">0"),"",SMALL(IF(A1:A6>0,A1:A6),ROW(1:6)))——谢谢gvntw版主补充。
备注:n是公式所在第一行的上一行的行号。比如在A7输入第一个公式,则n=6。
由于column函数与row函数很相似,就不在此赘述了。
关于3种形式的讨论请参考:
3、认识“值”类型和数字格式:
数值、文本以及逻辑值、错误值。这里就讲讲数字吧。
常犯的错误:见到“数字”就以为是“数值”了,其实数字分“数值型数字”和“文本型数字”。(注:日期是数值的一种特殊形式。)。且,由于数字格式不一致,容易导致公式错误如查找不到或不能求和等运算。
文本型数字转换为数值型数字的方法:Value()函数转换,*1、/1、+0、-0、--(两个减号)转换,这几种转换是在函数公式里的方法。
基础操作法:a、复制一个空白单元格,选择需要转换区域,选择性粘贴为“加”;b、选择1列数据区域,菜单〉数据〉分列〉完成(前一步可以选择为日期、文本);c、利用工具〉选项〉“错误检查”选项,选择需要转换的区域,点击头一个单元格左上角出现的感叹号〉“转换为数字”。
函数公式得到结果为文本的情况:使用文本函数比如Text、Char、CONCATENATE、Fixed、Left、Right、Mid、Substitute等函数以及文本合并符&得到的均为文本型。
数字格式多种多样:设置单元格格式〉数字选项卡下面除了“常规”,点击其他任何选项以及右边相应格式,然后再点击常规最下方的“自定义”就可以看到刚才所选格式的表达方式了,这些方式都可以在自定义格式和Text函数第2参数中得到应用。具体可参考论坛中关于自定义格式的帖子。
4、认识引用:
(1)引用样式:
A1——用列标字母与行标数字表示,A1表示第1行第1列:
R1C1——用R与行标数字、C与列标数字表示,R1C3表示第1行第3列,就是C1单元格。
(2)绝对引用与相对引用:
A1样式:A1——相对引用,横竖拉动公式都会变;A$1——列相对行绝对引用,横拉列标变而竖拉行标不会变
$A1——列绝对行相对引用,横拉列标不会变而竖拉行标会变。$A$1——横竖拉都不变。
R1C1引用样式——R[-1]C[3]——当前单元格的往上1行往右3列的位置,比如当前单元格是B2,则R[-1]C[3]表示E1单元格。
关于数组公式入门到深入理解,
数组公式解读之基础知识篇:
1、概念:数组、多重计算、数组公式
数组:就是具有一定行列尺寸的单元格元素或数值、文本、逻辑判断等组成的单、多元素的东西,比如:
单元格A1在数组公式中也可以算1行1列的数组,A1:A2是一个2行1列的单元格数组,A1:B10是一个10行2列的单元格数组,{1,2;3,4}是一个2行(用分号隔开)2列(用逗号隔开)的常量数组,{True,False}是一个1行2列的逻辑值常量数组等等。
多重计算:对一组或多组值执行多重计算。
数组公式:Excel自带帮助文件“数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号 ({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。”——记住按三键。
在这里:数组公式仅仅是一个“称呼”,用以区别“普通公式”——不按三键。
经过大多数人讨论,尽管意见各异,为了统一定义方便理解,我们称“只有按Ctrl+shift+enter结束的公式才是数组公式”。按这3个键的的作用在于通知Excel:“嘿!我是数组哦,要对我执行的是多重计算,别搞错了哦”!
比如=sumproduct(条件1*条件2*……*统计区域)这么一个常用的多条件求和公式,只要它不用按三键,我们就称为“普通公式”
计算单个结果的数组公式:用数组公式执行多个计算而生成单个结果。——在单个单元格输入公式并按三键形成的数组公式。
计算多个结果的数组公式:使数组公式能计算出多个结果,必须将数组输入到与数组参数具有相同列数和行数的单元格区域中。——在多个单元格区域输入公式并按三键组成的一个整体的数组公式,我们称之为“多单元格数组公式”。
[ 本帖最后由 guanxin 于 2008-7-20 23:27 编辑 ] |