• ベストアンサー

エクセルで日付の判定を行いたい

エクセルで特定の日時の期間内でのカウントを行っているのですが、別のセルに年・月・日を記入する形をとって、各セルの数字を判定して、1月のデータだから、1月にプラス1という計算を行っていますがスマートではありません。 同じセル内で2013/1/1と書かれてもこれは1月のデータだと判定する方法はありませんか?

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

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

>条件が追加されまして、1/21から2/20までが1月のカウントという少し特殊なものになってしまいました。  例えば、元データとなる日付が入力れているセルがA1セルであるものとしますと、1/21から2/20までが1月度であると判定するとして、IF関数の判定式の部分で使うのでしたら、 =IF(MONTH(A1-20)=1,[真の場合],[偽の場合]) となります。  又、2013年の1月度であるか否かで、IF関数の結果を左右させる場合には、 =IF(TEXT(A1-20,"yyyy/m")="2013/1",[真の場合],[偽の場合]) となります。  又、例えばA1~A99の範囲内に2013/1/21から2013/2/20までの範囲内に収まる日時が入力されているセルの個数をカウントするのでしたら、 =COUNTIFS(A1:A99,"<2013/2/21",A1:A99,">=2013/1/21") 或いは =COUNTIF(A1:A99,"<2013/2/21")-COUNTIF(A1:A99,"<2013/1/21") となります。(前の方の条件を"<2013/2/20"にしてはいけませんし、もしも、カウントの対象となるデータが例えば「1/20 8:30」等の様に、時刻のデータも含まれているデータである場合には、"<=2013/2/20"とするのも駄目です)  又、SUMIF関数などで、例えば1行目から99行目にかけての行範囲において、A列に2013/1/21から2013/2/20までの範囲内に収まる日時が入力されている行と同じ行に入力されている、B列の数値の合計を求める、という様な場合には、 =SUMIFS(B1:B99,A1:A99,"<2013/2/21",A1:A99,">=2013/1/21") 或いは =SUMIF(A1:A99,"<2013/2/21",B1:B99)-SUMIF(A1:A99,"<2013/1/21",B1:B99) となります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.5

スマートではないかもしれませんが、A1セルに2013/1/1と書かれている場合。 =IF(MONTH(A1)=1,1,0)

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

>1/21から2/20までが1月のカウントという少し特殊なものになってしまいました。 =MONTH(日付-20) とか =TEXT(日付-20,"MM") で対応できます。 対応列を作りたくないなら =SUMPRODUCT((MONTH(A1:A5-20)=1)*1) または =SUMPRODUCT((TEXT(日付-20,"MM")="01")*1)

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! No.1さんの補足に >条件が追加されまして、1/21から2/20までが1月のカウントという少し特殊なものになってしまいました とありますので・・・ 具体的なレイアウトが判らないので、↓の画像のようにA列にシリアル値で日付が入力されているとします。 D3セルに =COUNTIFS(A:A,">="&D1,A:A,"<="&D2) という数式を入れています。 ※ Excel2003までの場合は =SUMPRODUCT((A1:A1000>=D1)*(A1:A1000<=D2)) としてみてください。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • wtmk9638
  • ベストアンサー率0% (0/1)
回答No.2

MONTH関数を使用して月数をチェックできます。

全文を見る
すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.1

MONTH関数で月を取りだすとか、前年のデータも含まれているならYEAR関数で年も取り出してそれも集計基準に入れちゃうとか… 日付を1セルにしてしまうのはいい事だと思います。

Healthtaro
質問者

補足

