[[20180209102522]] 『年と年度の扱いについて』(まっくん) ページの最後に飛ぶ

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

 

『年と年度の扱いについて』(まっくん)

こんにちわ、いつもお世話になっております、まっくんです。

この度は、VBAではなく、関数でわからないことがあり、ご質問をさせていただきました。

資料を作成した年度と廃棄年をセル表示したいのですが、

1.作成年度は=IF(D3="","",EDATE(D3,-3))でセルE3に年度表記できました。(D3には西暦で2017/1/1とか2018/1/1等を入れます)

2.次に保存期間があります。これはその資料を何年保存するかを入力します。ここは普通に数字を入れます。(セルE3)

3.問題は廃棄年なのですが条件として
 ・2.の「保存期間1年」というこを例としてあげるなら、「平成29年度に作成した資料(2017/4/1〜2018/3/30)は一律平成31年4月に廃棄する」というルールがあります。つまり資料を廃棄する年は全て資料作成年度に縛られるということです。

4.資料を作成したのは「年度」で表示し破棄するのは「年」で表記するという縛りもあります。

私はここを
=IF(D3="","",DATE(YEAR(D3)+E3,MONTH(D3)+1,DAY(D3)))
とか考えていたのですが、うまくいきません。

年度と年が入りましってしまい、ごちゃごちゃになってしまい、私の頭では計算式を作ることができませんでした。

すいませんが、上記の条件にあてはまるような、条件式を書くことは可能でしょうか。

ご教授のほどを何卒よろしくお願い申し上げます。

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


 E3に保存年数だとして

 =IF(D3="","",EDATE(DATE(YEAR(D3)+(MONTH(D3)>3),4,1),E3*12))

 こういうこと?
(笑) 2018/02/09(金) 11:35

 >1.作成年度は=IF(D3="","",EDATE(D3,-3))でセルE3に年度表記できました。

 表記できたとの事ですが、その数式で得られる結果は日付ですよね? 
 それをセル表示形式で年度に見せてている、と言うことですね?

 何故、普通に年度だけ数字で出さないのですか?
 そうすれば、廃棄年度は単に「作成年度+保存年+1」で済むんじゃないですか?

 あと、「4月」っていう情報も必要なんですか?
(半平太) 2018/02/09(金) 11:37

D4に保存年を数字で入れたとして

D5に入れる廃棄年月日は

=yaer(E3)+D4+1 & "/4/1"

でどうでしょうか?

(パオ〜〜ン) 2018/02/09(金) 11:46


 =IF(D3="","",DATE(YEAR(D3)+E3+(MONTH(D3)>3),4,1))

 これでよかったかな
(笑) 2018/02/09(金) 11:55

こんにちわ、まっくんです。
皆様、コメントありがとうございます。

コメントいただきました、関数をやアドバイスを理解するお時間を頂きまして、再度コメントさせていただきます。

ありがとうございます。
(まっくん) 2018/02/09(金) 12:13


 >作成年度は=IF(D3="","",EDATE(D3,-3))でセルE3に年度表記できました。

 ↑ の式をどこに入れてるんですか? E3? だったら保存年数は?

 保存年数がE3、作成年度はF3だとして、作成年度から求めるのなら

 =IF(F3="","",DATE(YEAR(F3)+E3+1,4,1))

 年度は和暦表示ですよね?
 新元号への改元は「2019年5月1日」だったと思いますけど、作成年度はどうするんですかね?

 参考まで
(笑) 2018/02/09(金) 13:00

>半平太様
おっしゃる通りのご指摘です。
ただ、この西暦表示のセルを別のセルでも参照しているため、2つのセルに「西暦」と「和暦で年度」を入力させる手間をユーザーにかけさせないように、しているためです。
言葉足らずで申し訳ございません。
4月は入れないといけないのですが、「4月」は完全固定月のため、書式設定で入れる予定です。

>パオ〜〜ン様
コメントいただきましてありがとうございます。
ただ、求めているものと少し異なっていました。
申し訳ございません。

>(笑)様
>↑ の式をどこに入れてるんですか? E3? だったら保存年数は?
「D3」が西暦表記のユーザーに記載してもらう年月日です(2017/4/1みたいな)
「E3」がおっしゃる通り「=IF(D3="","",EDATE(D3,-3))」です。
すいません、ここも言葉足らずというか、致命的な表記ミスでした。
作成年月(西暦)=D3

新年度は・・・Officeのバージョンアップが控えているので、それに頼る予定です(^^;
年度=E3
保存期間=F3
廃棄年月=G3
です。
申し訳ございません。
(笑)様から頂いた関数をセルの位置等を変えて使用したところうまくいったと思います。

 =IF(D3="","",DATE(YEAR(D3)+F3+(MONTH(D3)>3),4,1))
大変ありがとうございました。

なぜうまくいくのか、特に「(MONTH(D3)>3),4,1)」の部分がどういう意味なのかはこれから調べたいとおもいます。

新元号は・・・オフィスのバージョンアップが控えているので、その更新に期待しています(^^;

(まっくん) 2018/02/09(金) 16:46


 >新元号は・・・オフィスのバージョンアップが控えているので、その更新に期待しています(^^; 

 多分こっちの言いたいことが伝わってないと思うんですけど・・・

 2019/4/1〜2020/3/31は何年度になればいいんですか?

 >=IF(D3="","",EDATE(D3,-3))

 ↑ の式だったら
 2019/4/1〜2019/7/31は「平成31年度」
 2019/8/1〜2020/3/31は、新元号の1年度
 になると思いますけど、それでいいんですか、ということです。

 まだ決まってないんですかね。
(笑) 2018/02/09(金) 17:09

 >「4月」は完全固定月のため、書式設定で入れる予定です。

 具体的にどうするつもりですか?

 表示を「平成31年4月」のようにすればいいのなら
 表示形式〜ユーザー定義 ggge"年"m"月"

 >特に「(MONTH(D3)>3),4,1)」の部分がどういう意味なのかはこれから調べたいとおもいます。 
 
「4,1」の部分だけ言っておきます。

 DATE関数の書式は、DATE(年,月,日)

 廃棄年月の式にあてはめると
 年:YEAR(D3)+F3+(MONTH(D3)>3)
 月:4
 日:1

 つまり「4,1」というのは「4月1日」のことです。

 参考まで
(笑) 2018/02/10(土) 20:07

コメント返信:

[ 一覧(最新更新順) ]


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