範囲指定した一番右の数値(セル)を返す関数は?
この記事では、Excelで範囲指定したセルの中で「一番右の数値」を返す方法について解説します。特に、右側のセルにある数値を取得したい場合、いくつかの方法があります。
方法1: INDEX関数とMATCH関数を使う
範囲内の一番右の数値を取得するためには、INDEX関数とMATCH関数を組み合わせる方法が有効です。この方法では、MATCH関数を使って範囲内で最後の数値がある列番号を特定し、その列番号をINDEX関数で指定して値を取得します。
INDEX関数とMATCH関数の使い方
まず、MATCH関数を使って、範囲内で最も右にある数値が入力されている列番号を特定します。次に、その列番号をINDEX関数に渡して、最も右側の値を取得します。
構文は次のようになります:
=INDEX(範囲, 行番号, 列番号)
ここで、MATCH関数を使って最も右側の列番号(以下の例ではA→1、B→2です)を求めます:
=MATCH(1E+30, 範囲)
この1E+30の数値は「非常に大きな数」であり、Excelの数値の範囲内で最も大きい数値に近い値です。MATCH関数は、この数値を基に、指定した範囲の中で「1E+30以下の最後の数値」を検索します。これにより、範囲内で最も右にあるセルの数値を返すことができます。
例: 範囲内の一番右の数値を取得する
以下の表を使って、範囲A1:D1の中で一番右にある数値を取得する方法を見てみましょう。
A | B | C | D | |
---|---|---|---|---|
1 | 10 | 20 | 30 | 40 |
この表では、セルA1からD1に数値が入力されています。もし、範囲A1:D1の中で最も右にある数値を取得したい場合、次の式を使用します:
=INDEX(A1:D1, 1, MATCH(1E+30, A1:D1))
この式は、範囲A1:D1で最も右にある数値、つまりD1に入力されている「40」を返します。
注意点
- 行番号、列番号は範囲内での位置(相対位置)です。エクセル全体から見た位置(絶対位置)ではありません。
- 範囲がB2:D2では、B2にあたる位置は1,1です。2,2ではありません。
方法2: LOOKUP関数を使う
次に、LOOKUP関数を使用する方法をご紹介します。この方法は、範囲内で最も大きな数を検索して、その値を返す仕組みです。
LOOKUP関数の使い方
LOOKUP関数は指定した検索値を範囲内で検索し、その値に対応する結果を返します。範囲内で数値が昇順に並んでいる場合、最も大きい数値を検索することができます。
構文は次のようになります:
=LOOKUP(検索値, 範囲)
ここで、検索値に「1E+30」を使用します。1E+30はExcelが扱える非常に大きな数であり、これを使って最も右側の数値を検索します。
例: LOOKUP関数を使って範囲内の一番右の数値を取得する
以下の表で、範囲A1:D1の中で一番右にある数値を取得する例を見てみましょう。
A | B | C | D | |
---|---|---|---|---|
1 | 10 | 20 | 30 | 40 |
この表では、セルA1からD1に数値が入力されています。もし、範囲A1:D1の中で最も右にある数値を取得したい場合、次の式を使用します:
=LOOKUP(1E+30, A1:D1)
この式は、範囲A1:D1で最も右にある数値、つまりD1に入力されている「40」を返します。
まとめ
範囲内の一番右の数値を取得する方法として、INDEX関数とMATCH関数、またはLOOKUP関数のいずれかを使用できます。INDEXとMATCH関数の組み合わせは、より柔軟な使い方ができ、複雑な範囲にも対応できます。LOOKUP関数は、範囲が昇順である場合に簡単に使用できる方法です。
使用した関数について


