• ベストアンサー

エクセルで日付を手入力しているセルの入力月をカウントし、シートがまたがっている場合の足し算の仕方を教えてください。

教えてください。 エクセルで日付を手入力しているセルの入力月をカウントし、シートがまたがっている場合の足し算の仕方を教えてください。 okwebで質問をしたときに、教えて頂いた方法で追加の質問があります。 シートをまたがっているものもあるので足し算をしたいのですが、 なかなかうまくいきません。 足し算の書き方を教えてください。 表示の仕方は、4/1と入力し、ユーザー定義で平成18年4月1日と表示しています。 (例) シート1には、4月と5月のデータがあり、 シート2には、5月と6月のデータがあり、 シート3には、5月と6月と7月のデータがあります。 4月の個数を求める時は、下記の関数でうまく計算出来ましたが、 5月の個数を求める場合は、シート1とソート2を足したものが個数となります。 式の書き方を教えてください。 ■countifを使ってはどうでしょう。   例)A1-A5の範囲の8月の個数を求める場合。    =COUNTIF(A1:A5,">=8/1")-COUNTIF(A1:A5,">=9/1") ■方法はいくつかあります。  #1の方と同じで範囲の計算だと  =SUMPRODUCT(($A$1:$A$100>="2006/08/01"*1)*($A$1:$A$100<="2006/08/31"*1))  ↓過去の質問内容 『A1に申し込み月という項目を作り、 その下に(A2,A3・・・)日付を入力していきます。 例えば、8月2日,8月14日,9月3日とか9月22日,9月28日,9月30 日・・・など 8月が入っているセル、9月が入っているセル、10月が入っているセルの個数をカ ウントするにはどうしたらよいですか。 この例の分ですと、 別のシートに8月は『2』と表示し、(2日・14日分) 9月は『4』と表示したいです。(3日・22日・28日・30日)』

  • foo-m
  • お礼率65% (82/126)

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

  • ベストアンサー
  • boy_boy
  • ベストアンサー率55% (56/101)
回答No.1

こんにちは。 個人的には各シートの作業列に 各月のデータ数を >例)A1-A5の範囲の8月の個数を求める場合。    =COUNTIF(A1:A5,">=8/1")-COUNTIF(A1:A5,">=9/1") のように求めておいて集計用のシートで串刺しさせる と云う方法が良いような気がしますが・・・ 無理やりな一例です。 シート名が「Sheet1,Sheet2・・・・」の場合 Sheet1とSheet2の5月のデータ数 =SUMPRODUCT((COUNTIF(INDIRECT("'Sheet"&ROW(1:2)&"'!A1:A100"),">=5/1")))-SUMPRODUCT((COUNTIF(INDIRECT("'Sheet"&ROW(1:2)&"'!A1:A100"),">=6/1"))) シート名が文字のみとかの場合はもう少し面倒になります。 ※あまりお奨めしません。m(__)m

foo-m
質問者

お礼

早急な回答有り難うございます。 そうですね、集計用シートを用いた方がよいかもしれません。 シンプルできれいですもの。 有り難うございました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例ですが次の方法は如何でしょうか。 ・5月分計数 =SUMPRODUCT((MONTH(sheet1!A1:A10)=5)*1)+SUMPRODUCT((MONTH(Sheet2!A1:A10)=5)*1)+SUMPRODUCT((MONTH(Sheet3!A1:A10)=5)*1)

foo-m
質問者

お礼

早急な回答有り難うございます。 日付の表示の仕方でしょうか。MONTHでうまくいかなく、 =SUMPRODUCT((卒業!$E$4:$E$53>="2006/05/01"*1)*(卒業!$E$4:$E$53<="2006/05/31"*1))+SUMPRODUCT((卒業2!$E$4:$E$53>="2006/05/01"*1)*(卒業2!$E$4:$E$53<="2006/05/31"*1)) というふうにシートの数分ひと月でくくってみました。 これでうまく表示されました。 式を教えていただき、有り難うございました。

