1. LARGE関数とは
LARGE関数は、指定された範囲の中からn番目に大きい値を返す関数です。例えば、テストの点数データから上位3位までの点数を求めるときに便利です。
=LARGE(A1:A10, 5) ' A1からA10の範囲内で5番目に大きい値を返す
2. マクロでLARGE関数を再現する方法
VBAを使って同様の機能を実現するには、範囲内の値をソートしてから指定された順位の値を取得する方法があります。
Sub FindNthLargest()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim values() As Double
Dim i As Integer
Dim n As Integer
Dim temp As Double
' 対象のワークシートと範囲を設定
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A1:A10")
' 配列に範囲内の値を格納
ReDim values(1 To rng.Cells.Count)
i = 1
For Each cell In rng
values(i) = cell.Value
i = i + 1
Next cell
' 配列をソート(降順)
For i = 1 To UBound(values) - 1
For j = i + 1 To UBound(values)
If values(i) < values(j) Then
temp = values(i)
values(i) = values(j)
values(j) = temp
End If
Next j
Next i
' n番目に大きい値を取得
n = 3 ' ここを変更して必要な順位を指定
MsgBox "範囲内の" & n & "番目に大きい値は " & values(n) & " です。"
End Sub
3. LARGE関数が有効な場面
LARGE関数は以下のような場面で有効です:
- テストの点数データから上位の点数を抽出する。
- 売上データから上位の売上額を抽出する。
- スポーツの試合結果から上位のスコアを抽出する。
4. 類似する関数との違い
- SMALL関数: 指定された範囲の中からn番目に小さい値を返します。
- 例:
=SMALL(A1:A10, 1)
はA1からA10の範囲内で最も小さい値を返します。
- 例:
- MAX関数: 指定された範囲の中から最も大きい値を返します。
- 例:
=MAX(A1:A10)
はA1からA10の範囲内で最も大きい値を返します。
- 例:
違い:
- LARGE関数はn番目に大きい値を返すのに対し、MAX関数は単純に最も大きい値を返します。
- SMALL関数は逆にn番目に小さい値を返します。
5. 結び
今回の記事では、LARGE関数の使い方とその実用例、そしてVBAを使った代替方法について説明しました。LARGE関数はデータの分析や上位値の抽出に非常に便利なツールです。
この記事を参考に、エクセルでのLARGE関数の使い方をマスターしましょう!
※ 本記事の内容は、実際にエクセルで操作して確認した上でご利用ください。