=IF(A1<>ROW(1:10),"通过","未通过") 意思就是A1不等于1到10这十个数row函数是取行号的,这里1:10完全不是行号,如果说是取1.2.3.4.5.6.7.8.9.10这几个数字的,那直接用ROW(1)却显示错误,我实在想不通,还是请高手解释一下,这里用的这个ROW(1:10)是啥意思?
ROW(A1:A10)或者ROW(B1:B10)等数组,在书写时,为了节省字符可以简写成ROW(1:10),它将产生一个10行1列的一维数组,即{1;2;3;4;5;6;7;8;9;10}。
当“1:10”作为ROW函数的参数时,计算机将识其为:“单元格区域的引用”,引用的范围是工作表的第一行至第10行,但当“1”作为ROW函数的参数时,计算机只将其视为数字“1”,不能视为引用,所以返回错误值。
如果想返回数组{1},可以将ROW函数的参数改为“A1”、“B1”等或者“1:1”,即ROW(A1)或者ROW(1:1),都能返回{1}这个一行一列的数组。
“A1”,“1:1”,“A:A”等,这些形式作函数参数时,将被视为“引用。
使用道具 举报
我理解row(1:10)应该是个常量数组
row(1:10)={1;2;3;4;5;6;7;8;9;10}
如果是要求A1=1-10这十个自然数时,为未通过,那么公式这样还不行的
{=IF(AND(A1<>ROW(1:10)),"通过","未通过")}数组公式,这样才可以。
ROW(1:10)这个就是1-10的一个数组的意思
=IF(AND(A1<>{1;2;3;4;5;6;7;8;9;10}),"通过","未通过")
同这个效果一样
又多学到了一点
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )
GMT+8, 2024-5-18 17:55 , Processed in 0.270640 second(s), 9 queries , Gzip On, Yac On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.