戻る  □VBAのサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
日付の表示

    [130225] 日付の表示-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ hako -(2019/04/26(21:22))
    □U R L/

      大変初歩的な質問になるかと思うのですが教えてください。
      どうぞ宜しくお願い致します。

      ユーザー定義
      A1=ggee"年"m"月"
      B2=ggee"年"m"月"

      とセルの書式設定をしてB3に=(A1-A2)+1の数式を入れ
      B3ユーザー定義(M)で月数を出しています。
      例えば
      A1=2018/4/1 A2=2018/5/31なら A3=1です。

      A1=2017/4/1 A2=2018/5/31でも A3=1になります。

      なぜA1=2017/4/1 A2=2018/5/31で A3=13にならないのでしょうか?











    [130226] Re[1]: 日付の表示-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2019/04/27(08:28))
    □U R L/
      セルの書式は見かけを変えるものであって、実体値を変えるものでないことは分かっていますね?
      
      例えば、実体値「1」をどう見たいかは人間の都合によって決まります。
      「1マイル」としたい人もいますし、「1秒」と見たい人もいますし、「1台」と思いたい人もいます。
      
      さて日付の実体値は何なのでしょうか?
      それは、シリアル値と呼ばれ、1900/1/1を1番目と見なす連番です。
      
      質問にあった2つの日付の差は「連番同士の差」であり「何日間か」を算出していると言うことになります。
      
       行  ____A____  ____B____ 
        1  2018/4/1   2018/5/31  見かけ                       
        2     43191       43251  実体値                       
        3                    60  その差は日数                         
        4                        書式がMなら、60をシリアル値に見立てることになり、
        5             1900/2/29←と解釈されるので2(月)となる
        6                                                     
        7                                                     
        8  2018/4/1   2019/5/31  見かけ                       
        9     43191       43616  実体値                       
       10                   425  その差は日数                         
       11                        書式がMなら、425をシリアル値に見立てることになり、
       12             1901/2/28←と解釈されるので2(月)となる
      
       13                                                     
       14  2018/4/1   2019/5/31  どう計算をすればいいのか?
       15                    13  =DATEDIF(A14,B14,"m")        
       16                    14  =DATEDIF(A14,B14+1,"m")      
      
      
      「年月の期間計算」は単純な差し引きで算出することは出来ません。
      
      通常は、DATEDIF関数を利用して以下のような処理をします。
      
      開始日の応当日の到来を以って満とする時は、上記15行目の数式 (誕生日型)
      開始日の応当日の前日の到来で満とする時は、上記16行目の数式。(年齢型)
      
      ただ、月の大小も絡んでくるので、
      「関数の知識」と「期間計算の考え方」の両方が分かってないと本当に正しい対応はできません。
      
      この先は、とりあえず自力で勉強してください。(それでも分からなければ再質問で)




    [130227] Re[1]: 日付の表示-

    記事引用/メール受信=OFF■

    □投稿者/ メジロ -(2019/04/27(08:35))
    □U R L/
      >B3に=(A1-A2)+1
      
      この計算式でなぜ「A3=1」になるのか逆に質問したくなります。
      
      想像ですが表示形式を変更しているので、計算の結果が
      即月数になるとお考えでしょうか?
      日付を計算すると日数になります。
      
      それと計算式ですが「=(A2-A1)+1」でしょうか?
      
      ひょっとして
      
       A3: =DATEDIF(A1,A2,"m")
      
      以下の計算結果は本当でしょうか?
      
      >A1=2018/4/1 A2=2018/5/31なら A3=1です。
      
      >A1=2017/4/1 A2=2018/5/31でも A3=1になります。
      
      




    [130228] Re[2]: 日付の表示-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ hako -(2019/04/27(10:30))
    □U R L/

      GW中に申し訳ありません。半平太様メジロ様ご連絡有難うございます。

      半平太様のお答えいただきました=DATEDIF(A14,B14+1,"m")
      の書き方がわからず
      =DATEDIF(A14,B14,"m") +1とかセルに書きましところ結果に明治・・とかでてきて本当に困っていました。
      教えて頂いた数字が式を 試したところ希望の数字が出てきました。本当に有難うございます。

      メジロ様

      以下の計算結果は本当でしょうか?

      =(A2-A1)+1


      >A1=2018/4/1 A2=2018/5/31なら A3=1です。

      >A1=2017/4/1 A2=2018/5/31でも A3=1になります。

      本当です。

      よくわかないのですが こちらに例えば=DATEDIF..(A1=2018/4/1 B2=2018/8/3)とか入力しても答えは1になります。答えはすべて1です。=(A2-A1)+1とかですとちゃんと数値がでてきます。

      なぜそうなるのか本当にわからないのですが
      別のエクセルに半平太様の式を入力し欲しい答えのエクセルに上書きします。

      お二人とも有難うございました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G