• ベストアンサー

期間内の1月1日を数えたい

一度通常の質問に出したのですがわからなかったのでこちらで質問させてください。 エクセルで 任意の開始日 と 任意の終了日 が入力されています。  その期間内で 本日現在で 任意の日たとえば 1月1日が何回あったかの 回数を返してくれる関数を組たいのですが教えていただけますか。 開始日、終了日、本日、任意の日(年はなく月日の指定だけです。文字列の扱いなんでしょうか)の引数かと思うのですが、よろしくお願いいたします。    

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

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.3

開始年月日と,(終了年月日または本日の早い方) の間にあるm月d日の数でいいんですよね? ●入力データ TODAY():今日の年月日 (シリアル値) ymd1:開始年月日 (シリアル値) ymd2:終了年月日 (シリアル値) m:指定の月 d:指定の日 ●途中結果 ymd3=MIN(ymd2, TODAY()):終了年月日と今日の早い方 … 実際の終了年月日 y1=YEAR(ymd1):開始年 y3=YEAR(ymd3):終了年 ymd4=DATE(y1, m, d):開始年の指定月日 ymd5=DATE(y3, m, d):終了年の指定月日 開始年と終了年の間 (両年を除く) のm月d日の回数 n1=IF(y3 > y1, y3 - y1 - 1, 0) ymd4 が範囲に含まれるならば1回,そうでなければ0回と数える. n2=IF(AND(ymd1 <= ymd4, ymd4 <= ymd3), 1, 0) ymd5 が範囲に含まれ,かつ y3≠y1 ならば1回,そうでなければ0回と数える. n3=IF(AND(y3 <> y1, ymd1 <= ymd5, ymd5 <= ymd3), 1, 0) ●最終結果 したがって ymd1 ~ ymd3 の間のm月d日の回数は, n=n1+n2+n3 でどうでしょうか?

kiaitokonjyou
質問者

お礼

ありがとうございます。 早速やってみます。 まだ理解できてませんががんばります。

kiaitokonjyou
質問者

補足

すごいです。 できました。 すっきりしました。 税金の関係で資産の保有期間の関係で 1/1を何回数えたかで税額や扱いが違うものですから 助かりました。 本当にありがとうございます。

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

その他の回答 (3)

  • noocyte
  • ベストアンサー率58% (171/291)
回答No.4

#3 です. 今気付きましたが,m月d日=2月29日だとダメですので念のため.(笑)

kiaitokonjyou
質問者

お礼

おそれいります。 当方まったく気づいておりません でした。 感涙笑謝

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

期間内の1月1日の数を数える →期間は何年かを数える と言う風に考えられたらいかがですか?

kiaitokonjyou
質問者

お礼

シリアル値の引き算で、その期間が何ヵ年何ヶ月何日で、表示で何年を何回とすることは可能なんですが、特定期日が何回あったかを数えたかったので、ちょっと違いが出る場合があります。 NO3の方の方法でやってみます。 ありがとうございました。

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

年がないのにどうやって計算すると言うのでしょうか?

kiaitokonjyou
質問者

お礼

ありがとうございます。 そうなんです、年がないのでわからなかったのですが NO3の方の方法でやってみます。

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

