在Excel中,关于Match函数在数组中的用法 求助!

在这个表中,取出每个任务对应的所有日期中的第一个数值对应的日期,用到的公式是:=TEXT(INDEX(B$1:AF$1,MATCH(1=1,OFFSET(B$1,MATCH(A2,A$2:A$10,),,,31)<>"",0)),"m-d")

这里面match里用到的1=1是什么意思?求解?另高手能详细解释这个公式则不胜感激!

1=1就相当于逻辑值真TRUE
这个公式写得不好,不需要这么长,其中OFFSET(B$1,MATCH(A2,A$2:A$10,),,,31)可以用B2:AF2代替。
整个公式可简化为:
=TEXT(INDEX(B$1:AF$1,B2:AF2<>"",)),"m-d")
公式以CTRL+SHIFT+ENTER三键结束。
MATCH函数是查找序列数据中第一个符合给定条件的数据的位置。
INDEX函数是引用某个单元格区域中特定位置的单元格的值。当引用区域为单行或单列时,只有一个参数;当引用区域为多行多列时,有两个参数,第1个为行,第2个为列。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-17
其实就是为了得到一个逻辑值TRUE。
因为OFFSET(B$1,MATCH(A2,A$2:A$10,),,,31)<>""这个子函数,就是将当前这一行的B:AF这31个单元格,逐一判断是否不为空,不为空则返回TRUE,为空则返回FALSE。
而MATCH函数匹配到第一个TRUE值,于是可以用INDEX函数从第一行中取得相应的标题值。本回答被提问者采纳
相似回答