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

分享

比VLOOKUP厲害的函數公式,出列?。?/span>

 Excel教程平臺 2023-02-14 發(fā)布于四川

哈嘍,小伙伴們,你們好呀~~

在群里看到一個數據匹配的問題覺得挺有趣,如圖所示,根據人物名稱匹配出對應的書名。

條件值(如人名)的位置不固定在某列,而是可能存在A、B、C等列中的任何一列中,也就是A、B、C列的數據是并列的,都是人名;

那如何在并列的多列數據中查到條件值并返回對應的需要值呢?

很顯然,這個問題,直接用VLOOKUP肯定是不行的——因為它要求條件值必須位于查找區(qū)域的首列。

今天就來給大家分享幾個函數公式

1、常規(guī)數據匹配思路:

首先要明確的是目標結果(書名)所在位置是A2:A5這個單元格區(qū)域,只要能夠確定是這個區(qū)域的第幾行,就能得到所需結果。

而要確定目標在第幾行,就需要根據提供的人物與B2:J5這個區(qū)域中的單元格去比較,這也是解決問題的最核心所在。

這一步有兩個公式可以實現:

公式1 =SUMPRODUCT(($B$2:$J$5=A8)*ROW($A$1:$A$4))

公式2 =MAX(IF($B$2:$J$5=A8,ROW($A$1:$A$4))) 數組公式,需要三鍵(Ctrl、shift、enter)輸入。

兩個公式中都用到了$B$2:$J$5=A8,這個等式會得到一組邏輯值,人物所對應的具體單元格會返回TRUE。

兩個公式的另外一個共同點就是ROW($A$1:$A$4),這部分相當于常量數組{1;2;3;4}。

公式1是利用SUMPRODUCT計算出一組邏輯值和數組的乘積之和,最終得到符合條件的姓名所在的行號。

關于SUMPRODUCT函數的詳細示例參考教程:Excel的求和函數之王!

公式2則是利用IF函數返回數據,其中TRUE所對應的是一個數字。

再用MAX得到這一組數據中的最大值,從而得到姓名所在的行號。

要理解這個思路需要對數組有一定的認識才行,關鍵在于公式中IF函數的第一參數是一組邏輯值而不是一個邏輯值,所以IF函數返回的結果也是一組數據,必須借助MAX得到需要的結果。

理解了以上兩個公式,其實要解決問題就非常容易了,使用INDEX、OFFSET和INDIRECT函數都可以得到正確結果。

以下采用公式1的進行介紹,有興趣的同學可以自己替換公式2去研究一下。

INDEX函數解法:

公式為:

=INDEX($A$2:$A$5,SUMPRODUCT(($B$2:$J$5=A8)*ROW($A$1:$A$4)))

INDEX根據SUMPRODUCT得到的行號,在目標區(qū)域中得到對應的書名。

OFFSET函數解法:

公式為:

=OFFSET($A$1,SUMPRODUCT(($B$2:$J$5=A8)*ROW($A$1:$A$4)),)

OFFSET以A1單元格為基點,按照SUMPRODUCT得到的行數向下偏移,就得到了對應的書名。

INDIRECT函數解法:

公式為:

=INDIRECT("A"&SUMPRODUCT(($B$2:$J$5=A8)*ROW($A$2:$A$5)))

注意這個公式中的ROW($A$2:$A$5)和前幾個公式稍有區(qū)別,因為INDIRECT需要的是表格中的行號,而不是目標區(qū)域中的行號,所以這里用的$A$2:$A$5而不是$A$1:$A$4。

以上分享的這些公式都是常規(guī)數據匹配思路。

2、兩個非常規(guī)的思路

分別用到了合并函數CONCAT函數和TEXTJOIN函數,并且都是數組公式,需要三鍵(Ctrl、shift、enter)輸入。

如果你的Excel或WPS也有這兩個函數的話,可以研究一下了。

CONCAT函數解法:

公式為:=CONCAT(IF($B$2:$J$5=A8,$A$2:$A$5,""))

TEXTJOIN函數解法:

公式為:=TEXTJOIN("",,IF($B$2:$J$5=A8,$A$2:$A$5,""))

這兩個公式的本質都是一樣的,利用IF函數返回一組文本,只有一個是書名,其他都是空值。

將這一組文本合并后就得到所需要的結果。

以上就是今天要分享的全部內容,不知道你學會了多少,下面再來給大家留一個自測題吧。

如果是這個樣式的查找,又應該如何來寫公式呢?知道答案的同學,可以在評論區(qū)留言告訴我們喲~~

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多