小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Index Match嵌套那些事兒

 Purefact 2015-11-06

Hello,

這里分享一個對index+match嵌套的小總結(jié)~~

首先呢,index+match嵌套的最基本格式如下:

index(序列1,match(值,序列2,0))

其含義為:根據(jù)“值”在序列2中的位置,得出序列1中相同位置的值(模糊查找時,最后參數(shù)也可能是1、-1)。

這個看似和vlookup很像,但它不需要源數(shù)據(jù)的嚴格對齊,也不需要查找值必須在首列,更為靈活一些~

實例如下:


這樣的反向查找,其實用vlookup、lookup、index+match都是可以做到的,3個公式分別如下:

VLOOKUP法:

=VLOOKUP(E3,IF({1,0},$C$2:$C$9,$B$2:$B$9),2,FALSE)

LOOKUP法:

=LOOKUP(1,0/($C$2:$C$9=E3),$B$2:$B$9)

INDEX+MATCH法:

=INDEX($B$2:$B$9,MATCH(E3,$C$2:$C$9,0))

這個基本實例中,序列1就是B2:B9,序列2是C2:C9,查找值是E3。以上,可見3者異同。

除了以上的基本情景,index+match嵌套也可能會用在其他的怪異需求中。

比如下面的例子:要將B列內(nèi)容各自重復C列指定的次數(shù),形成一個新的序列。


首先,我們想到用INDEX來提取B列內(nèi)容:

=INDEX($B$14:$B$17,X)

只是,這個X應該是什么呢?它得是一個在下拉的時候,前6個取值是1,然后2個2,然后5個3,然后3個4,這樣的序列。

我們自然想到,先將頻次序列{6,2,5,3}變成累計序列{6,8,13,16},然后從0開始對它進行模糊查找,如下:

=MATCH(ROW(A1)-1,{6,8,13,16},1)

(下拉)

這時,得到了這樣一個序列:

{#N/A,#N/A,#N/A,#N/A,#N/A,#N/A,1,1,2,2,2,2,2,3,3,3}

這個序列,離我們想要的序列還有兩點不同:1都變成了錯誤值,后面的取值也都少了1;據(jù)此可以在后面+1,前面增加IFERROR:

=IFERROR(MATCH(ROW(A1)-1,{6,8,13,16},1)+1,1)

(下拉)

此時,成功獲得了想要的序列X,那么將它替換回原公式,即:

=INDEX($B$14:$B$17,IFERROR(MATCH(ROW(A1)-1,{6,8,13,16},1)+1,1) )

(下拉)

如此,目的實現(xiàn)。

最后,還有一個問題,即公式中的累計序列如何計算得到?這可以用offset選定區(qū)域并求和獲得:

=SUBTOTAL(9,OFFSET($C$14,,,ROW($1:$4),1))

(此為數(shù)組公式)

即將C14分別向下1、2、3、4格的區(qū)域求和。

用以上公式替代掉{6,8,13,16},則最終的公式為:

=INDEX($B$14:$B$17,IFERROR(MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET($C$14,,,ROW($1:$4),1)),1)+1,1))

以上是數(shù)組公式,需三鍵結(jié)束,下拉。

好,今天和大家就分享這些吧,我是可愛的Hoa小熊貓,朋友們,再見——

 

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多