素早い回答ありがとうございます。それは日も同時に取り出すことはできますか? 条件が追加されまして、1/21から2/20までが1月のカウントという少し特殊なものになってしまいました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで日付を判定

    勤続年数をカウントしたいのですが、エクセルで毎年1月1日になったら、数字の入ったセルに値をたすような事ってできますでしょうか? 1年目、2年目・・・・みたいにしたいのですがどうでしょうか?

  • エクセルで日付の個数を判定する。

    エクセルでの日付の個数を判定したいです。 具体的には 月日 走行時間 走行距離 平均速度 最高速度 累積距離 10月13日 1:12:14 17.84 14.8 28.2 4,046.3 というようにデータが入っていて、1行1回の走行データが入っています。 なので、月日欄が2行、もしくは3行同じ値がある場合、これを1とカウントし、1日あたりの走行時間、走行距離を計算したいのですが、たまに 07月12日 1:37:35 28.28 17.4 42.0 2,592.2 07月12日 0:13:55 2.33 10.0 19.4 2,594.6 07月13日 1:14:07 21.16 17.1 34.6 2,615.7 というように、1日2回記録がある場合、これを7月12日は1日とカウントしたいのですが、この場合関数などどのようなものを使えばいいでしょうか? データの個数=行数は今のところ235行でどんどん増やしていきたいのですが。 どうかよきアドバイスをお願いします。

  • Excelにおける日付

    仕事用に他部署からデータをExcelでいただいたのですが、1万件近くのデータが入っており、このデータの日付が全て7桁の数値として入力されているため、活用できず困っています。 Excelに詳しい方のお知恵を拝借したく、質問に参りました。 行いたい処理は、Excelのあるセルに「20050301」という7桁の数字が入力されている場合、これを別の1つのセル内に「2005年3月1日」という日付として認識させたいのです。 そういったことはできるのでしょうか? セルの書式で、表示形式をユーザー定義・####年##月##日とすれば、「2005年03月01日」と表示させることは簡単にできますが、そうではなく、7桁の数字を日付として認識させ、日付関数を使って日数の計算をしたいのです。 A1セルに「20040301」、B1セルに「20050301」と入力されているとしたら、これをそれぞれ「2004年3月1日」、「2005年3月1日」と認識させ、その間の日数が365日という結果を算出するのが目的です。 ダイレクトにできなければ、途中にいくつかの列を経由しても構いません。 よろしくお願いします。

  • エクセルで、特定の数字が出た回数をカウントする方法はありますでしょうか??

    いつも、いつもお世話になっております^ ^ エクセルで、特定の数字が出た回数を カウントする方法はありますでしょうか?? データ数が10000以上あるのですが、 その中から特定の数字が出た回数をカウントし、 別のセルにその数値を表示したいと思っております。 例)データ(Aセルに入力)   4   5   2   7   5   5   3   5  としましたら、  5と2を特定の数字とし、  Bセルに5と2が出た回数をカウントする方法は、  ありますでしょうか??  2が1回出現、  5が4回出現していますので、  この場合はB1セルに5と表示できればと思っております。 どなたか知識を分けていただければ幸いです。 よろしくお願いいたしますm(_ _)m

  • エクセル関数について

    エクセルで質問です。 例えば下記の数字全体を検索して 7があったら1と特定のセルに表示 2があったら1と特定のセルに表示 3があったら1と特定のセルに表示 といったように、数字のある数ではなく、 その数字が1つでもあったら1とカウント、 なければ0といったカウントの方法を したいのですが単純なカウント関数では 上手くできません。 どんな関数式を使用すれば良いでしょうか? 7 1 2 3 4 3 2 3 3

  • Excelの計算式の続き

    この前Excelの計算式を教えていただいたのですが、それをしたら、Countする列に文字と数字が一緒に入力するときがあります。そのときには、その文字と数字が一緒になったセルはカウントされません。たとえば、”N122”というように入力したときです。このセルもカウントされるようにする計算式はあるのでしょうか?もしあれば、その計算式を教えてください。

  • エクセルで日付データの比較/判定でカウント

    エクセルで日付データの比較/判定でカウント A1に 2006/2/22 A2に 2006/2/23 ---------- という日付データが入っている。 またc1~c4に c1:2006/2/24+時間  (例2006/2/24 07:18) c2:2006/2/23+時間 c3:2006/2/23+時間 c4:2006/2/22+時間 ---------- という時刻まで含む日付データが入っている。 (処理)A1とC列のデータの日付けが同じものは1つc4だけなのでカウントし1件とその横の B列(B1)にカウント件数を表示したい。 B1に書く式はどのようにすればよいか。よろしくお願いします。

  • エクセル2010、条件付き書式で少し教えてください

    エクセル2010です。 業績進捗表を作っています。 たとえば各月の業績が、     仕入れ  売上げ  利益   利益累計 1月 -300000  500000  200000  200000 2月 -500000  800000  300000  500000 3月 -400000  500000  100000  600000 4月                   0  600000 ←仕入れ・売上を記入するまで見えなくしたい 5月                   0  600000  というふう具合に、毎月、仕入れ額と売り上げ額を記入していき、自動的に利益額を計算する仕組みです。 利益のセルには、仕入れ+売り上げの計算式が入っていて、今月の利益額が計算されます。 同時に利益累計額のセルも順次加算されていく計算式になっています。 しかしこれだと、利益累計の4月以降にもすでに数字が見えてしまいます。 そこで、4月以降のセルの文字は見えないようにしておいて、条件付き書式で、仕入れと売り上げに文字が記入されたら、利益累計セルの文字に色がつくような設定ってできないものでしょうか? いろいろ調べて、特定の文字列でそのセルに色を付ける(日曜日ならセルが赤になるとか)などの、簡単なやり方はわかったのですが、上記のような別のセルの書式を変える、しかも特定の文字列によってではなく「文字が記入されたら」という条件をせっていすることは可能でしょうか? どうぞよろしくお願いします。

  • エクセルのデータから日付を抜き出す方法について

    エクセルで日時を含む値のセルから2ヶ月以内の日付があれば気づけるような仕組みを作ろうとしています。 データの内容は以下のような形です。 aaaaa bbbbb end : 12:59:59 25 Feb japan 2019 ccccc ddddd end : 18:33:42 31 Mar japan 2019 ・ ・ ・ 上記のように一つの列にデータが複数あり、3行目、5行目のような形式で日時が記載されたセルがあります。 aaaaa、bbbbbは日時とは全く関係のないデータです。 LEFTやMID関数で日時を抜き出し、現在の日時より62日以内の数値だけわかるように表示させる。 というようなことを考えましたが、抜き出したデータが日付として認識されなかったりとうまくいきません。 やり方は問いませんので、どなたか知恵をお貸しいただけると幸いです。

  • エクセル、計算式で日付が41330となるのを西暦に

    エクセル2010です。 画像のようなデータがあったとして、 たとえば、「2月のUFJの金額の合計をする」といった計算式を、別のセルに記入したいと思っています。 そこで作業列を作り、ワイルドカードを使った文字列をヒットさせるようにしました。 画像のE列に「=A○&B○」という式の作業列を作り、結果を記載したい目的のセルには、 =SUMIF(E16:E27,"2013年2月*UFJ",D16:D27) としてみました。 しかし、ヒットさせたい"2013年2月"の部分が、標準形式の41330のような表示になってしまい、ヒットしません。 SUMIF式のほうを標準形式にしてみようと思いましたが、どの桁が何月と決まっているわけではないので、ワイルドカードを使って指定できません。 こういう場合、E列を「2013年2月25日UFJ」のように表示させるのは、どうすればよいのでしょうか? アドバイスをいただけると幸いです。よろしくお願いします。 ------------------------------------ ちなみに、SUMIFS関数やSUMPRODUCT関数で実現はできたのですが、データが多くなってくると処理がとても重くなってきます。 またピボットテーブルも考えたのですが、この結果を各種条件で表示させるセルをまず設定してから、そのセルを別の様々な計算式が参照するような連動をするかたちになるので、ユーザーの手で条件を変更するピボットテーブルでは対応できないのでは、とのことから、この方法を試しているところです。

専門家に質問してみよう