指定した値より小さいデータだけをまとめて抽出する

下図の左側にあるデータの中で、最低点が70より小さいデータのみを抽出したい場合。

0606

1回で抽出できなくても良いならば、例えば空いている列に70より小さい場合は[1]とフラグを立てるようにIF関数を入力し、オートフィルタで[1]の行を抽出、それをコピーして別シートにでも貼り付ければ出来上がります。

ただ毎回データが変わるとなると、この手間を繰り返さないといけないので面倒です。

データが変わっても常に抽出できるようにしておきたい場合は以下の関数で出来ます。

上図でいうと[L2]に以下の関数を挿入し、配列のため[Ctrl+Shift+Enter]で確定します。
式の前後に{}が付きます。

=IFERROR(INDEX(A$1:A$10,SMALL(IF($C$1:$C$10<70,ROW($A$1:$A$10)),ROW(A1))),"")

下方と右方へオートフィルコピーすれば出来上がりです。

 

【時間の場合】

抽出したいデータが時間の場合は上記の式ではうまく対応できません。

以下のように変更します。

=IFERROR(INDEX(A$1:A$10,SMALL(IF($C$1:$C$10<"8:30"*1,ROW($A$1:$A$10)),ROW(A1))),"")

[Ctrl+Shift+Enter]で確定します。

時間を[""]で囲むのと[*1]をして文字列になってる時間を数値に戻します。

 

 

 

 

 

 

 

 

 

 

 

サンプルファイル