| [1287] エクセルのデータを読み込んで4月1日現在年齢を |
| 投稿者:コビキ |
投稿日:2009/06/10(Wed) 12:31:59 | |
久しぶりの投稿です。 The Card ver.8.0を使っています。エクセル個人データの生年月日の項目に19900205などと数字8桁が半角で記入されているのですが、 エクセル上でいちいち演算するのでなく、The Cardに読み込みを行う際に、The Card上で演算した4月1日現在年齢を表示させたいのですが、そのときの計算式を教えていただけないでしょうか。初歩的なことでスミマセンが宜しくお願いいたします。 |
かわず > かわずです。 >The Cardに読み込みを行う際に、The Card上で演算した4月1日現在年齢を表示させたいのですが、 19900205は、1990/02/05でいいのですよね。
今年の4月1日なら @bday(@madd(@left(項目名,4)'/04/01'))
来年の4月1日なら @bday(@madd(@left(項目名,4)-1,'/04/01'))
でいいのでしょうか。 (2009/06/10(Wed) 23:41:28) |
コビキ > かわず様 ご返信有り難うございます。実は1990/02/05では無く数字8桁(スラッシュ無し)が記入されているのです。 The Card上の計算式は加減乗除程度と数種のプルダウンものしか使えない素人でして、19900205から1990/02/05に変換する方法も知りません。 ちなみに現在の数字8桁の状態で、かわず様から頂いた式を使いましたら年齢は表示されましたが満年齢で、4月1日現在とはならないようなのですが…、お手数お掛けします。 (2009/06/11(Thu) 15:14:51) |
かわず > かわずです。 こんな感じでいいですか?
@bday(@madd(@left(項目名,4)-(@if(@right(項目名,4)<0401,1,0)),'/',@mid(項目名,5,2),'/',@right(項目名,2)))
間違っていたら言ってください。 (2009/06/12(Fri) 00:13:01) |
コビキ > かわず様 スミマセンいただいた式では、1月〜3月が満年齢プラス1才、4月〜5月が満年齢、6月〜12月が満年齢マイナス1才になってしまいました。
数字8桁の 右4桁が0101〜0401なら満年齢 右4桁が0402〜1231なら満年齢マイナス1才 になるのだと思いますが、この式のどこを替えればよいやら判りません。 もう一度渡来してみていただけますでしょうか (2009/06/12(Fri) 22:39:45) |
コビキ > かわず様 スミマセン、もう一度トライしてみていただけますでしょうか (2009/06/12(Fri) 22:41:21) |
かわず > かわずです、あまり意味が理解できず申し訳ない。 これで合っていると思いますが??
@bday(@if(@right(項目名,4)<0401,@madd(@left(項目名,4),'/',@mid(項目名,5,2),'/',@right(項目名,2)),@madd(@left(項目名,4)+1,'/',@mid(項目名,5,2),'/',@right(項目名,2)))) (2009/06/13(Sat) 17:40:49) |
コビキ > かわず様
お手数お掛けしています。 いただいた式を以下のように計算式に記入してみると…
年齢4月1日現在=@bday(@if(@right(生年月日,4)<0401,@madd(@left(生年月日,4),'/',@mid(生年月日,5,2),'/',@right(生年月日,2)),@madd(@left(生年月日,4)+1,'/',@mid(生年月日,5,2),'/',@right(生年月日,2))))
以下の結果になりました。
生年月日 年齢4月1日現在 20000101 9 20000201 9 20000301 9 20000401 8 20000402 8 20000501 8 20000601 8 20000701 7 20000801 7 20000901 7 20001001 7 20001101 7 20001201 7
スミマセン、私のやり方にどこか根本的な間違いがあるのでしょうか。
ちなみにエクセル上では、以下の式を入れて表示できました。
◎20000402から4月1日現在の年齢表示させる
=DATEDIF(DATE(LEFT(A3,4),MID(A3,5,2),RIGHT(A3,2)),DATEVALUE("2009/04/01"),"y")
生年月日 年齢4月1日現在 20000101 9 20000201 9 20000301 9 20000401 9 20000402 8 20000501 8 20000601 8 20000701 8 20000801 8 20000901 8 20001001 8 20001101 8 20001201 8 (2009/06/14(Sun) 00:47:16) |
コビキ > かわず様
スミマセン ◎20000402から4月1日現在の年齢表示させる は ◎生年月日(8桁数字)から4月1日現在の年齢表示させる でした。 (2009/06/14(Sun) 00:51:24) |
かわず > かわずです、頭が固くなってだめですね。 関数@bday(日付)がいたずらしていることに気がつくのが遅いですね、今日以降が1歳減ることに 気がつかなかったので申し訳ない。
@if(@mid(項目名,5,2)>03,@bday(@madd(@left(項目名,4)+@if(@mid(@acday(),6,2)>4,@if(@mid(項目名,5,2)>3,1,0),)-@if(@mid(@acday(),6,2)+1>@mid(項目名,5,2),0,1),'-',@mid(項目名,5,2),'-',@right(項目名,2))),@bday(@madd(@left(項目名,4),'-',@mid(項目名,5,2),'-',@right(項目名,2))))
これでいかがですか?? (2009/06/14(Sun) 14:02:49) |
コビキ > かわず様
休日にもかかわらず、ありがとうございます。 いただいた式を「計算式」に以下のように入れてみますと…
年齢4月1日現在=@if(@mid(生年月日,5,2)>03,@bday(@madd(@left(生年月日,4)+@if(@mid(@acday(),6,2)>4,@if(@mid(生年月日,5,2)>3,1,0),)-@if(@mid(@acday(),6,2)+1>@mid(生年月日,5,2),0,1),'-',@mid(生年月日,5,2),'-',@right(生年月日,2))),@bday(@madd(@left(生年月日,4),'-',@mid(生年月日,5,2),'-',@right(生年月日,2))))
結果は……
生年月日 年齢4月1日現在 20000101 9 20000201 9 20000301 9 20000331 9 20000401 8 20000501 8 20000601 8 20000701 8 20000801 8 20000901 8 20001001 8 20001101 8 20001201 8
となりました。 お陰さまで何とかなりそうです。ただし……
この場合4月1日生まれの人は、民法上そして学校教育法に定められ3月31日午後12時には満年齢に達しており「早生まれ」となります。したがって「4月1日生まれ」は満年齢(この例の場合9歳)。4月2日生まれ以降から1歳減ることになり、学年も新年度の学年になります。
他力本願で申し訳ありませんが 「4月1日生まれ」の箇所を満年齢に訂正していただけますでしょうか。
(2009/06/14(Sun) 20:55:51) |
コビキ > かわず様 コビキです。
いただいた式の最初の部分 =@if(@mid(生年月日,5,2)>03 を =@if(@mid(生年月日,5,4)>0401 としましたら、 4月1日生まれは、9歳(満年齢) 4月2日生まれは、8歳(満年齢マイナス1歳) になりました。
年齢4月1日現在=@if(@mid(生年月日,5,4)>0401,@bday(@madd(@left(生年月日,4)+@if(@mid(@acday(),6,2)>4,@if(@mid(生年月日,5,2)>3,1,0),)-@if(@mid(@acday(),6,2)+1>@mid(生年月日,5,2),0,1),'-',@mid(生年月日,5,2),'-',@right(生年月日,2))),@bday(@madd(@left(生年月日,4),'-',@mid(生年月日,5,2),'-',@right(生年月日,2))))
上記の式でよろしいのでしょうか。 (2009/06/15(Mon) 06:16:04) |
かわず > かわずです、やはり、学校関係の方でしたか
>この場合4月1日生まれの人は、民法上そして学校教育法に定められ3月31日午後12時には >満年齢に達しており「早生まれ」となります。したがって「4月1日生まれ」は満年齢(この例の場合9歳) >4月2日生まれ以降から1歳減ることになり、学年も新年度の学年になります。
何かで読んだことが有りましたが忘れていました、言われて気がつきました。
>いただいた式の最初の部分 「@if(@mid(生年月日,5,2)>03」 >を 「@if(@mid(生年月日,5,4)>0401」としましたら
そうれすね、行けますね 日頃外野がうるさいと大変だと思いますががんばってください。 それでわ (2009/06/15(Mon) 08:28:15) |
コビキ > かわず様 コビキです。
実は、職場のデータはACCESSに収められているのですが、 システムを変更する権限が無く、The Cardに移動して 使っています。
いろいろと煩わせてしまい申し訳ありませんでした。 かわずサンとのやりとりの間に、いろいろと学ばせて 頂きました。 使いやすいThe Card ver.8.0は今後も大切に使ってい きます。 ありがとうございました。 (2009/06/15(Mon) 10:40:34) |
|