- ベストアンサー
エクセル2000 複数条件検索
エクセル2000を使用しています。 エクセル2000は、COUNTIFS関数が使用できませので同じような条件の 関数を作成するにはどうすれば良いでしょうか。 例 A B C 1 月 9:00 OK 2 水 10:01 NG 3 月 10:36 OK 月曜日9:00~9:59でOKの件数は1件 式 =COUNTIFS(A1:A99, "月", B1:B99, "<10:00", C1:C6, "OK") 結果 1
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
=COUNTIFS(A1:A99, "月", B1:B99, "<10:00", C1:C99, "OK") とします。 B1:B99、C1:C99と範囲は同じにします。 "<10:00"の<は半角とします。
その他の回答 (4)
- MackyNo1
- ベストアンサー率53% (1521/2850)
参考までに No3の方の回答でほぼ正解が出ていると思います、9時台の集計がしたいということなら以下のような数式になります。 =SUMPRODUCT((A1:A100="月")*(HOUR(B1:B100)=9)*(C1:C100="OK")) Excel2007から導入されたCOUNTIFS関数と異なり、上記のSUMPRODUCT関数は配列を使用した数式になっていますので、計算するセルの数(やデータ範囲)が多くなると(今回のケースでは集計に利用しているのでおそらく大丈夫だと思いますが)再計算に時間がかかりシートの動きが重くなることがあります。 一方、データ数が多い場合に補助列に比較的負荷の高いCOUNTIF関数をたくさん(例えば50000行)入力すると、今度は数式でメモリーを大量に消費するため、フリーズするなどの問題が発生することになりますので、例えば集計結果のセルが少ない場合は配列数式を使用するなど、状況に応じて適宜使い分けるようにしてください。
- osekkaidesuga
- ベストアンサー率16% (9/54)
関数だけがExcelではありません、オートフィルターで簡単に結果が出るのではないでしょうか。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 >9:00~9:59で・・・ の条件でデータ内には9時よりも早い時刻はないという前提です。 =SUMPRODUCT((A1:A100="月")*(B1:B100<"10:00"*1)*(C1:C100="OK")) または =SUMPRODUCT((A1:A100="月")*(HOUR(B1:B100)<10)*(C1:C100="OK")) といった具合にしてみてください。 参考になりますかね?m(__)m
- KURUMITO
- ベストアンサー率42% (1835/4283)
計算にも負担にならない方法は分かり易い関数を使った作業列を使った方法です。 時間が1時間単位で検索する場合でしたらD1セルには次の式を入力して下方にドラッグコピーします。 =IF(A1="","",A1&HOUR(B1)&C1) 答えの式は =COUNTIF(D:D,"月9OK") 作業列が目障りでしたら列を選択して右クリックし「非表示」を選択すればよいでしょう。 検索のためにE1セルに 月 、F1セルに 9 G1セルに OK とその条件を入力する場合には =COUNTIF(D:D,E1&F1&G1) なお、作業列を使った方法は最新の関数を使った方法に比べて見かけは格好が悪くともデータが多くなっても計算に負担にならない方法として簡単に対応できる方法として推奨しています。