if函数能用数组么?
if函数能用数组。IF函数的第一个参数{1,0}是一个单行两列的数组常量,有两个元素;而第二、第三个参数都是四行单列的数组。进行数组扩展后,三个参数都变成四行两列的数组,各有8个元素:第一个参数扩展后变成{1,0;1,0;1,0;1,0}第二个参数扩展后变成{"B1","B1";"B2","B2";"B3","B3";"B4","B4"}第三个参数扩展后变成{"A1","A1";"A2","A2";"A3","A3";"A4","A4"}于是我们可以确定:这个数组公式需要重复计算8次,并返回一个四行两列的数组。第一次计算分别取三个参数的第一个元素,组成普通公式=IF(1,"B1","A1"),根据数值类型自动转换规律,1被转换为逻辑值TRUE,所以计算结果为"B1",该结果为返回的数组中第一行第一列的值;第二次计算分别取三个参数的第二个元素,组成普通公式=IF(0,"B1","A1"),根据数值类型自动转换规律,0被转换为逻辑值FALSE,所以计算结果为"A1",该结果为返回的数组中第一行第二列的值;第三次计算分别取三个参数的第三个元素,组成普通公式=IF(1,"B2","A2"),计算结果为"B2",该结果为返回的数组中第二行第一列的值。
if数组函数的使用方法
一、IF函数的使用方法(入门级)
1、单条件判断返回值
=IF(A1>20,"完成任务","未完成")
2、多重条件判断
=IF(A1="101","现金",IF(A1="1121","应收票据",IF(A1=1403,"原材料")))
注:多条件判断时,注意括号的位置,右括号都在最后,有几个IF就输入几个右括号。
3、多区间判断
=IF(A1<60,"不及格",IF(A1<80,"良好","优秀"))
=IF(A1>=80,"优秀",IF(A1>=60,"良好","不及格"))
注:IF在进行区间判断时,数字一定要按顺序判断,要么升要么降。
二、IF函数的使用方法(进阶)
4、多条件并列判断
=IF(AND(A1>60,B1<100),"合格","不合格")
=IF(OR(A1>60,B1<100),"合格","不合格")
注:and()表示括号内的多个条件要同时成立
or()表示括号内的多个条件任一个成立
5、复杂的多条件判断
=IF(OR(AND(A1>60,B1<100),C1="是"),"合格","不合格")
=IF(ADN(OR(A1>60,B1<100),C1="是"),"合格","不合格")
6、判断后返回区域
=VLOOKUP(A1,IF(B1=1,C:D,F:G),2,0)
注:IF函数判断后返回的不只是值,还可以根据条件返回区域引用。
三、IF函数的使用方法(高级)
7、IF({1,0}结构
=VLOOKUP(A1,IF({1,0},C1:C10,B1:B10),2,0)
{=VLOOKUP(J15&K15,IF({1,0},A1:A2&B1:B2,C1:C2),2,0)}
注:利用数组运算返回数组的原理,IF({1,0}也会返回一个数组,即当第一个参数为1时的结果放在第1列,为0时的结果放在数组第二列。
8、N(IF( 和 T(IF(
{=SUM(VLOOKUP(T(IF({1,0},J15,K15)),E15:G17,3,0))}
注:vlookup函数第一个参数不能直接使用数组,借用t(if结构可以转换成内存数组。
作者:伊丽莎白丽