index(),是返回特定區(qū)域,第幾行 第幾列的值
例如,index(B2:C6,1,1)就是返回B2:C6這個區(qū)域,第1行,第1列的值,也就是B2的值。
small(),是返回比較區(qū)域中的第n個較小值。
例如small(a1:b3,2)是返回a1:b3,這個區(qū)域中的第2個較小值
if()是條件判斷,有三個參數,第一個是條件,第二個是如果為真是的值,第三個是如果條件為假時的值。
row()是求行號
其實你這個公式是錯誤無意義的。簡單的事搞的復雜化了。
先從if里面開始,IF($B$1:$B$1000=$J$1,ROW($B$1:$B$1000),4^8),條件是$B$1:$B$1000=$J$1 實際上等同于判斷B1=J1,這樣寫沒有意義。
如果為B1=J1,則求ROW($B$1:$B$1000),這樣寫也沒有意義,實際求出來的是B1的行號,結果是1 。如果B1不等于J1,則結果是4的8次方,就是65536。
small(if(),row(a1)) = small(if(),1)
if判斷出來,要么等于1,要么等于65536,就只有一個值,再small()也沒有意義。
簡化以后的結果,如果B1=J1
INDEX(C:C,1),就是C1的值
如果B1<>J1 ,INDEX(C:C,65536),就是C65536的值,
如果是這樣的話,直接用一個If()就搞定了。
if(B1=J1,c1,c65536)