EXCEL函数IF(ISNA((MATCH(1,H9:M9)-1)*2),"",MATCH(1,H9:M9)-1)*2这公示每一个数字单词分别代表什么意思

如题所述

MATCH(1,H9:M9)
在H9至M9单元格区域查找小于或等于1的单元格内容在第几列.如图中是在J列则返回值为第三列即3(从H列到J列是三列)

(3-1)*2=4

=IF(ISNA((MATCH(1,H9:M9)-1)*2),"",MATCH(1,H9:M9)-1)*2

整个公式意思为当(MATCH(1,H9:M9)-1)*2)得出的值为错误值 #N/A(即在H9:M9单元格区域中找不到匹配值时,公式返回空值再乘以2(这样就得出了#VALUE!的错误值) ,如果(MATCH(1,H9:M9)-1)*2)返回值不是错误值#N/A,则公式计算MATCH(1,H9:M9)-1的结果并乘以2

公式最好改成
=IF(ISNA((MATCH(1,H9:M9)-1)*2),"",(MATCH(1,H9:M9)-1)*2)
这样就不会出现#VALUE!的错误值

或者改成
=IF(COUNTIF(H9:M9,1),(MATCH(1,H9:M9)-1)*2,"")

意思为在H9:M9单元格区域查找1,如果有1就计算(MATCH(1,H9:M9)-1)*2,没有1就返回空值
如果小于等于1的也算在内则公式写成
=IF(COUNTIF(H9:M9,"<=1"),(MATCH(1,H9:M9)-1)*2,"")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-08
发觉你的公式最后加一对括号才合理的,最后的MATCH前加“(”,和2后加“)”,即:
IF(ISNA((MATCH(1,H9:M9)-1)*2),"",(MATCH(1,H9:M9)-1)*2)
公式中的关键部分是:MATCH(1,H9:M9) MATCH函数的作用是查找某一指定数据在单行或单列中在什么位置出现。即在单元格区域 H9:M9 中查找数字1在哪个位置出现。
在你的图示中,这个1是在J9,即在这个区域中的第3位,结果就是3了。而:
MATCH(1,H9:M9)-1)*2
的意思就是将找到的结果减去1,再乘以2。
但如果这个区域中没有出现1,结果就会有出现提示“#N/A”,这样就会影响美观了,为了让没出现1的时候美观些,就加了个条件函数 ISNA 去先判断下这个公式返回的结果是不是出错,如果是出错,就什么都不显示,即:IF(ISNA((MATCH(1,H9:M9)-1)*2),"" 但如果结果不是出错的,就按这个公式去查找并运算。

另外,在考虑精简公式的角度,这个公式是可以再精简点的,因为前面部分只是需要判断是否出错,所以这个 -1 和 *2 都可以省去了。即可以写成:
=IF(ISNA(MATCH(1,H9:M9)),"",(MATCH(1,H9:M9)-1)*2)
第2个回答  2013-06-08
MATCH(1,H9:M9)在H9:M9中查找1,如果找到,返回相对位置,即1-6,找不到则返回#NA

IF函数根据ISNA()判断是否为#NA(未找到),是则返回空值,否则返回(位置-1)*2,运算结果就是对应的得分
第3个回答  2013-06-08
MATCH是查找函数,MATCH(1,H9:M9)是在H9:M9查找1在这个区域的位置,比如1在H列返回是1,MATCH(1,H9:M9)-1)*2比如1在K列那它的位置是4,(4-1)*2是6,IF(ISNA((MATCH(1,H9:M9)-1)*2),"",MATCH(1,H9:M9)-1)*2意思是判断在H9:M9有没有1存在,没有就返回空值,有就返回MATCH(1,H9:M9)-1)*2的结果。
大家正在搜