見出し画像

EXCELで、範囲指定した一番右の数値(セル)を返す関数を教えてください。

■答え

INDEX関数、MATCH関数、MAX関数を使うとできます。

■例

=INDEX(B3:F3,MATCH(MAX(B3:F3)+1,B3:F3,1))

【データ前提】
・対象範囲→B3:F3
・対象データ→数値であること(空白セルはOK)
・結果→A列に表示

31_INDEX、MATCH、MAX関数

■解説

ちょっと複雑なので分解して解説しますね。

=③INDEX(B3:F3,②MATCH(①MAX(B3:F3)+1,B3:F3,1))

①MAX(B3:F3)+1
→MAX関数は範囲内の最大値を求めます。
2列目の最大値は200ですので、答えは200となります。
最後に+1の数式がついていますので、200+1=201となります。
※補足
MAX関数で最大値+1とする理由は、仮にD4セルに1,000が入力されても、1,001を取ることができ、次のMATCH関数で1,001以下を検索することで全ての数値データを対象にする為です。


②MATCH(MAX(B3:F3)+1,B3:F3,1))
→先ほどMAX関数の答えを出したので、今回の式にあてはめるとこうなります。
MATCH(201,B3:F3,1))


②MATCH(201,B3:F3,1))
→MATCH関数は対象範囲の中で検索対象のセルの位置がA列から何個目にあるか求めます。今回は201の検索になります。また、数式の最後に1が指定されています。これは検索値以下を検索する指定です。
つまり、今回はデータがC3まで入っていて、全て201以下なので、左から3つ目の数値まで該当(セルが右側の数値が反映)するため、3という答えになります。

まとめると数式はこうなります。

③INDEX(B3:F3,3)
→INDEX関数は対象範囲内の縦何番目、横何番目の位置にあるかセルの位置を求めます。今回は横一列が対象範囲なので縦の指定を省いています。つまり、対象範囲の左から3番目の数値を出してくださいという指示になります。

■使用関数

・INDEX関数
・MATCH関数
MAX関数

いいなと思ったら応援しよう!