ときどき列の中から目的の数値を求める場面に遭遇します。
過去にもVLOOKUP関数で数値を探り当てる方法を紹介してますが、
今回はある数値を指定してそれより小さい次の値を求める方法を紹介します。
◆こんな時
列の中から指定したある値の次に大きい値を取得したい。
◆解決ポイント
関数を使います。
◆解決方法
1)SMALL関数を使う方法。
あまり聞きなれませんが文字操作を行う関数ではありません(笑)
配列内の下位から指定した順番目の値を返す関数です。
COUNTIF関数と組みわせることで目的の値を取得できます。
2)MAX関数を使う方法。
普通に使うと指定範囲全体の中の最大値を取得するのはご存じの通りです。
この関数にINDEX関数を組み合わせて使うことで目的の値を取得できます。
それぞれの式の記述方法を下図に示します。
この例はA列に順不同に入力された値の中からセルB1で指定した値(70)の次に
大きい値を求めるものです。
図のように 70 より小さい中での最大値 68 が取得できました。
A列に同じ値が重複していても正しく取得できます。
またセルB1に設定する値はA列に存在する必要はありません。
例えばセルB1に 69 を設定しても 68 が取得され同じ結果となります。
(説明)
SMALL関数の第二引数(順位)をCOUNTIF関数で指定しています。
因みに COUNTIF(A:A,"<"&B1) の部分はA列にセルB1で指定した値(70)より
小さい値の個数( 7)を意味し順番が 7 番目の値を取得する引数となります。
MAX関数内のINDEX関数でセルB1で指定した値(70)より小さい値のある
配列をMAX関数に返しています。
それぞれの関数のこんな記述をちょっと覚えておくと便利です。
◆「StiLL」のコマンドボタンについて
「StiLL」のセルリンクボタンを使うと上記の結果を引数(パラメータ)に
指定することであなたの手作業をやさしく自動化することができます。
是非「StiLL」体験セミナーへ参加してみてください。
あなたの働き方改革をやさしく支えます!
それではまた来週。