関連するQ&A

  • エクセルで ある期間内の1月1日の回数を数えたい

    よろしくお願いします 開始日 2000/2/1 終了日 2007/1/10 この期間内の 特定日 1月1日の数を数える 関数式を教えていただけますか 答えは 7 なんですが 期間の年数でなく 特定日の 回数を数えたいんです。 よろしくお願いします。

  •  勉強時間の指定期間内の集計をしたいです。

     勉強時間を集計しています。  A列科目、B列開始日、C列開始時刻、D列終了日、E列終了時刻、F列合計のシートです。  集計開始日と集計開始終了日の間の期間だけをJ列の科目ごとにK列に集計したいのです。  日付データで、どのようなネストを組んだらよいかわかりません。  AVERAGEIFSとDATE関数だとは思うのですが。  よろしくお願いします。

  • エクセル関数 月を数える

    エクセルでA列に開始日、B列に終了日があります(yyyy.mm.dd) 月をまたいだら月数をカウントできる関数を教えてください MONTHなど使ってみましたがうまくできません 例えばA列に2000/12/31、B列に2000/1/1でも2ヶ月としたいです よろしくおねがいします

  • 指定した期間の数値をグラフにしたいのですが

    sheet1にセルA列に月日がありB列、C列、D列に数値(50.4等)が入力してあります。 sheet2に任意に選んだ列(BかCかD)の指定した期間内(2月6日から8月26日まで)の入力してある数値をグラフにしたいのですが。 その都度、グラフ化したい月日の範囲を選択して、グラフを作るのではなく、 例えば、A1に(1)(C列)、B1に3月12日、C1に6月29日と入力し 「C列の3月12から6月29日」までの入力されている数値をグラフにし、A1、B1、C1に入力してある月日等をを変えるだけで、別の列の期間の数値をグラフにすることは可能でしょうか? 宜しくお願いします。

  • 期間の入力の仕方

    シート1に名前と期間の始めと終了の日付が入力してあります シート2にカレンダーを作成しており期間開始~終了までの間に名前を表示させたいです。今までは期間が1日だった為作業列を作りVlook関数で作成していました。開始日や終了日は表示できますが間の日付が出来ません 解り難い質問で申し訳ございません。何かいい方法があれば教えていただければ助かります。 シート1      名前    期間始め  期間終わり 2    太郎    2/1     2/5  

  • 基準日から判断し値を表示するには

    任意の日に複数ある会議室を誰が使う予定なのかを表示させたいです。 シート1には氏名と開始日と終了日を記録します。シート2は会議室フロアの平面図です。基準日(デフォルトはtoday)が開始日と終了日の範囲にある場合に氏名を表示させます。該当しなければ何も表示しません。 X1に入る関数を教えて下さい。 シート1 C列:名前 D列:開始日 E列:終了日 シート2 A1:基準日(基本today。任意に変更できる) X1:平面図の中にある会議室

  • 4月1日。本日のガソリンの値段はいくらでしたか?

    4月1日。本日のガソリンの値段はいくらでしたか? こちらの近所では一番安いセルフのお店で、1リットル当たり、 ~3月29日まで 137円 3月30日    135円 3月31日    132円 本日       122円 でした。今日は長蛇の列でした。 お礼は遅くなりますが、よろしくお願いします。

  • 指定した期間の日付生成

    任意の期間(自~至)を指定して、 その間の日付を1日単位で取得したいのですが うまい方法が思いつきません。 こうすれば簡単だというアルゴリズムがあれば 教えてください。 例) 開始日 $start '2005/06/29' 終了日 $end '2005/07/02' というデータがあれば 2005/06/29 2005/06/30 2005/07/01 2005/07/02 を取得したいのです。

    • ベストアンサー
    • PHP
  • VBAでの年齢計算がうまくいきません。

    失礼いたします。  VBAで年齢の計算を行いたいのですがなかなかうまくいきません。 =sub Dim 開始日付 As String Dim 終了日付 As String Dim 年齢 As String 開始日付 = "S54/4/1" 終了日付 = "H22/4/1" 年齢 = "=DATEDIF(開始日付,終了日付,""Y"")" =endsub としても、DATEDIF関数は引数をうまく処理してくれないのです。 エクセル関数を使わずに、年齢を算出するか。 エクセル関数内に引数を代入する方法があれば教えていただけないでしょうか?

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

    エクセル IF関数について 画像のような表があり、進捗の列へ進捗率を入力することで ステータスの列へ”着手中”等の表示をさせたいです。 個々の式は解りますが、組み合わせ方がわかりません。 ご教授をお願いします。 条件 未着手 開始日>本日 かつ 進捗=0% 着手遅 開始日<本日 かつ 進捗=0% 着手中 進捗=1%以上 完了遅 終了日<本日 かつ 進捗=1%以上 完了 進捗100%

このQ&Aのポイント
  • 水風呂は体に良いのか悪いのか、その効果やデメリットについて
  • 30代男性が水風呂について疑問を持ち、体験を元に考察
  • 水風呂の効果は個人差や文化によって異なるが、皆さまの意見を聞きたい
回答を見る