回答受付が終了しました

ID非公開

2020/8/14 0:13

44回答

Excelのindex関数について。

Excelのindex関数について。 簡単に調べてみたんですが、「この範囲で、上から何個目、横から何個目の値は○○でした。」っていう感じだと思うんですが、それが一体なんの役に立つのかよく分かりません。何個目×何個目かを数えるくらいなら、関数入力する必要すらないと思うんですが、それとも当てずっぽうでしょうか。 その機能が実際に必要になるシチュエーションはどんなものですか?

Excel19閲覧

回答(4件)

0

》 何個目×何個目かを数えるくらいなら、 》 関数入力する必要すらないと思うんですが、… 全く仰る通りで、何事も無用な人には必要ないのです。

0

VLOOKUP関数で、「何列目」というのは出せますが、「何列前」は出せないですよね。 そこでINDEX+MATCHが生きてきます。 今までINDEX関数を使ってきた中で、一番頻度が高いのがこのパターンでしたね。

0

INDEX関数は単独で使うことはめったにありません。だいたいは MATCH 関数と組み合わせて使います。 VLOOKUPでは検査範囲が左端列に限定されますが INDEX/MATCHの場合 どの列からでも検索することができます。 =INDEX(表示したい範囲,MATCH(検索値,検査範囲,0)) クロス表からでも検索できます。 =INDEX(範囲,MATCH(行検索値,行範囲,0),MATCH(列検索値,列範囲,0)) テーブル設定の構造化参照との相性がいいので VLOOKUPよりは使い勝手 がいい関数です。 ただ Office365では XLOOKUPがあるので使う機会はぐっと減るでしょう。 他にも配列計算に使ったり FREQUENCYや FILTERXML関数で指定の値を 抜き出すのに使えます。

0

一例です。 下の画像では ある名前の人のある月の得点とその月の順位を求めるもので 1.C16のセルに __=IFERROR(INDEX($B$2:$G$12,MATCH(A16,A$2:A$12,0),MATCH(B16,B$1:G$1,0)),"") 2.D16のセルに __=IFERROR(RANK(C16,INDEX($B$2:$G$12,0,MATCH(B16,B$1:G$1,0))),"") 3.C16:D16を下のC19:D19までコピー としたものです。

画像