[[20021210143948]] 『生年月日から計算して小1,小2と表示したい。』(yur) >>BOT

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

 

『生年月日から計算して小1,小2と表示したい。』(yur)

生年月日から計算して小1,小2という風に表示したい。

A列に生年月日があり、B列に下記の通りに表示したい。

 生年月日から計算して、指定した日現在で(たとえば、H15.5.1日現在でというふうに)

 小1、小2、小3、小4、小5、小6、中1、中2、中3、高1、高2、

高3、大1、大2、大3、大4と表示したい。

 なおかつ、それ以外の生年月日なら空白を表示したいのですが・・・、

お手数ですが、ご教示ください。


 適当な範囲に次のデータを入力して「学年」と範囲名を設定します。

 -6	 

  1	小1

  2	小2

  3	小3

  4	小4

  5	小5

  6	小6

  7	中1

  8	中2

  9	中3

 10	高1

 11	高2

 12	高3

 13	大1

 14	大2

 15	大3

 16	大4

 17	 

 -6と17にはスペースを入力します。(6才以下、23才以上を空白表示させるため)

   A          B         C             D

1 No 氏  名 生年月日 学年

2 1 ○● ▼□ H4.12.10 小4

D2に =DATEDIF(C2,TODAY(),"y")-6(年齢から6才引いた年齢)

更に =IF(MONTH(C2)<4,1,0)+IF(MONTH(TODAY())<4,-1,0)(4月までの生れ月の年齢調整)

この2式の和を範囲名「学年の参照値」にします。

D2に入力する式

 =VLOOKUP(DATEDIF(C2,TODAY(),"y")-6+IF(MONTH(C2)<4,1,0)+IF(MONTH(TODAY())<4,-1,0),学年,2)

とすれば、表示されます。

式の構成が判り難ければ、

D2に =DATEDIF(C2,TODAY(),"y")-6

E2に =IF(MONTH(C2)<4,1,0)+IF(MONTH(TODAY())<4,-1,0)

F2に =VLOOKUP(D2+E2,学年,2)

と入力して、D,E列を非表示にしてもよいことになります。

ただし、法令上は4月2日からになっていますが、この計算は4月1日からになります。

 (シニア)


ありがとうございました。

やってみます。

           yur 


これを参考に実際に作ってみたのですが、学年がずれてしまいます。
何故なんでしょうか・・・

kid


 ◆参考になると思いますよ
http://www2.odn.ne.jp/excel/waza/function.html#SEC25
 (Maron)

コメント返信:

[ 一覧(最新更新順) ]


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