Excel怎么快速查找需要的数据?
我错在那里?
公式修改如下: =IF(D2="","",IF(ISERROR(INDEX(Sheet2!C:C,MATCH(D2,Sheet2!D:D,0))),INDEX(Sheet2!C:C,MATCH(D2,Sheet2!D:D,-1)+IF(ABS(INDEX(Sheet2!D:D,MATCH(D2,Sheet2!D:D,-1))-D2)>ABS(INDEX(Sheet2!D:D,MATCH(D2,Sheet2!D:D,-1)+1)-D2),1,0)),INDEX(Sheet2!C:C,MATCH(D2,Sheet2!D:D,0)))) 请看附件。
数组公式如下: {=IF(D2="","",INDEX(Sheet2!C:C,IF(ISERROR(MATCH(D2+MIN(ABS(D2-TEXT(Sheet2!$D$1:$D$35,"G/通用格式;;;!0"))),Sheet2!D:D,0)),MATCH(D2-MIN(ABS(D2-TEXT(Sheet2!$D$1:$D$35,"G/通用格式;;;!0"))),Sheet2!D:D,0),MATCH(D2+MIN(ABS(D2-TEXT(Sheet2!$D$1:$D$35,"G/通用格式;;;!0"))),Sheet2!D:D,0))))} 请看附件。
两种公式都有局限性。
问题很简单,详细了解一下MATCH(lookup_value,lookup_array,match_type)函数的工作原理就可以找到答案了。 match_type取值为0时精确匹配,找不到lookup_value就返回错误值,取值为1时,返回大于或者等于lookup_value的最小的值。
=IF(D6="","",IF(ISERROR(INDEX(Sheet2!C:C,MATCH(D6,Sheet2!D:D,0))),INDEX(Sheet2!C:C,MATCH(D6,Sheet2!D:D,-1)),INDEX(Sheet2!C:C,MATCH(D6,Sheet2!D:D,0)))) 这个公式的工作原理就是先在Sheet2中查找D6的值,如果找不到的话,就返回大于或者等于D6的最小的值在Sheet2!D:D中的位置。
很显然D6中的2。2432在Sheet2中的D列中是找不到的,于是公式找到了比2。2432大一点的2。2498,实际上应该是比2。2432小一点的2。2431更接近于实测值,返回结果当然就不正确了。
答:公式修改如下: =IF(D2="","",IF(ISERROR(INDEX(Sheet2!C:C,MATCH(D2,Sheet2!D:D,0))),INDEX(...详情>>
问:怎样用Camtasia Studio v2.0.3来制作媒体
答:这个软件有使用向导的,你新建一个文件,然后照着他的说明一步一步的走下去,就知道怎么用了,这个软件太小了,网上跟本找不到教程的,如果你确实还是不会的话,找个懂电脑...详情>>