[[20190927161235]] 『9/2~10/1の様に各月の1カ月分を1年間表示させたax(みう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『9/2~10/1の様に各月の1カ月分を1年間表示させたい』(みう)

■タイトル
【9/2~10/1の様に各月の1カ月分を1年間表示させたい】

みうです。
会社で研修生の実習記録を作っているのですが、
表題の表を作成したいです。

具体的には下記の様な表の作り方を、
教えていただけますでしょうか。

入国日(2019/9/2)を入れると下記の日付が全て反映されるもの作りたいです。


タイトル:9月分
9/2←1つのセル内に日付を表示
9/3←9/2の真下のセルに次の日付を表示
9/4

10/1

タイトル:10月分
10/2
10/3
10/4

11/1

タイトル:11月分
11/2
11/3
11/4

12/1

宜しくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 2日〜翌月1日を表示したいってこと?

 A2セルに2日の日付を入力

 A3 =IF(A2="","",IF(DAY(A2)=1,"",A2+1))

 表示形式を「日付」にして、A32までコピー

 以上です
(笑) 2019/09/27(金) 16:53

笑さん

返信ありがとうございます。
9/2→10/1
の場合は上手くいきました!!!

ただ

この日付は研修生の入国日によって変動するものでして、
入国日が2/21の場合は3/1でとまってしまいました。

2/21→3/20

としたいです。

つまり、入国日が変動しても、正しく次の月の前日分まで表示するようにしたいです。

ご教示願います。

(みう) 2019/09/27(金) 17:15


 その入国日というのは、月初から月末まで何でもありってこと?

 では、入国日が 2019/1/31 なら何日まで表示すればいいんですか?

 以上、確認だけ
(笑) 2019/09/27(金) 17:38

入国日はなんでもありです。

入国日が 2019/1/31なら年単位で言えば、2020/1/30までの表を作成させたいです。

月単位では

1/31 - 2/27
2/28 - 3/30
3/31 - 4/29

といったように表示させたいです。

(みう) 2019/09/27(金) 17:53


 入国日が 2019/10/1 なら 2019/10/31 までってこと?

 A2セルに入国日

 A3 =IF(A2="","",IF(A2=IF(DAY($A$2+1)=1,EOMONTH($A$2,1),EDATE($A$2,1))-1,"",A2+1))

 表示形式「日付」で、A32までコピー

 こういうこと?

 >年単位で言えば
 何ですか、それ?

 A2が 2019/1/31 なら
 A366:2020/1/30 まで

 A2が  2019/2/28 なら
 A367:2020/2/28 まで

 A2が 2020/2/29 なら
 A366:2021/2/27 まで 

 ということ?
(笑) 2019/09/27(金) 18:54

来日日が29日、30日、31日のときはどのようにしていますか?
特に2月3月を経た時の話です。
なるべく同一日を先頭に持ってくるのか
(30日先頭の場合、1/30〜2/28,3/1〜3/29,3/30〜4/29)
3月以降は1日〜末日に変えてしまうか
(30日先頭の場合、1/30〜2/28,3/1〜3/31,4/1〜4/30)
あるいは違う区分にするか
(黄色い循環参照) 2019/09/27(金) 21:17

すみません。すでにありました。
28日以降が初日のときは2月は28日〜来日日-1と書いてありましたね。
失礼しました。
(黄色い循環参照) 2019/09/27(金) 21:24

A2セルに入国日
 A3 =IF(A2="","",IF(A2=IF(DAY($A$2+1)=1,EOMONTH($A$2,1),EDATE($A$2,1))-1,"",A2+1))
 表示形式「日付」で、A32までコピー

N9=2019/9/2を入国日として、上記の通り設定しました。

=IF(N9="","",IF(N9=IF(DAY($N$9+1)=1,EOMONTH($N$9,1),EDATE($N$9,1))-1,"",N9+1))

N9が9/3となりましたが、下にドラッグしても、
空欄がとなりました。

9/4と続けたいのですが、続きませんでした。
どなたかご教授いただけますと幸いです。

(みう) 2019/10/02(水) 16:30


 その前にちょっと確認。色々書かれていて追い切れないので。

 (2月末が28日の場合)  1/31→2/27 ですね。
            1/30→?  これはどうなりますか?

(半平太) 2019/10/02(水) 17:33


 >=IF(N9="","",IF(N9=IF(DAY($N$9+1)=1,EOMONTH($N$9,1),EDATE($N$9,1))-1,"",N9+1)) 
 >N9が9/3となりましたが、下にドラッグしても、 
 >空欄がとなりました。 

 やってみたところ、10/1まで出てきましたけど?

(半平太) 2019/10/02(水) 17:48


半平太様

ありがとうございます。

1/31→2/27 
1/30→2/26です。

ドラッグして次のセルが下記になります。日付がズレて、空欄になりました。
=IF(N10="","",IF(N10=IF(DAY($N$9+1)=1,EOMONTH($N$9,1),EDATE($N$9,1))-1,"",N10+1))

(みう) 2019/10/02(水) 18:08


 >N9=2019/9/2を入国日として、上記の通り設定しました。 
 >=IF(N9="","",IF(N9=IF(DAY($N$9+1)=1,EOMONTH($N$9,1),EDATE($N$9,1))-1,"",N9+1)) 
 >N9が9/3となりましたが、下にドラッグしても、空欄がとなりました。 
   ↑
 N9セルに9/2(入国日)を入れたんですから、
 N9セルが9/3になるハズがないです。

 この数式は、N10セルに入れるべきものですが、そうしていますか?
  ↓
 =IF(N9="","",IF(N9=IF(DAY($N$9+1)=1,EOMONTH($N$9,1),EDATE($N$9,1))-1,"",N9+1)) 

 ーーーーーーーーーーーーー

 >1/31→2/27  
 >1/30→2/26 です。

  実に分かりにくいルールに思えます。
 そうなると

 1/31→2/27  
 1/30→2/26
 1/29→2/25  ←ですか?
 1/28→2/27 ←ですか?

 以下なら(法律上のルール)分かるんですけどねぇ。

 2/2 →3/1
 2/1 →2/28
 1/31→2/28  
 1/30→2/28
 1/29→2/28
 1/28→2/27

 そちらのルールに、私はついて行けませんのでこれまでとします。

 因みに、上の数式は、1/30の時 2/27になります。(参考まで)

(半平太) 2019/10/02(水) 19:18


各月の初日は翌月の末日と翌月の同一日を比較した小さい方にして
各月は少なくとも28日以上はあるので28日分は1つ上のセルに+1,
29日目以降は翌月の初日と比較してある、なしを判断したら良いと思います。
(mori) 2019/10/02(水) 20:48

もう少し補足すると、2月を経由するとエラーが起きてしまうので
各月の初日の計算はすべて起算日を基準に月の値を+1,+2,+3...+12としていくのがベターです。
(+12を使用するのは最終月の29日目以降の計算だけですが)

(mori) 2019/10/02(水) 21:15


(みう) 2019/10/02(水) 18:08
この投稿をよく見ていませんでした。
私の思い込みでは
1/28→2/27
1/29→2/27
1/30→2/27
1/31→2/27
になるものとばかり考えていました。
これは考え直さなくてはいけませんね。
(mori) 2019/10/02(水) 21:42

すいません。私も混乱してきました。
一度整理して改めて、アップします。

ご返信していただいた方々誠にありがとうございました。
(みう) 2019/10/11(金) 09:17


ん?

期間開始日の翌月の日数-期間開始日の当月の残り日数

分を1ヶ月として表示なんですかね?
(まっつわん) 2019/10/11(金) 10:05


まっつわん様

すいません、それはよく分からないのですが、
下記の様に表示したいです。

入国日=N9
日付=G15

上記で?@になるような数式を作りたいです。


?@1/31 - 2/27(28)でも構いません。
?A2/28 - 3/30
?B3/31 - 4/29
(みう) 2019/10/11(金) 10:22

まっつわん様

すいません、それはよく分からないのですが、
下記の様に表示したいです。

入国日=N9
日付=G15

上記でAになるような数式を作りたいです。
A.1/31 - 2/27(28)でも構いません。
B.2/28 - 3/30
C.3/31 - 4/29

(みう) 2019/10/11(金) 10:24


 スタートが末日の場合は、翌月末の前日がエンドになる、と言うことですね。

 残る問題は、大の月で末日じゃないが、翌月に応当日がない場合

   スタート エンド
 例:  1/31  -  2/27(確定)
       1/30 - ?
    1/29 - ?
    1/28 - ?

(半平太) 2019/10/11(金) 11:22


以前教えて、いただいた

下記のルール(法律上のルール)で構いません。
数式として1年間分が作れるルールであれば大丈夫です。
よろしくお願いします。

 2/2 →3/1
 2/1 →2/28
 1/31→2/28  
 1/30→2/28
 1/29→2/28
 1/28→2/27
(みう) 2019/10/11(金) 11:43

 >下記のルール(法律上のルール)で構いません。

 ごめんなさい m(__)m

  民法のルール(初日不算入)そのものではなかったです。
 「年齢の計算に関する法律」に則った場合です。(初日を参入する)

 それでよければ、

 >入国日=N9 
 >日付=G15 

 G15セル =EDATE(N$9,1)-(DAY(EDATE(N$9,1))=DAY(N$9))

 <結果図>

  行 __G__ _H_ _I_ _J_ _K_ _L_ _M_ __N__
   9                               1/30 
  10        
  11        
  12        
  13        
  14        
  15 2/28   

(半平太) 2019/10/11(金) 13:09


説明が下手ですいません。

このような図を作成したいです。

<結果図>

  行 __G__ _H_ _I_ _J_ _K_ _L_ _M_ __N__
   9                               1/30 
  10        
  11        
  12        
  13        
  14        
  15 1/30
 16 1/31
  17 2/1
  18 2/2
  19 2/3
     ...
     2/28

この時のG15の数式で残りはドラッグで日付が出来上がれば助かります。

(みう) 2019/10/11(金) 15:19


 (1) G15セル =N9

 (2) G16セル =IF(G15="","",IF(G15+1>EDATE(G$15,1)-(DAY(EDATE(G$15,1))=DAY(G$15)),"",G15+1))
   下にコピー

 <結果図>
  行 __G__ _H_ _I_ _J_ _K_ _L_ _M_ __N__
   8                                    
   9                               1/30 
  10                                    
  11                                    
  12                                    
  13                                    
  14                                    
  15 1/30                               
  16 1/31                               
  17 2/1                                
  18 2/2                                

(半平太) 2019/10/11(金) 15:50


できました、次月の数式はどうすればいいでしょうか。
(みう) 2019/10/11(金) 15:56

次月は

入国日の翌月=N59

日付=G65

以上です。
(みう) 2019/10/11(金) 15:59


 (1) N59セル =LOOKUP(99999,G41:G47)+1

 (2) G65セル =IF(ROW()=65,N59,IF(G64="","",IF(G64+1>EDATE(G$65,1)-(DAY(EDATE(G$65,1))=DAY(G$65)),"",G64+1)))
   下にコピー

(半平太) 2019/10/11(金) 16:10


すいません、LOOKUP(99999,G41:G47)+1が上手くいきません。
こちらどういった意味の数式になりますか。

(みう) 2019/10/11(金) 16:13


 >LOOKUP(99999,G41:G47)+1が上手くいきません。 
 >こちらどういった意味の数式になりますか。 

 G41:G47の範囲で一番下にある日付に1日加算した日、
 つまり、次の月のスタート日です。

(半平太) 2019/10/11(金) 16:17


入力してもエラーがでます。
(みう) 2019/10/11(金) 17:36

 G41:G47の範囲にどんなデータがありますか?

 私は方は以下の様になっていますけど

 <結果図>
  行  __G__  _H_  _I_  _J_  _K_  _L_  _M_  _N_
  41  2/25                                    
  42  2/26                                    
  43  2/27                                    
  44  2/28                                    
  45                                          
  46                                          

  57                                          
  58                                          
  59                                       3/1
  60                                          

  64                                          
  65  3/1                                     
  66  3/2                                     

(半平太) 2019/10/11(金) 17:41


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.