TOP > Excel > FAQ > 関数

関数

別シートにある成績表データの中から最高得点の名前をピックアップしたい

Sheet 2に以下のようにデータがあり、

  A B
1 名前 点数
2 wanichan 80
3 青 ちゃん 90
4 のみちゃん 70

Sheet 1のA1に優勝者の名前を表示させたい場合、どうすればいいでしょうか?

  A B
1   さん、おめでとうございます!
2  

1. Sheet2の成績表に名前の定義を作成します。

別シートを参照するとエラーになります。これを回避させるためには、参照させたい範囲に名前をつけると解決します。

表全体を範囲選択して、[挿入]→[名前]→[作成]をクリックします。
[挿入]→[名前]→[作成]をクリック

名前の作成ダイアログボックスで「上端行」のみチェックを入れた状態でOKボタンをクリックします。
名前の作成
これで、自動的に名前の範囲、点数範囲にそれぞれ「名前」「点数」と名前を付けることができました。

2. Sheet1のA1に数式を作成します。

セルを参照する→INDEX関数
最高得点を割り出す→MAX関数
検索範囲内に検索値と同じ相対的な位置を表す数値を返す→MATCH関数

以上、3つの関数を組み合わせて使います。
INDEX関数を選びましょう。

引数の選択で「配列,行番号,列番号」を選んでOKボタンをクリックします。

INDEX関数の中で、1列目なので、列番地は1ですね。しかし、行番号は最大値にマッチした番地を求めなければいけません。
配列は名前です。配列のところに「名前」と入力、または[挿入]→[名前]→[貼り付け]で、「名前」を選びます。

列番号は1なので、1と入力しておきます。

問題は行番号です。行番号にカーソルを移動させて、名前ボックス右横の▼印をクリックして、「その他の関数」を選んで・・・

MATCH関数を選んでOKボタンをクリックします。

さらに、MATCH関数の「検索値」にカーソルがある状態で同様にMAX関数を選びます。

点数の最大値を求めるので、点数と入力します。

MATCH関数に戻るには、数式バーのMATCHの文字列をクリックします。

検索範囲は点数と入力し、照合の型は0と入力して、OKボタンをクリックします。

結果はこのようになります。「青ちゃん」になりましたか?

=INDEX(名前,MATCH(MAX(点数),点数,0),1)
EnterpriseZine関連記事

▲このページのトップへ

MENU

Site Search by Google


Web サイト内

Ads