• ベストアンサー

今年度は365日のはずなのに、、、

chiezo2005の回答

  • ベストアンサー
  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.1

2月10日から2月1日を引くと9日になりますよね。 それと同じです。 2月10日から1月31日を引けば10日になります。 つまり日の始まり基準で考えているので、 12月31日というのは12月31日の午前零時、つまり12月30日と31日の間の 真夜中の12時になるので、12月31日の一日はカウントされません。

yhyji
質問者

お礼

なるほど、簡単な仕組みですね。どうもありがとうございました。

関連するQ&A

  • ACCESSのAutoKeysマクロでアクションの実行エラーが必ず出る

    ACCESSのAutoKeysマクロでプロシージャを呼び出しているのですが、 そのVBAコードの中に、条件分岐を作っていて その返り値がFalseの時だけ以降の処理を継続させようとしています。 ここでTrueの場合は警告メッセージを出した上で 処理を終えるためVBAでEndと記述しているのですが、 このTrueの際にアクションの実行エラーウィンドウが必ず出て 困っています。(格好悪い) こちらを出ないようにするにはどうしたらいいでしょうか。 もしくはマクロ名で言うAutoKeysのような処理を、マクロを 使わずにVBAだけで記述・実行する方法はありますでしょうか? 長い質問になってしまいましたが、 ご存知のやさしい方ぜひ教えてください。 よろしくお願いします。

  • オーバーフローが発生します

    すみません、どなたか教えて下さい。 下記ソースで、日付の差Date1とDate2の間隔が長くなると「Number:6,Description:オーバーフローしました。」というエラーが出てしまいます。 日付の間隔は30日くらいでもエラーになります。 atime = CLng(DateDiff("n",CDate(Date1),CDate(Date2))) '60で割って100倍後、少数第1位を4捨5入する atime=atime / 60 * 100 atime=Fix(atime + 0.5) なぜエラーになってしまうのか、どなたかアドバイスをお願い致します。

  • VBA dictionary getkeys返り値

    エクセルVBAの話です。 dictionaryオブジェクトのgetkeysメソッドを、 keyが1つも登録されていないときに使ったときに、 返り値をウォッチウィンドウで見ると、 型「Variant/Variant(0 to -1)」 その中身の値「<変数なし>」 と表示されています。 この返り値の挙動が、 プログラムを組む上で便利なので、 自作の関数でも、 同じような返り値を返したいのですが、 どのように値を代入するといいのでしょうか?

  • 検索と置換 vba後、そのまま検索できない

    シートに 2014/1/1 が入力されていて VBAで Sub test() If Not Cells.Find(What:=CDate("2014/1/1"), MatchByte:=False) Is Nothing Then Debug.Print "2014/1/1はあります" End If End Sub を実行すると、"2014/1/1はあります"が返りますが このコードを実行し終わってから、ワークシート画面で検索と置換を開くと、 「1/1/2014」の状態で入っています。 そのまま検索ボタンを押しても、さっきはVBAでは"2014/1/1はあります" だったのに、手作業だと「ありません」になります。 どういうことなのでしょう?

  • EXCEL-VBA の round関数

    EXCEL-VBAで Cells(1, 1) = Round(Cells(3, 3), 0) として、 C3 に28.5 を入力し、上のマクロを実行すると、 A1には、28と表示されてしまいます。 ワークシート関数の =round(c3,0) を他の適当なセルに入力すると、 その返り値は、29 とちゃんとなります。 c3が 28.5001 とかだと両者ちゃんと 29 となります。 これは、VBA関数のバグなりスペックなのでしょうか?

  • 日付を数値型にしたいけどうまくできない

    Sub さんぷる1() Dim testlong As Long testlong = CLng(("2012/12/14")) End Sub をすると、 型が一致しません。になりますが、なぜでしょう? VBAです。

  • Javaアプリケーション実行の返り値を取る方法

    コマンドラインからJavaアプリケーションを実行させて、 成功/失敗の返り値を取りたいのですが。 普通に実行するとmain()を動かすわけですから返り値はvoidで不可能ですよね。 コマンドラインからmain()以外のメソッドを呼び出すとかって可能でしょうか? そのほか何か方法はありますか? ちなみに、batファイルで返り値を判断して、処理を行いたいのですが。 ご存知の方教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • SQLで返り値が空とでる

    SQLで 「返り値(戻り値?)が空」とでる。 Windows7ー64BitでXAMPPの最新バージョンの1.8.1を使ってます。 MyAdminでinsertなどのSQL文を直接実行してできてたのですが、 DreamWeaverでPHPとSQL構築してブラウザで実施してもデータベースに反映されません。 その後再度MyAdminで直接しても反映されなくなりました。 上記のように返り値が空とでてきます。 どのような原因があるか教えいただけますでしょうか。

    • 締切済み
    • PHP
  • or では大丈夫なのにandではダメな理由は?

    or では大丈夫なのにandではダメな理由は? セルA1に2007/10/3を入れ、 2007年ならピンク 2008年なら黄緑 とやろうとして、2つのマクロを作りました。 Macro1では正常に動作するのですが Macro2を実行すると2007/10/3なのに、黄緑になってしまいます。 2008/10/3でMacro2を実行すると何も動きません。 Macro1とMacro2の違いは「or」と「and」の違いだけです。 Sub Macro1() If 39081 >= CLng(Range("a1")) Or CLng(Range("a1")) <= 39447 Then Range("a1").Interior.ColorIndex = 38 ElseIf 39448 >= CLng(Range("a1")) Or CLng(Range("a1")) <= 39813 Then Range("a1").Interior.ColorIndex = 4 End If End Sub Sub Macro2() If 39081 >= CLng(Range("a1")) And CLng(Range("a1")) <= 39447 Then Range("a1").Interior.ColorIndex = 38 ElseIf 39448 >= CLng(Range("a1")) And CLng(Range("a1")) <= 39813 Then Range("a1").Interior.ColorIndex = 4 End If End Sub 「and」なら2007/1/1より大きい なおかつ 2007/12/31より小さい と思い、最初はMacro2を作りましたが、うまくいかない為Macro1を作りました。 でも 「or」だと、2007/1/1より大きい もしくは 2007/12/31より小さい ですよね? 2008/1/1でも「2007/1/1より大きい もしくは 」にヒットしてしまうため、 andにしたのですが、なぜandではうまくいかないのでしょうか? よろしくお願いします。

  • PythonからPhotoshopスクリプトを実行

    PythonからPhotoshopスクリプトを実行し、返り値をもらうにはどうすればよいのでしょうか。 Pythonは2.x OSはWindows7 PhotoshopはCS4です。 やりたいこととしては、Photoshopと、ほかにもう一つ外部アプリケーション(MayaというCGのソフトです)を連携させたいと考えています。具体的には、Photoshopで保存した画像をCGソフトのほうで適用させたいです。 Photshopの返り値:セーブされた画像のフルパス Photoshopのスクリプトは.jsxで保存されています。 よろしくお願いいたします。