• ベストアンサー
※ 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/7940)
回答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

  • エクセル、COUNTIFS関数の範囲指定について

    エクセル2010です。 「A1の文字列が、B列とC列の中から合致し、さらにD列の"○○"という条件を満たすものはいくつあるか」 という数式を作りたいです。 写真でいうと、B・C列の中から中央区があるかどうか、さらにその中に山田がいるか、という検索式です。 そこで、COUNTIFS関数を使い、fxボタンで半自動で作ったところ、 =COUNTIFS(B:C,A1,D:D,"山田") となったのですが、なぜか結果はエラーになってしまっています。 どうやら検索条件の範囲が「B:C」になっているのが問題なのか、B:BやC:Cだけにすると、ひとつの列なら正常に計算するようです。 そこで式を二つに分け、プラスでつなげてみました。 =COUNTIFS(B:B,A1,D:D,"山田")+COUNTIFS(C:C,A1,D:D,"山田") こうしてみると一応成功しました。 しかし動作が重くなり、処理に数秒かかるようになってしまいました。 (B:Bなどひとつの列なら、数式を記入した瞬間に結果がでます) できれば数式は短くシンプルにしたいので、前述の短い形式のようにならないものか、と思います。 COUTIFS関数で、検索範囲を「○列~△列」のようにできないものでしょうか? アドバイスをよろしくお願いします。

  • Excel2007でCOUNTIFS前ゼロ否定条件

    Excel2007 のCOUNTIFS関数での否定条件の 指定方法について教えてください。 VBAのマクロの中で  (略)  For i = 1 to 10    Cells(i, "B").Formula = "=COUNTIFS(" & "A1:A10, $C$" & i & ")"  Next i   のような形で COUNTIFSを利用しています。    COUNTIFSの条件に <>を使って否定条件を指定したいのですが、以下の  ように期待した動作になりません。     例   A      B       C        D            1 '080  一般品    <>'080      =COUNTIFS(A1:A5,C1)  2 '020  一般品    <>一般品  =COUNTIFS(B1:B5,C2) 3 '040  一般品 4 '060   特別品  5 '080    一般品  セルC1の記述を変えた結果は以下の通りです。       C1      D1      備考 1)  <>'080   5    3 が入ってほしい。 2)  <>080   5    ' の有無で結果は変わらず。     '(シングルクォーテーション)は接頭辞で上記結果には無関係と理解。 3)  "<>'080"   0    "<>'080" 全体を条件値として認識してしまう。 4)  '080      2   当然 5)  <='060    3   当然   ちなみに C2に <>一般品 と条件を設定すると D2には1と期待通りの値が入ります。  1)2) の結果から A列に記述されている'080と セルC1の式に書か  れた '080 が、なぜか別の値と評価され 結果 D1が 5 となっていると理解しています。 A列のシングルクォーテーションは削除、A列の書式を文字列とし 文字列"080"とIF関数で比較すると以下の結果でした。   A    B     B列の式            1 080   FALSE  IF(A1<>"080",TRUE,FALSE)   2 020   TRUE IF(A2<>"080",TRUE,FALSE) 3 040   TRUE IF(A3<>"080",TRUE,FALSE) 4 060    TRUE  IF(A4<>"080",TRUE,FALSE) 5 080    FALSE IF(A5<>"080",TRUE,FALSE)   Excelの「数式」メニュー -「ワークシート分析」-「数式の検証」で C1セルに <>'080 、<>080、"<>'080" 、<='060 を指定した時、それぞれ 1) COUNTIFS(A1:A5,"<>'080")   2) COUNTIFS(A1:A5,"<>080")   3) COUNTIFS(A1:A5,"""<>'080""") 5) COUNTIFS(A1:A5,"<='060")  と評価されています。   また VBAのテクニックを解説するWebなどでは、"<>"と値'080を& でつなげる方法も紹介されていましたが、上記の場合結局 COUNTIFS(A1:A5,"<>080") → 5 と評価されて  しまいます。      文字列同士で比較すれば、期待する結果になりそうですが 条件の書き方には工夫がいりそうです。どのように記述すればよいでしょうか   お知恵をお借りしたくいと思います。どうかよろしくお願い致します。 以上

  • エクセル countifs関数の記述法を教えて

    画像の一覧表から、A列に"○"が付いた行だけについて、75歳~79歳の男性の人数をカウントしたいのですが。 "○"を付けるする前の一覧表については、先の質問(No.8135362)で回答をいただき解決しました。    =COUNTIFS(C2:I6,">=70",C2:I6,"<80",D2:J6,"男") で5人となります。 このたび、A列に"○"を付けた行だけについてカウントする必要になり、次の式を立てましたが、#VALUEがでてしまい、どうにもなりません。    =COUNTIFS(A2:A6,"○",C2:I6,">=70",C2:I6,"<80",D2:J6,"男") countifs関数に、subtotal関数のような機能があればよいのですが、わかりません。 思いつくのは、フィルターをかけた後、その一覧表を、別シートにコピーペーストしてから、最初の式でカウントする方法しか思いあたらないのですが。 実際の表はもっとずっと大きいので、ひとつの関数式でできないものかと思っています。 よろしくお願いします。

  • COUNTIFS関数について

    お世話になります。 3つ以上の条件を含む式の間違いが分かりません。 =COUNTIFS(sheet1!A$1:A$200,E$1,sheet1!C$1:C$200,"2",sheet1!G$1:Q$200,B3) のようなブック内の別シートを3つの条件に合うデータ件数を集計したいのですが、#value!が出ます。 ( )内の3つの条件をばらして、 =COUNTIFS(sheet1!A$1:A$200,E$1) (1) =COUNTIFS(sheet1!C$1:C$200,"2") (2) =COUNTIFS(sheet1!G$1:Q$200,B3) (3) および =COUNTIFS(sheet1!A$1:A$200,E$1,sheet1!C$1:C$200,"2") は、正しく計算できるのですが、なぜか(1)~(3)を一つの式にすると、エラーになります。 何が悪いのでしょうか。

  • エクセルのCOUNTIFSについて

    エクセルで、COUNTIFS ORを使ってカウントした際(例:同一セル内に=COUNTIFS(A)+COUNTIFS(B)で検索等)、該当したセルデータを抽出する方法を教えて下さい。 ※エクセル2016、アクセス2016等 何卒、よろしくお願いいたします。

  • EXCELの計算式(%に応じて点数を割り振る)

    以下のようなEXCELのセルがあります。 A列 任意の数字 B列 任意の数字 C列 任意の数字 D列 C列÷(A列-B列)の結果を、小数点2ケタ以下切り捨て E列 D列の数字を10倍した値 この時、D列、E列にはどのような数式が入るのでしょうか? 関数がよくわかりません。 恐れ入りますが教えて頂けますでしょうか。

  • エクセル countifs関数について

    エクセル countifs関数について 上記を使い、相談受けた内容や人の情報を日付ごとにまとめているデータを集計するやり方です。 その中にあるデータ 男 の数を月ごとにまとめたいのですが、 データは、同じ日なら、同じ列に追記していく形になっているので、 countif(c2:d34,〝男〝)として、 複数範囲 を選択し、男のデータを集計しておりました。 ただ、月ごとに自動で選択されるように h列に month関数で月の値を求めてから、 i列にi2から月の数字として、4~3 の値 入力。 式をcountifs(c:g,〝男〝,h :h,i2) としたところ、エラーとなり、データを求めることができませんでした。 範囲を、複数範囲と列 で設定しているのが、よくないと思うのですが、うまくやる方法ないですかね。 列 と列で揃えるしかないですかねぇ。 もし、よい方法があれば、ご教示ください。 ※データを言葉だけで表現しているので、大変わかりにくくて申し訳ありません。 countifsの考え方を知りたいというのが目的なので、実際の式、データよりは、かなり簡潔にして記載しております。

  • countifsで可能でしょうか?

    非常にも困っているのでご存知の方教えてください。 現在Excel2007のワークシート関数Countifsを使って値を求める作業をしています。(複数条件に合致したセルの数を求める) 以下例です。 ----A-----B-----C-----D-----E-----F-----G 1---1/1---1/1---1/2---1/3---1/4---1/5---1/6 2---○----○----×----○----×----×----× 3---×----○----×----×----×----×----× 4---○----○----×----○----×----×----× 5---○----×----×----○----×----×----× セルA1からG1は日付です。 求めたい事 1、日付が1/1でかつ×のセルの数。 2、日付が1/5以下でか×のセルの数 これがなかなかうまくいきません。 申し訳ありませんが対応方法がお分かりの方、 ご伝授頂けませんでしょうか? よろしくお願いします。

  • EXCELのCOUNTIFSについて

    ある集計表を作っており、「COUNTIFS」の導入を目指して勉強中です。 そこで疑問が生じましたので質問いたします。 例えば、A1のセルに「○」、B1のセルに「×」を打ち、そしてC1には○と×の合計数を数えるために「=COUNTIFS(A1:B1,"○","×")」と入力しましたが、「この関数に対して、少なすぎる引数が入力されています。」と出ます。 このエラーを回避しC1に○と×の合計数である「2」が入るようにすればどうすればよいでしょうか。別にCOUNTIFSには拘りません。もっと良い方法があるのでマクロはわからないので関数を教えてください。 また、私のつたない質問の意味が分からない方の回答はお控えくださいますよう、お願いいたします。

  • Excel COUNTIFSでカウントできません

    Excel2007を使用しています。 複数の検索条件から、データの数をカウントしたかった為、COUNTIFSを使用してカウントしようとしたところ、エラーが返ってきてしまいました。 実際のではありませんが、下記のように記入しました。 =COUNTIFS(A:C,1,D:D,2) SUMPRODUCT((A:C=1)*(D:D=2)) なら、一応やりたいことは出来たのですが、動作が重くなってしまいました。 (面倒がらず列選択せず、きちんと範囲指定すれば別なのかもしれませんが) 何かスマートなやり方があれば、ご教授頂ければと思います。

専門家に質問してみよう