[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『〜以上〜未満でデータを抽出する関数式を知りたい』(さる)
A1セル 10 以上
B1セル 23 未満
A B C D E F
2 参照 番号 データ 順位付け作業 10以上 10以上13未満
3 1 2001 11 11.001 19.001
4 2 2003 9 9.001 15.001
5 3 2003 15 15.001 13.001
6 4 2004 6 6.001 13.001
…
19 17 3007 13 13.001
20 18 3008 19 19.001
C列にあるデータを条件に従ってE列やF列に抽出したいのです。
整列されている方が望ましいので、例では、大きい順に並べてありますが、
必須ではありません。
D列には、D3には、
=IF(C3="","",C3+COUNTIF(C3,C3:C3)/1000)
と入れて、以下コピペしました。
条件が1つの場合は、E列で、E3には、
=IF(ISERROR(LARGE($D$3:$D$20,A3)),"",IF(LARGE($D$3:$D$20,A3)>=A$1,LARGE($D$3:$D$20,A3),""))
と入れて、以下コピペしました。
しかし、F列のように〜以上〜以下としたときに、
3行目や4行目を空白にすることで擬似的に表示することはできましたが、
上からつめて表示させることはできませんでした。
関数式を教えていただけると、大変助かります。
よろしくお願いします。
< 使用 Excel:unknown、使用 OS:unknown >
例.A1が10以上20以下の場合
=if(and(A1>=10,A1<=20),"正","偽")
(田中) 2021/03/22(月) 10:41
>=IF(C3="","",C3+COUNTIF(C3,C3:C3)/1000) ↑ の式、合ってますか? =IF(C3="","",C3+COUNTIF($C$3:C3,C3)/1000) では?
だとして・・・
E3 =IFERROR(AGGREGATE(14,6,$D$3:$D$20/($D$3:$D$20>=$A$1),ROW(A1)),"")
F3 =IFERROR(AGGREGATE(14,6,$D$3:$D$20/(($D$3:$D$20>=$A$1)*($D$3:$D$20<$B$1)),ROW(A1)),"")
下コピー ※ROW(A1)の「A1」はA1セルの値を参照しているのではありません。変更しないように
以上 (笑) 2021/03/22(月) 11:19
A列が「1」からの連番になっているのなら ROW 関数を使わなくても
E3 =IFERROR(AGGREGATE(14,6,$D$3:$D$20/($D$3:$D$20>=$A$1),A3),"")
F3 =IFERROR(AGGREGATE(14,6,$D$3:$D$20/(($D$3:$D$20>=$A$1)*($D$3:$D$20<$B$1)),A3),"")
>F列のように〜以上〜以下としたときに
以下ではなく「未満」で回答しています。
念のため (笑) 2021/03/22(月) 11:27
遅れてすみませんでした。
プレビューで終わっていたみたいです。
ありがとうございました。
(さる) 2021/03/23(火) 11:32
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.