Excelで選択範囲にあるデータの中で○番目に大きい値を調べたいときには、「LARGE」関数を使います。
下図はExcel2016、サンプルデータです。
< スポンサーリンク >
LARGE関数
指定されたデータの中で○番目に大きなデータを返します。この関数を使用すると、相対的な順位に基づいて値を選択することができます。たとえば、LARGE関数を使って、第1位、第2位、または第3位の得点を返すことができます。
LARGE(範囲, 順位)
範囲=必須。 抽出の対象となるデータが入力されているセル範囲または配列を指定。
順位=必須。抽出する値の大きい方から数えた順位を数値で指定。
- 配列にデータが含まれていない場合、エラー値 #NUM! が返されます。
- 順位 ≦ 0 の場合、または順位が対象となるデータの個数よりも大きい場合、エラー値 #NUM! が返されます。
- nを範囲に含まれているデータの個数とするとき、LARGE(範囲,1) は対象となるデータの最大値を返します。また、LARGE(範囲,n) は対象となるデータの最小値を返します。
LARGE関数の使用例
年齢が上から1番目、3番目、5番目を取得しています。
E8 =LARGE(E2:E7,1)
E9 =LARGE(E2:E7,3)
E10 =LARGE(E2:E7,5)
生年月日が遅い順に1番目、3番目、5番目を取得しています。
D8 =LARGE(D2:D7,1)
D9 =LARGE(D2:D7,3)
D10 =LARGE(D2:D7,5)
LEN関数と組み合わせて、指定した範囲の中で文字数の多さの1番目、3番目、5番目の文字数を求めています。
C8 {=LARGE(LEN(C2:C7),1)}
C9 {=LARGE(LEN(C2:C7),3)}
C10 {=LARGE(LEN(C2:C7),5)}
この場合、「=LARGE(LEN(C2:C7),1)」と入力して、Ctrlキー+Shiftキー+Enterキーを同時に押します。
手入力で「{ }」を入力すると、文字列に変わってしまいます。
データの中に重複したものがある場合(例:下図)
=LARGE(A1:A6,2) 「160」
=LARGE(A1:A6,3) 「160」
と、同じ結果になります。
VBAでLARGE関数を扱う場合はこちら
『Excel VBA ○番目に大きい値を取得-LARGE関数』
Excel VBAで○番目に大きい値を取得する記録です。 ワークシート関数の「LARGE」を使います。 「LARGE」関数構文 WorksheetFunction.Large(Arg1, Arg2) 1組のデータの中で○ …
こんな記事も書いています