[[20160826213707]] 『平成28年○月分を入力すると指定月の日にちを出す』(日にち) ページの最後に飛ぶ

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

 

『平成28年○月分を入力すると指定月の日にちを出す』(日にち)

 またお世話になります。
 以下のように月によって表示させる日にちをだしたいのですが
 よろしくお願い致します。

 現在は、B8に2016/8/1と入力すると表示は平成28年8月分としています。
 (ユーザー定義ggge"年" m"月""分")です。
 G3=IF(B8="","",TEXT(B8," ggge年 m 月")&" 26 日")にして
 平成28年8月26日が表示するようにしています。

 月によって以下のように出来る式を教えていただけないでしょうか。

 B8=2016/9/1の場合  G3=平成28年9月30日 (最終日です)
 B8=2016/10/1の場合  G3=平成28年10月26日
 B8=2016/11/1の場合  G3=平成28年11月26日
 B8=2016/12/1の場合  G3=平成28年12月31日(最終日です)
 B8=2017/1/1の場合  G3=平成29年1月25日

 3月分・6月分・9月分・12月分 は月の最終日
 1月分・2月分・4月分・5月分・7月分・8月分・10月分・11月分 は 26日表示
 よろしくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 あまりよく検証してませんが、↓でいけますか?

 =IF(MOD(MONTH(B8),3)=0,TEXT(DATE(YEAR(B8),MONTH(B8)+1,0),"gggee年m月d日(最終日です)"),TEXT(DATE(YEAR(B8),MONTH(B8),26),"gggee年m月d日"))
(カリーニン) 2016/08/26(金) 21:52

 >B8=2017/1/1の場合  G3=平成29年1月25日

 これは↓の間違いですか?

 B8=2017/1/1の場合  G3=平成29年1月26日

(カリーニン) 2016/08/26(金) 21:56


 (カリーニン)さん 凄いです。。出来ました。
 ありがとうございます。
 >B8=2017/1/1の場合  G3=平成29年1月25日
 これは↓の間違いですか?
 B8=2017/1/1の場合  G3=平成29年1月26日
 申し訳ございません間違えました。

 何度も申し訳ございません。
 もう一つ忘れました。

 C11に工期も入れたいのですが
 B8=2016/9/1の場合  C11=平成28年 8月26日〜平成28年 9月30日
 B8=2016/10/1の場合 C11=平成28年10月 1日〜平成28年10月25日
 B8=2016/11/1の場合 C11=平成28年10月26日〜平成28年11月25日
 B8=2016/12/1の場合 C11=平成28年11月26日〜平成28年12月31日
 B8=2017/1/1の場合  C11=平成29年 1月 1日〜平成29年 1月25日

 よろしくお願い致します。

(日にち) 2016/08/26(金) 22:08


 私の式の意味をヘルプなどを参照して理解するようにしてください。
 そうしたらどう応用したらいいかわかると思います。
(カリーニン) 2016/08/26(金) 22:12

 あと、↓のロジックも提示してください。回答者にロジックを推定させるのはやめましょう。

 B8=2016/9/1の場合  C11=平成28年 8月26日〜平成28年 9月30日
 B8=2016/10/1の場合 C11=平成28年10月 1日〜平成28年10月25日
 B8=2016/11/1の場合 C11=平成28年10月26日〜平成28年11月25日
 B8=2016/12/1の場合 C11=平成28年11月26日〜平成28年12月31日
 B8=2017/1/1の場合  C11=平成29年 1月 1日〜平成29年 1月25日
(カリーニン) 2016/08/26(金) 22:31


 作業セルを使うことをお勧めします。
 1つの年月だけでこうなっちゃったから・・・。
 =TEXT(A1,"ggg") & TEXT(TEXT(A1,"e"),"??") & "年" & TEXT(MONTH(A1),"??") &"月"& TEXT(DAY(A1),"??")&"日"

 ああ、これでよかった。
 =TEXT(A5,"ggg") & TEXT(TEXT(A5,"e"),"??年")  & TEXT(MONTH(A5),"??月") & TEXT(DAY(A5),"??日")
 BJ 2016/8/26 22:35 23:26

(カリーニン)さん本当に申し訳ございません。
 もう一度ご指導下さい。

 先程と同じで
 B8に2016/9/1と入力すると表示は平成28年9月分としています。
 (ユーザー定義ggge"年" m"月""分")です。
 B8=2016/9/1の場合  C11=平成28年 8月26日〜平成28年 9月30日
 B8に平成28年9月分と入力しますとC11に工期間を表示したいのです。
 こちらも先程と同じで月によって違います。

 3月分・6月分・9月分・12月分 はB8の表示月の前月の26日からその月の月末日を

 1月分・2月分・4月分・5月分・7月分・8月分・10月分・11月分 はB8の表示の
 前の月の26日からB8の表示月の25日までです。
 以下が例となります。

 B8=2016/9/1の場合  C11=平成28年 8月26日〜平成28年 9月30日
 B8=2016/10/1の場合 C11=平成28年10月 1日〜平成28年10月25日
 B8=2016/11/1の場合 C11=平成28年10月26日〜平成28年11月25日
 B8=2016/12/1の場合 C11=平成28年11月26日〜平成28年12月31日
 B8=2017/1/1の場合  C11=平成29年 1月 1日〜平成29年 1月25日

 よろしくお願い致します。
(日にち) 2016/08/26(金) 23:33

 BJ さん ありがとうございました。
 入れてみましたが平成28年○月○日のみしか表示されませんでした。

