独学で学ぶエクセルの資格

検索/行列関数

CS資格・Excelの実務に一部必須
全部は覚えなくて良い

練習ファイルのダウンロード

解説

一覧表(赤文字は特に重要)

バージョンによっては使えないものもあります。

関数名 解説
データの検索 MATCH セル範囲やデータ配列から指定値を検索し、見つけたデータの場所が範囲先頭から何番目なのかを求めます。
INDEX セル範囲やデータ配列から、指定された位置の値を求めます。よく、MATCH 関数と共に使われます。
VLOOKUP セル範囲やデータ配列の左端列で指定値を検索し、同じ行の指定列数目のセルの値を求めます。
HLOOKUP セル範囲やデータの配列の上端行で指定値を検索し、同じ列の指定行数目のセルの値を求めます。
LOOKUP セル範囲やデータ配列の先頭行または先頭列を検索し、同じ行の末尾の列 又は 同じ列の末尾の行の値を求めます。
OFFSET 指定した行数と列数だけずれた位置にあるセルまたはセル範囲へのオフセット参照を求めます。
CHOOSE 引数リストの値の中から特定の値を1個選択します。
セル番地の検索 COLUMN 指定セルの列番号を求めます。
ROW 指定セルの行番号を求めます。
COLUMNS 指定セル範囲の列数を求めます。
ROWS 指定セル範囲の行数を求めます。
AREAS 指定された範囲に含まれる領域の個数を求めます。
ADDRESS ワークシート上のセル番地を文字列で求めます。
INDIRECT 文字列で表したセル番地のセルの値を求めます。
その他 TRANSPOSE セル範囲のデータの行と列を入れ替えた結果を表示します。
HYPERLINK WEBページのようなリンクを設定します。
RTD アドインソフトからデータを取得します。

LOOKUP、INDEX、MATCH

解説

=VLOOKUP(3,B57:J104,6,TRUE)
値が「3」のセルをB57:J104の一番左の列から探し、そのセルから数えて右に6番目のセルの値が答えとして返されます。

=VLOOKUP(M60,E57:J104,4,FALSE)
M40の値と等しいセルをE57:J104の一番左の列から探し、そのセルから数えて右に4番目のセルの値が答えとして返されます。

使用方法

書式 =VLOOKUP(検索値 , 範囲 , 列番号 , 検索方法)
検索値
範囲の左端の列の中から探す値
範囲
対象範囲
列番号
対象範囲の中で何列目の値を返してほしいのかを指定します。
検索方法
TRUE は範囲の左端の列が昇順に並んでいる場合に指定すれば、検索値が見つからなかった場合に検索値未満で検索値に一番近い値が使用されます。
FALSE は並び替えされていない場合に指定し、見つからない場合はエラーが出ます。

VLOOKUP での TRUE
VLOOKUPの4番目の引数に「TRUE」又は「1」を指定した場合、検索範囲の中で検索値と一致する値のセルが無ければ検索値以下の値で検索値に最も近い値のセルが該当になります。
ただし範囲の左端の列は昇順に並べ替えておく必要があります。
なお、検索値が範囲の左端の列の先頭よりも小さい値だった場合はエラーになります。

INDEX

C5:J11の中で3行目の7列目の値
=INDEX(C5:J11,3,7)
MATCHと組み合わせるとこのようになります。
C5:J11の中で「担当者」の値が「シド」の行の7列目の値。=INDEX(C5:J11,MATCH("シド",H5:H11,FALSE),7)
もう少し高度な別の書き方
C5:J11の中で「担当者」の値が「シド」の行の受渡場所
=INDEX(C5:J11,MATCH("シド",H5:H11,FALSE),MATCH("受渡場所",C4:J4,FALSE))
よく使われる組み合わせ
数が最大の発注社
 =INDEX(E5:E11,MATCH(MAX(J5:J11),J5:J11,FALSE))

データベース関数HOME串刺し計算