関連するQ&A

  • エクセルで日付を手入力しているセルの入力月をカウントするにはどうしたらよいで

    教えてください。 A1に申し込み月という項目を作り、 その下に(A2,A3・・・)日付を入力していきます。 例えば、8月2日,8月14日,9月3日とか9月22日,9月28日,9月30 日・・・など 8月が入っているセル、9月が入っているセル、10月が入っているセルの個数をカ ウントするにはどうしたらよいですか。 この例の分ですと、 別のシートに8月は『2』と表示し、(2日・14日分) 9月は『4』と表示したいです。(3日・22日・28日・30日)

  • Excelで月を跨いだ場合月末を表示させる

    Excelの関数についてですが マクロで使用するために セルに入力した日付の7日後の日付を他のセルに表示させるようにしています。 例: A1に2014/11/17と入力すると A2に2014/11/24と表示 A1に2014/11/24と入力すると A2に2014/12/1と表示 下の例のように現状では単純に7日をプラスするため12/1まで自動計算されてしまうのですが これを入力された日から7日計算してもし月を跨いだ場合その月の月末を表示させるにはA2にどのような計算式を入力すればいいか教えてください。

  • VBA、セルに入力された日付からシート名を変更

    あるセルに日付(例「2014/8/17」)と入力してあり、そのセルから日付を拾い、 日付が入力してあるシートではないシートのシート名を 日だけの名前(例「17日」)に変更したいのですが、どのように考えていいかわかりません。 よろしくお願いします。

  • Excelで違うシートから日付を引っ張ってきたい

    すいませんが教えてください。 EXCELでAのシートとBのシートがあって、 Aのシートに日付を入力していきます。 その日付をBシートに引っ張ってきたいのですが、 ='Aシート'!A2 とBシートのA2に入れると Aシートの空白セルでは 「1月0日」となってしまいます。 空白セルは同じように空白セルにしたいのですが、 やり方がわかりません。 よろしくお願いします。

  • セルへの日付入力で指定期間のみ入力できるようにしたいのです。

    セルへの日付入力で指定期間のみ入力できるようにしたいのです。 2つの方法を知りたいのですが、 一つ目は A11-A12と並んだセルで両方とも任意の日付入力欄となっています。 まずA12に任意の日付を入力した場合A11に入力できる日付をA12より前は打てないようにしたい。 (例)A12に2010/01/20--A11には2010/01/19---× (例)A12に2010/01/20--A11には2010/01/25---○ (例)A12に2010/01/20--A11には2010/02/25---○ 二つ目は 指定のセルに入力当日の前月以前は打てないが入力日(月も)以降は打てる (例)セルへの入力日2010/01/20--実際に入力する任意の日付2010/12/30---× (例)セルへの入力日2010/01/20--実際に入力する任意の日付2010/01/21---○ (例)セルへの入力日2010/01/20--実際に入力する任意の日付2010/02/11---○ こんな制限はできるのでしょうか。 ご教授をお願い致します。

  • excelで今日以降の日付のセルの個数を抽出

    excel関数で列の中に出荷日が記載されています。この列の本日以降の日付の入っているセルの個数を抽出したい。 COUTIF(A1:A20,>2012/4/9)だと6と正確に抽出するのにCOUNTIF(A:A20>=2012/4/9)だと0と表示されてしまう。 実際は、その日その日で確認するためCOUNTIF(A1:A20,>”=TODAY”)といううように日付をいちいち入力しなくても良い様にしたいが、すべて「0」と出てしまう。 どこが悪いのでしょうか。

  • エクセルでデータシートからとんでくる日付の前に「~」を入力したい

    長いタイトルですみません。 ある書式を作っているのですが、データシートを一つ作り、それを他のシートにとんでくるようにしています。 そこで、日付が入るセルがあるのですが、その時に日付の前に「~」をつけたいのです。 (つまり、「2005/5/1」とデータシートに入力したら、他のシートには「~2005年5月1日」と表示されて欲しい。) 前任者が作成した時点で =IF('C'!J10="","","~ "&'C'!J10) という式が入っているのですが、これではうまく表示されないのです。どなたか教えてもらえませんか?それとも、そのようなことは無理なのでしょうか?

  • エクセルのシート間で連続した日付データを作りたい

    オートフィル機能をシート間の串刺しでやりたいと考えています。 現在、日付ごとに1日から31日までの31枚のシートがあります。 1枚目のシートのA1セルに1月1日と入力すると、その後30枚のシートのセルA1にそれぞれ1月2日~31日までの日付が自動で表示できるようにしたいのですが、どのようにすれば楽に処理できるのでしょうか? なお、A2セルには曜日も表示させる予定です。 ご存じの方がいらっしゃいましたら、ぜひお知恵を拝借させて下さい。

  • エクセルでセルをカウントしたい!

    エクセルを使ってある言葉が出てくるセルの数をカウントしたいと 思っています。 たとえば一つのセル、 Aの1に「言葉の数を数えます。」 と文字がはいっていたとして、 これを=COUNTIF(A1:A1,"*数*")とすれば、 出てきた個数ではなく、セルの数として 「1」と返ってくると思います。 これを応用して、 Aの1に「数」と入力されていて、 Bの1に「言葉の数を数えます。」が入っていて、 =COUNTIF(B1:B1,"*数*")で数えるのではなく、 =COUNTIF(B1:B1,"*A1*")としてAの1の文字を 認識させてセルの数をカウントしたいんです。 しかしこれではエラーがでるし、 だからといって =COUNTIF(B1:B1,A1)では0になってしまいます。 どのようにすればA1の文字を参照させセルの数を カウントすることができるでしょうか?

  • エクセルで、セルの日付をシート名にしたい

    セルA1に、別のブックのセルから=の式で引張って来た日付表示のデータ(H19.10.10)が入っています。 その日付を常にそのシート名に反映させるにはどうしたら良いでしょうか?宜しくお願いします。

専門家に質問してみよう