(日にち) 2016/08/26(金) 23:35


 >3月分・6月分・9月分・12月分 はB8の表示月の前月の26日からその月の月末日を

 >1月分・2月分・4月分・5月分・7月分・8月分・10月分・11月分 はB8の表示の
 >前の月の26日からB8の表示月の25日までです。

 ??何か説明がおかしいような気が・・・。

 日付の例示からすると↓ということですか?

 1,4,7,10月はB8の表示の月の1日からB8の表示の月の25日まで

 2,5,8,11月はB8の表示の前の月の26日からB8の表示の月の25日まで

 × 3,6,9,12月はB8の表示の月の26日からB8の表示の月の末日まで
 ○ 3,6,9,12月はB8の表示の前の月の26日からB8の表示の月の末日まで
 ※8/27 0:40訂正

(カリーニン) 2016/08/26(金) 23:50


 なお、
 1,4,7,10を3で割ると余りは1
 2,5,8,11を3で割ると余りは2
 3,6,9,12を3で割ると余りは0
 となります。
(カリーニン) 2016/08/27(土) 00:13

 説明が悪くて申し訳ございません。
 基本は25日で締めるのですが四半期月は月末締めになるのです。

 長くて申し訳ございませんが今年度28年度の例を下記に書かせていただきます。
 平成28年4月分の工期は平成28年4月1日〜平成28年4月25日
 平成28年5月分の工期は平成28年4月26日〜平成28年5月25日
 平成28年6月分の工期は平成28年5月26日〜平成28年6月30日
 平成28年7月分の工期は平成28年7月1日〜平成28年7月25日
 平成28年8月分の工期は平成28年7月26日〜平成28年8月25日
 平成28年9月分の工期は平成28年8月26日〜平成28年9月30日
 平成28年10月分の工期は平成28年10月1日〜平成28年10月25日
 平成28年11月分の工期は平成28年10月26日〜平成28年11月25日
 平成28年12月分の工期は平成28年11月26日〜平成28年12月31日
 平成29年1月分の工期は平成29年1月1日〜平成29年1月25日
 平成29年2月分の工期は平成29年1月26日〜平成29年2月25日
 平成29年3月分の工期は平成29年2月25日〜平成29年3月31日
 よろしくお願いいたします。

(日にち) 2016/08/27(土) 00:22


 >平成29年3月分の工期は平成29年2月25日〜平成29年3月31日

 ↓の間違いですか?

 平成29年3月分の工期は平成29年2月26日〜平成29年3月31日

 ↓で一応できてるようですが、めっちゃ長いです。関数マスターならもっと短くなるとは思いますが・・・。

 =IF(MOD(MONTH(B8),3)=0,TEXT(DATE(YEAR(B8),MONTH(B8)-1,26),"GGGEE年M月D日")&"〜"&TEXT(DATE(YEAR(B8),MONTH(B8)+1,0),"GGGEE年M月D日"),IF(MOD(MONTH(B8),3)=1,TEXT(DATE(YEAR(B8),MONTH(B8),1),"GGGEE年M月D日")&"〜"&TEXT(DATE(YEAR(B8),MONTH(B8),25),"GGGEE年M月D日"),TEXT(DATE(YEAR(B8),MONTH(B8)-1,26),"GGGEE年M月D日")&"〜"&TEXT(DATE(YEAR(B8),MONTH(B8),25),"GGGEE年M月D日")))
(カリーニン) 2016/08/27(土) 00:38

 なんか言葉の説明と例示の日付が合ってませんね。

 > 3月分・6月分・9月分・12月分 はB8の表示月の前月の26日からその月の月末日を
 > 1月分・2月分・4月分・5月分・7月分・8月分・10月分・11月分 はB8の表示の前の月の26日からB8の表示月の25日までです。

 ↑ の説明が正しいのであれば、どの月も開始は前月の26日でしょ?

 そうじゃなくて、B8が「1月、4月、7月、10月」の場合は
 開始が「当月の月初日(1日)」になるってこと?

 C11 =IF(B8="","",TEXT(IF(OR(MONTH(B8)={1,4,7,10}),EOMONTH(B8,-1)+1,EOMONTH(B8,-2)+26),"ggge年m月d日〜")&TEXT(IF(OR(MONTH(B8)={3,6,9,12}),EOMONTH(B8,0),EOMONTH(B8,-1)+25),"ggge年m月d日"))

 こういうこと?

 ついでに最初の質問は

 G3 =IF(B8="","",IF(OR(MONTH(B8)={3,6,9,12}),TEXT(EOMONTH(B8,0),"ggge年m月d日(最終日です)"),TEXT(EOMONTH(B8,-1)+26,"ggge年m月d日")))

 月や日にちが一桁だったら、その前に半角スペースを入れるとか、
 そんなことしなくてもいいんですよね?
(笑) 2016/08/27(土) 01:31 修正 03:23(C11の数式)


  (笑)さんのsC11 =IF(B8="","",TEXT(IF(OR(MONTH(B8)={1,4,7,10}),EOMONTH(B8,-1)+1,EOMONTH(B8,-2)+26),"ggge年m月d日〜")&TEXT(IF(OR(MONTH(B8)={3,6,9,12}),EOMONTH(B8,0),EOMONTH(B8,-1)+25),"ggge年m月d日"))
 でできました。
 遅くなりましたがありがとうございました。
(日にち) 2016/08/28(日) 10:35

コメント返信:

[ 一覧(最新更新順) ]


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