- ベストアンサー
エクセルで抽出条件に合う行を表示させるにはどうしたらよいですか
抽出条件に合う行を表示(抽出)したいのですが、 どのようにしたらよいですか。 条件ですが、 下記の表が有ります。 A列には氏名、B列には今年度金額、C列には、前年度金額を入力しています。 抽出条件は、B列(今年度金額)が0でC列(前年度金額)が5,000以内の行を抽出したいです。 下記の表ですと、木村さんと上田さんと後藤さんと田中さんを抽出したいです。 B列=0 or C列 <=5,000という条件を抽出する方法を教えて下さい。 A B C 氏名 今年度金額 前年度金額 後藤 10000 5000 田中 1000 1250 佐藤 2000 10000 木村 0 3000 上田 0 1000
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
AA AB 今年度金額 前年度金額 0 ="<=5000" と行を変えて設定 「データ」「フィルタ」「フィルタオプションの設定」で 「抽出条件欄」「=$AA$1:$AB$3」としてOKする。 又はD列に 抽出条件 =OR(B2=0,C2<=5000) として下方にコピーしておいて「データ」「フィルタ」「オートフィルタ」で D列がTRUEのものを抽出
その他の回答 (3)
- rin01
- ベストアンサー率43% (33/76)
すみませ~ん。。。 そそっかしいので~。。 質問をよく読んだら、カン違いしていました。。 B列=0 AND C列 <=5,000という条件 ではなくて B列=0 or C列 <=5,000という条件 ですね。。 式を訂正しま~す。。 E1: =IF(SUMPRODUCT((($B$2:$B$10=0)*($B$2:$B$10<>"")+($C$2:$C$10<=5000)*($C$2:$C$10<>"")>0)*1)<ROW(A1),"",INDEX(A:A,SMALL(INDEX(SUBSTITUTE((($B$2:$B$10=0)*($B$2:$B$10<>"")+($C$2:$C$10<=5000)*($C$2:$C$10<>"")>0)*1,0,10^7)*ROW($2:$10),),ROW(A1)))) 更に重くなりそうで、 あまりお勧め出来ないかな~。。。 でした。。。。Rin~♪♪
お礼
早急な回答有り難うございます。 すごい式ですね。勉強になりました。 実際うまくいきました。 いろいろなやり方があるのですね。
- rin01
- ベストアンサー率43% (33/76)
こんにちは~♪ 失礼しま~す。 関数の案です。。。 同シートの E1: =IF(SUMPRODUCT(($B$2:$B$10=0)*($B$2:$B$10<>"")*($C$2:$C$10<=5000))<ROW(A1),"",INDEX(A:A,SMALL(INDEX(SUBSTITUTE(($B$2:$B$10=0)*($B$2:$B$10<>"")*($C$2:$C$10<=5000),0,10^7)*ROW($2:$10),),ROW(A1)))) 下にコピーして下さい。。。 ★データ行があまり多い場合は、 重くなりますので作用列を使った式 が良いと思います。。。 。。。Rinでした~♪♪
- mu2011
- ベストアンサー率38% (1910/4994)
安直ですが、オートフィルタは如何でしょうか。 (1)データ→フィルタ→オートフィルタ (2)前年度金額のリストボタン押下→オプション→5000、以下を選択 (3)今年度金額のリストボタン押下→0を選択
お礼
早急な回答有り難うございます。 そうなんです。私もこのようにオートフィルタを使用してしてみたのです。 そうすると、5000と0の両方をもつものだけを拾ってくるのです。 それで、どうしたらよいかと・・・ どちらか一方あてはまるものというので・・・ オートフィルタって便利ですもの。
お礼
早急な回答有り難うございます。 いろいろなやり方を教えて頂き、ありがとうございました。 下記のやり方が分かりやすくて重宝しました。 有り難うございました。 D列に 抽出条件 =OR(B2=0,C2<=5000) として下方にコピーしておいて「データ」「フィルタ」「オートフィルタ」で D列がTRUEのものを抽出