SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

業務効率を上げる Microsoft Officeテクニック集

知っておきたいExcelの関数 - 検索/行列関数編 (2)

困ったときのMicrosoft Office Tips - Excel (6)


 この連載では、さまざまなシーンにおいてMicrosoft Officeツールを使いこなすためのTipsを紹介します。今回は、前回に引き続き、検索/行列関数のなかで比較的難易度の高いとされるINDEXとMATCH関数を中心にとりあげます。

はじめに

 前回は、検索/行列関数の中で比較的使用頻度の高いVLOOKUPのほか、HLOOKUPとLOOKUPの3つの関数について取り上げ、参照範囲の指定方法について紹介しました。VLOOKUPなどの関数は、コードから商品名などを検索する関数としてよく使われています。しかし、逆パターン、例えば「新幹線の時刻表をもとに、午後1時までに新大阪に到着するには東京何時発の新幹線に乗るべきか?」といった場合や、「最大売上金額の支店名を調べる」という場合はどうすればいいでしょうか?

 そこで今回は、このような場合に使われる検索/行列関数、INDEXとMATCH関数について紹介します。

INDEX関数とMATCH関数はどんなときに使う?

 VLOOKUP関数と同様に、INDEX関数も「表の中からデータを取り出す」関数に変わりはないのですが、VLOOKUPとは少々使い方が異なります。

 「売上データの中で、一番売れたものは何か」または「今から出発すると何時発の電車に乗れて何時に目的地に到着するか」といったものを探すのには、INDEX関数とMATCH関数を組み合わせて検索します。

INDEX関数とMATCH関数の関係
INDEX 表やセル範囲から行や列を指定して、セル参照を求めたり、該当位置のデータを求める。セル範囲形式と配列形式の2種類がある。ただし、行番号と列番号から検索するため、VLOOKUPのように、表の見出し名から検索(数式でラベルを使用)することはできない。
MATCH 検査範囲にある検索値(データ)から、その範囲で該当する行番号や列番号を求める。表の見出し名から検索できないINDEX関数を補うためにセットとして使われることが多い。なお、検索の方法として「検索値に完全一致」「検索値に完全一致する値がなければ検索値未満の最大値」「検索値に完全一致する値がなければ検索値より大きい最小値」から選択できる。

 まず、簡単に具体例を一つ挙げてみます。以下の支店別売上表でもっとも売上金額が大きい支店はどこでしょうか? このようにデータが少ない表であれば、支店名は一目でわかりますよね。

支店別売上表
支店名 売上金額
A支店 500,000
B支店 450,000
C支店 350,000
D支店 550,000
E支店 400,000

 この例での行番号は4番目で、支店名は1列目、といった形で求めるのがINDEX関数です。しかし、膨大なデータテーブル、または、別のシートにある表データから検索するといった場合は、そう簡単に調べることはできません。

 そこで、MATCH関数で該当するデータが何行目にあるのかを探し、INDEX関数で行番号に一致した指定した列を求めることができます。もし、最大値を探す場合は、MATCH関数にMAX関数をネストするとOKです。

INDEX関数について

 INDEX関数は、インデックスを使って、範囲、または配列から抽出した値を返します。セル範囲形式と配列形式があります。

INDEX関数の引数
セル範囲形式 INDEX(範囲,行番号,列番号,領域番号)
配列形式 INDEX(配列,行番号,列番号)

 セル範囲形式は、複数のセル範囲があって、何番目の領域(セル範囲)の値を返すか、といった場合に利用します。セル範囲形式で複数の範囲を指定する場合は、括弧でくくり、それぞれ半角カンマで区切ります。たとえば、「A2:C7」と「E2:G7」の二つのセル範囲があり、1行目2列目のデータを2番目の表(E2:G7)から抜き出す場合は、

=INDEX((A2:C7,E2:G7),1,2,2)

 となります。もし領域番号の引数を省略すると1番目のセル範囲(A2:C7)から値を返します。

次のページ
INDEX関数を使ってみる

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
業務効率を上げる Microsoft Officeテクニック集連載記事一覧

もっと読む

この記事の著者

小濱 良恵(コハマ ヨシエ)

Microsoft MVP for Expression (April 2008 - March 2009)
Microsoft Office や Expression Web の書籍やWeb記事を執筆するテクニカルライター。
当初は派遣の仕事が中心で、2002年にMOUS(現Mic...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/499 2008/09/05 22:18

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング