『Excel VBA 表計算とプログラミング学習サイト』では、アフィリエイトプログラムを利用して商品を紹介しています。

【Excel】INDEX関数で身長と体重データを参照します

【Excel】身長と体重データを取得します

ExcelINDEX関数 の応用です。たとえば、次のような [身長/体重データの一覧表] があったとします。

氏名 身長 [cm] 体重 [kg]
亀田 綾子 156.36 54.05
表田 好造 178.86 78.05
大田原 幸恵 149.88 52.06
信 賢之 170.33 62.97
刈間 賢志 173.09 74.56
占部 春弓 164.82 55.21
浅沼 蒼衣 160.03 49.75
小休 賢次郎 170.21 61.86
池上 心優 150.05 56.04
公門 紀一 178.68 74.47

このとき、氏名を指定して、該当する身長と体重を参照できるようなワークシートを作ってみましょう。上の表をコピーしてセル B6 に貼りつけてください。
 
ExcelのINDEX関数で身長データを参照します
 
セル C2 に氏名を入力したとき(上の例では「刈間 賢志」が入力されています)、該当する身長と体重のデータがセル C3 と C4 に表示されるようにします。セル C3 には INDEX関数 と MATCH関数を組合わせて

=INDEX(C7:C16,MATCH(C2,B7:B16,0))

と入力します。刈間賢志さんの身長「173.09」が表示されるはずです。少しややこしいのですが、

MATCH(C2,B7:B16,0)

によってセル C2 に入力された氏名が、B2:B16 の氏名一覧の何番目にあるかを得て、INDEX関数によって身長一覧 C7:C16 から対応する行数にあるデータを抜き出しているのです。上の図を見て、引数がどの範囲を参照しているか確認しておいてください。
 
同じように体重データも表示させてみましょう。セル C4 には

=INDEX(D7:D16,MATCH(C2,B7:B16))

と入力してください。MATCH関数でセル C2 の氏名が、B2:B16 の氏名一覧の何番目にあるかを調べて、INDEX関数で体重一覧 D7:D16 から対応する行数にあるデータを抜き出します。刈間賢志さんの体重「74.56」が表示されるはずです。

ちなみに、こばとの身長は 23 cm ですよ。とっても小っちゃいけど、御飯をたくさん食べたらもっと伸びるはずです。ここ 900 年ほどは 1 mm も伸びていないけど、そのうちきっと伸びます。姉さんは「これ以上大きくならないわよ」なんてこと言ってますけど、そんなの気にしません。今は姉さんのほうが背が高いけど、そのうち追い抜いて「ぎゃふん」と言わせるつもりです。ちなみに、こばとの体重は … そんなこと教えるわけないでしょ!

コメント

  1. あとりえこばと より:

    【AI解説】ExcelのINDEX関数の応用

     INDEX関数は、指定した範囲内から特定の行と列の交点にあるセルの値を返すExcelの関数です。以下にINDEX関数の高度な応用例をいくつか紹介します。
     
    条件付き抽出: INDEX関数を使用して、特定の条件を満たすデータを抽出することができます。たとえば、ある条件を満たす顧客の情報を含む行を抽出したい場合、INDEX関数を使用して条件に合致する行を取得できます。
     
    動的な範囲の指定: INDEX関数は、セル範囲を指定するために使用されますが、この範囲を動的に変更することもできます。たとえば、データが日々更新される場合、INDEX関数を使用して最新のデータ範囲から値を取得できます。
     
    2次元データの変換: INDEX関数を使用して、2次元のデータを別の形式に変換することができます。例えば、縦横に並んでいるデータを1列に連結するためにINDEX関数を使用することができます。
     
    動的な行列選択: INDEX関数を使用して、特定の条件に基づいて列を動的に選択することができます。たとえば、特定のプロジェクトに関連するデータを表示するために、プロジェクト名を選択すると、対応する列のデータが表示されるようにすることができます。
     
    複数の条件での検索: 複数の条件に基づいて特定のセルの値を取得するためにINDEX関数を使用することができます。複数の条件を満たすデータを取得する場合、MATCH関数と組み合わせて使用することが一般的です。
     
    マトリックス計算: INDEX関数は、行と列の交点にある値を取得するだけでなく、マトリックス計算にも使用できます。行列の積や転置などの演算にINDEX関数を使用することができます。
     
    これらはINDEX関数の高度な応用例の一部です。INDEX関数は、データの抽出、変換、操作など、多くのシナリオで使用できる非常に強力な関数です。