• ベストアンサー

エクセル2010 両方の条件が真なら、指定のセルを

エクセル2010を使っています。 画像の様なデータがあり、二つの条件に当てはまれば、指定のセルを塗潰したいと思います。 関数による方法はどの様なものなのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=COUNTIFS(B1,">=190",B1,"<=220",C1,">=4900",C1,"<=5100") または =AND(B1>=190,B1<=220,C1>=4900,C1<=5100) または =(B1>=190)*(B1<=220)*(C1>=4900)*(C1<=5100)

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>それを、F1、G1に貼り付けると F1が125 G1が空白になってしまいます。  もしかしますと、貼り付けを行われる際に間違えて、関数の中の「$I:$I」とすべき所が「I:I」となっていたり、「A:A」とすべき所が「$A:$A」となっていたりしている箇所がありはしないでしょうか?

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 指定のセルを塗りつぶす事は関数によって行う事は出ませんので、条件付き書式というExcelの機能の1つを使用する事になります。  その設定方法は以下の様なものになります。 Excelウィンドウの[ホーム]タブをクリック   ↓ A1セルを選択   ↓ 「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に =AND($B1>=190,$B1<=220,$C1>=4900,$C1<=5100) と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた{背景色のサンプルの中にある赤色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄ををクリック   ↓ データを入力する可能性のある行範囲におけるA列のセル範囲(御質問欄の添付画像の例ではA1~A6の範囲)をまとめて範囲選択   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック  これで、二つの条件に当てはまる行のA列のセルが赤く塗りつぶされる様になります。 【参考URL】  よねさんのWordとExcelの小部屋 > Excel2007基本講座 > 条件付き書式(数式を利用する)   http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-jyosyo2.html  又、二つの条件に当てはまる行のデータを抽出する場合には次の様にします。  まず、使用していない適当な列(ここでは仮ににI列とします)の1行目のセル(I1セル)に次の様な数式を入力して下さい。 =IF(AND($B1>=190,$B1<=220,$C1>=4900,$C1<=5100),ROW(),"")  次に、I1セルをコピーして、I2以下に貼り付けて下さい。  次に、E1セルに次の様な数式を入力して下さい。 =IF(ROWS($1:1)>COUNT($I:$I),"",IF(INDEX(A:A,SMALL($I:$I,ROWS($1:1)))="","",INDEX(A:A,SMALL($I:$I,ROWS($1:1)))))  次に、E1セルをコピーして、F1~G1の範囲に貼り付けて下さい。  次に、E1~G1の範囲をコピーして、E列~G列の2行目以下に貼り付けて下さい。  これで、二つの条件に当てはまる行のデータがE列~G列に抽出されます。

gekikaraou
質問者

補足

ご回答ありがとうございます。 A列の条件指定は無事できました! ありがとうございます。 それでE列からの問題なんですが、E1に =IF(ROWS($1:1)>COUNT($I:$I),"",IF(INDEX(A:A,SMALL($I:$I,ROWS($1:1)))="","",INDEX(A:A,SMALL($I:$I,ROWS($1:1))))) を貼り付けたら、125を抜き出してくれたのですが それを、F1、G1に貼り付けると F1が125 G1が空白になってしまいます。 これでどういう現象なのでしょうか?

関連するQ&A