• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:countifsについて(エクセル))

ExcelのCOUNTIFS関数によるデータの数の計算方法と解決策

このQ&Aのポイント
  • ExcelのCOUNTIFS関数を使って特定の条件に合致するデータの数を計算する方法について説明します。
  • 具体的には、a1~a30の範囲から0:00~1:00に該当するデータの数を計算する方法を示します。
  • なお、エラーメッセージが表示される場合の解決策についても説明します。

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

  • ベストアンサー
回答No.1

>=COUNTIFS($a$1:$a$30,">="&$c1,!$a$1:$a$30,"<"&$d1) こんなデタラメなモノに証拠能力はナイ! 本物をコピーしてきナ!!

noritama12
質問者

お礼

説明をわかりやすくするため「!」が余計でした。 改めて見直したところ選択範囲が1つめと2つめで少し違っていたためエラーになっており、再度範囲選択し直したところ問題なくできました。 お手数おかけして申し訳ございません。 回答ありがとうございました。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

お示しの式そのものが間違っていますね。 =COUNTIFS($a$1:$a$30,">="&$c1,!$a$1:$a$30,"<"&$d1) ではありません。!が必要ありません。正しくは =COUNTIFS($a$1:$a$30,">="&$c1,$a$1:$a$30,"<"&$d1) エラー表示が#VALUEとなるには引数に文字列を指定するなど、引数の種類が正しくない場合です。

noritama12
質問者

お礼

大変申し訳ございません。 説明をわかりやすくするため選択範囲等や関数の式を改変したのですが余計に私のミスで余計わかりにくくなっておりました。 ご指摘のとおり、本来の式を改めて見直したところ選択範囲が1つめと2つめで少し違っていたためエラーになっており、再度範囲選択し直したところ問題なくできました。 お手数おかけして申し訳ございません。 回答ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>関数の計算での結果が出ているわけではありません。  : >結果が#VALUEになってしまいエラーになってしまいます。 この2つのご説明がいずれも間違いなく事実なら、考えられる原因はあなたが書いた数式の単純な間違いです。 たとえば関数の前半はA1からA30を計算しているのに、後半はA2からA30までになっていた、といった具合に。 既出回答でも指摘されていますが、 >e1には >=COUNTIFS($a$1:$a$30,">="&$c1,!$a$1:$a$30,"<"&$d1) これはあなたの実際にエラーを出している数式(=「事実」)とは違う、説明のために「こういうつもり」の数式を手で書いただけですね。 実際にエラーを出している「その数式」を手抜きせずあなたのエクセルからコピーしてご相談に掲示していれば、どこが間違えていてどうしたら良かったのか、そのまま使える回答も即座に寄せられます。

noritama12
質問者

お礼

大変申し訳ございません! 説明をわかりやすくするため選択範囲等や関数の式を改変したのですが余計に私のミスで余計わかりにくくなってしまいました。次回からはそのままの式を載せます。 ご指摘のとおり、本来の式を改めて見直したところ選択範囲が1つめと2つめで少し違っていたためエラーになっており、再度範囲選択し直したところ問題なくできました。 お手数おかけして申し訳ございません。 回答ありがとうございました。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

私の環境下ではcountifsは使えないので、別解でご容赦下さい。 内部的な話になりますが、 Excelで時間を扱う場合、一時間を1と換算しています、(前にもこんな事欠いたような気がする) 1分は1/60 1秒は1/3600 振り返って 0時から1時の間とのことですが、 これは「小数点より上の位がゼロ以外の何物でもない」 と、云うことを意味します。 よって、A1:A30について1未満かどうかを調べ 1未満だったものには1を、1以上だったものについては0を付与しておき、 それを集計すれば、幾つ該当したか解る。 と、なるでしょう。 IF文を使ってもSUMPRODUCT文を使っても、はたまた違うものを使っても構いませんが、 こうすれば答えを得られると思います。 回答の1つとしてお試し頂けたなら 必ずやご期待に添えるものと思います。 如何でしょうか? 苦労せず回答を得られないと云うことが、ご不快に当たらない と、信じて構わないでしょうか。 因みにですが、 蛇足ながら、 row()と言う関数をご紹介したく思います。 このまま式中に書けば答えが得られるものです。 返されるものは「そのセルが何行目にあるか」の値です。 A1ならば1,A5ならば5、です。 これはD列に書かれている内容を内部的に一致すると思われます。 加えて、row()から1を引いた値は、C列に書かれた内容と等しくなる気がしています。 つまり、 お示し頂いた描き方が功を奏しており、 A1を判定するE1は、何行目かと問うた場合 それは即ち1であり 当然row()の解も1となります。 A1の内容がrow()-1とrow()の間ならば適合 そうでなければ不適合 と、させられると思われます。 ところで、 何故お示し頂いた式が#VALUEとなりましょうや? 何かヒントをお示し頂けないでしょうか? 恐らくはこの式自体の問題ではなく、 参照範囲に想定外な内容が含まれているのでは? と、疑心暗鬼を禁じ得ないのであります。 お示し頂いたルールに沿わないものや単なるゴミは存在していないでしょうか? … …… ……… あれ? 変なものを式中に見つけました 1つだけびっくりマークが含まれていますが、これは本来の式ならの残骸ですよね? これはただの取り損ねですよね? これを気にしなくても良い…  と、思って構わないですかぁ?

noritama12
質問者

お礼

>>苦労せず回答を得られないと云うことが、ご不快に当たらないと、信じて構わないでしょうか。 もちろんです。 今回、IF、SUMPRODUCTについては、存じておりましたが、row()については存じておりませんでした。 別の提案ありがとうございます。 大変申し訳ございません! 説明をわかりやすくするため選択範囲等や関数の式を改変したのですが「!」が余計に残っておりました。 本来の式を改めて見直したところ選択範囲が1つめと2つめで少し違っていたためエラーになっており、再度範囲選択し直したところ問題なくできました。 お手数おかけして申し訳ございません。 回答ありがとうございました。

関連するQ&A