次のようなことをエクセルで算出させるには、
どのような式を作ったらよいのでしょうか?
(1) 満15歳になった後の最初の4月1日を平成何年に迎えるのか
(2) 満22歳に達した後の最初の3月31日を平成何年に迎えるのか
エクセル2000を使用しています。
どうぞよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

>(1) なぜ100を掛けるのでしょうか?


>(2) 401,1,0や331,1,0は、それぞれ数値に置き換えられたものを
日付に再変換させる為のものなのでしょうか?

別に100でなくても、32以上の数値であればほぼ何でもいいです。ただ、月に100をかけて日付を足すと、わかりやすい数値に(4月1日なら401のように)なるため100にしています。つまり、
IF(MONTH(A1)*100+DAY(A1)>401,1,0),
は日付が4月1日より大きい(4月1日より後)なら1を、小さかったら0を
YEAR(A1)+15 に足します。誕生日が4月1日以前なら生まれた年に15を足せばその年が分かりますが、誕生日が4月1日以降であれば更に1を足さないとうまくいかないためです。


>(2)「e」にどのような意味がありますか?

TEXT 関数は数値の書式設定を指定する関数です。
eは和暦の年号に対する年を返してくれます。
その他は、yy で下2桁の西暦年、yyyyで4桁の西暦年、
gggで年号、mで月、dで日付などです。
=TEXT(TODAY(), "gggee年mm月dd日(aaaa)")
のように指定します。詳しくはヘルプに載っていると思います。
ただし、TEXT関数は文字列で値を返すため、数値にしたい場合はVALUEを使います。
    • good
    • 0

前回のNO2の回答の不完全に気づきました。

済みません訂正します。
誕生日と指定月日の後先のことを考慮しました。
A1セルに生年月日の例S30.2.3、B1のセルに「=YEAR(A1)」(結果値は1955)
C1に4月の4、D1に1日の1、E1に=DATE(B1,C1,D1)
F1に=IF(A1>E1,1,0)(結果値は0)で誕生日より後先を0か1に数値化する、
G1に=DATE(B1+10+F1、C1,D1)」とすると(10年先)、
G1には1965/4/1と表示されました。
10年先を色々指定するなら、前回回答後段のようにセル列(H1)を作って、10の代わりに+H1を入れる。
    • good
    • 0

A1セルに生年月日の例S30.2.3、B1のセルに「=YEAR(A1)」、C1に4月の4、D1に1日の1、E1に「=DATE(B1+10,C1,D1)」とすると、E1に1965/4/1と表示されましたが、これでいいのでしょうか。

半信半疑ですがやってみてください。
また10年後の10を人ごとに相対化するためにF1に10をいれ、
E1に=DATE(B1+F1,C1,D1)と式を入れてもOKでした。
E1の年の表現を昭和とかにするのも、書式・セル・日付でもちろん変えられました。
    • good
    • 0

A1に生年月日が入っている状態なら



=VALUE(TEXT(DATE(YEAR(A1)+15+IF(MONTH(A1)*100+DAY(A1)>401,1,0),4,1),"e"))

のような式で満15歳の方は出ます。
平成○年の○の部分の数字だけを出す式です。
おなじく、満22歳の方は

=VALUE(TEXT(DATE(YEAR(A1)+22+IF(MONTH(A1)*100+DAY(A1)>331,1,0),3,31),"e"))

で出すことができます。

この回答への補足

pesoさん、ありがとうございます!

ところが、なぜちゃんと計算ができるのか、
初心者の私には、その仕組みが分かりません。
いくつか質問をさせていただいていいでしょうか?
(1) なぜ100を掛けるのでしょうか?
(2) 401,1,0や331,1,0は、それぞれ数値に置き換えられたものを
日付に再変換させる為のものなのでしょうか?
(2)「e」にどのような意味がありますか?
お手数ですが、よろしくお願いします。

補足日時:2002/03/02 20:02
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで勤続年数、年齢により勤続年数を変える

社員の勤続年数について、エクセルでの計算について知恵を貸して下さい。
基準日は毎年4月1日現在で勤続年数を計算します。ただし、60歳に達した者については、60歳に達した日後の最初の4月1日以降の勤続年数は計算しない。なお、55歳に達した日後の最初の4月1日から60歳に達した日後の最初の3月31日までの勤続年数は実勤続年数の1/2とします。
単純な採用日から4月1日までの計算はDATEDIFを使ってできるのですが、55歳(60歳)に達した日後の最初の4月1日(3月31日)に手こずっております。
よろしくお願いします。

Aベストアンサー

No2です。早生まれの人とそうでない人を区別する必要があるのですね。
参考までに、TEXT関数で誕生日の月と日にちを出して
=TEXT(A2,"mm/dd")*1<("04/01")*1
の式で誕生日が4月1日より前か後か判断できると思います。
55歳最初の4月1日
=IF(TEXT(A2,"mm/dd")*1<("04/1")*1,DATE(YEAR(A2)+54,4,1),DATE(YEAR(A2)+55,4,1))
では回答になりませんでしょうか。

Qエクセルで○歳到達日を出したい

初心者です…。どうか教えてください。

A列に誕生日が入っています。例えばセルA1に入っている誕生日の人が、60歳に
なる日付を算出するにはどういう数式を使えばよいでしょうか?
60歳到達日は誕生日の前日になりますので、例えば昭和22年8月1日生まれの人は
平成19年7月31日に到達、ということになります。

よろしくおねがいします!<(_ _)>

Aベストアンサー

セルA1に

1947/8/1

と入力されているとして、セルB1に

=DATE(YEAR(A1)+60,MONTH(A1),DAY(A1))-1

です。

DATE関数は、

=DATE(年,月,日)

で、"年"、"月"、"日"で指定された日付をExcel標準の『日付シリアル値』(Excel内部で日付や時刻を処理するための数値)に変換します。

YEAR、MONTH、DAY関数はそれぞれ、

=YEAR(日付シリアル値)
=MONTH(日付シリアル値)
=DAY(日付シリアル値)

で、指定された日付シリアル値から、"年"、"月"、"日"を取り出します。

Qエクセルの計算結果が0になってしまいます

エクセルのセルに計算式を入力しても、Σで和を求めようとしても、「0」と表示されてしまい、求めたい計算結果が出ません。
理由と対策について教えていただきたいです。

Aベストアンサー

先に計算式を入力して後から数値を入力したのでは?
画面の下のほうに再計算というのがでていませんか?
でていればF9ボタンを押してみてください。
計算されれば計算方法が手動になっているはずです。
メニューのツール→オプションを選択して計算方法を手動から自動にすればなおります。

Q満18歳以上ってどーゆうことですか??誕生日を迎えて18歳になりました

満18歳以上ってどーゆうことですか??誕生日を迎えて18歳になりました。これは満18歳ですか?それとも18歳になって最初の4月1日を迎えてからが満18歳なんですか??

Aベストアンサー

満年齢は誕生日からその年齢を採用する方式です。
なので18歳の誕生日から満18歳です。

Qエクセルで定年退職日

もし、以前にも似た質問があったらすみません。
エクセルで生年月日から定年退職日を自動的に出したいのですが、どうしたらいいか教えてください。m(__)m
条件は以下の通りです。
(1)満60歳に達する前日が定年応答日。
(2)定年応答日の直近の3,6,9,12月末日が退職日
以上です。
例:1月1日生まれは前年12月31日が定年退職日
  1月2日生まれは当年3月31日が定年退職日
エクセル初心者ですので、できるだけ分かりやすく教えてください。お願いします。

Aベストアンサー

セルA2に"生年月日"が入力されているとして、定年退職日は、

=DATE(YEAR(A2-1)+60,CEILING(MONTH(A2-1),3)+1,1)-1

で求められます。以下、その解説です。

DATE関数は、"DATE(年,月,日)"の書式で、年月日をExcel標準の"日付シリアル値"に変換する関数です。
YEAR関数は、"YEAR(日付シリアル値)"の書式で、"日付シリアル値"で指定された年月日の"年"を求める関数です。
MONTH関数は、"MONTH(日付シリアル値)"の書式で、"日付シリアル値"で指定された年月日の"月"を求める関数です。
CEILING関数は、"CEILING(数値,基準値)"の書式で、"数値"を基準値で切り上げて"基準値の倍数値"に変換する関数です。
(例1:CEILING(4,3)=6、CEILIN(6,3)=6)

"YEAR(A2-1)+60"で、定年応答日の"西暦年"を求めます。
"MONTH(A2-1)"で、定年応答日の"月"を求めます。
"CEILING(MONTH(A2-1),3)+1"で、定年応答日の"月"を3の倍数に変換して定年退職日の"月"を求めた後、1を加算することで定年退職日の翌日の"月"を求めます。(定年退職日が12月の場合13月になりますが、Excelが自動的に"翌年1月"として処理してくれます。)
ですから、回答の式は、
=DATE(定年退職日の西暦年,定年退職日の翌月,1)-1
という形で、一旦、"DATE"関数で定年退職日の翌日の日付を求めたあと、1を減算することで定年退職日を求めています。(定年退職日を直接指定しないのは、大小の月の判別を行うと式が複雑になるためです。)

セルA2に"生年月日"が入力されているとして、定年退職日は、

=DATE(YEAR(A2-1)+60,CEILING(MONTH(A2-1),3)+1,1)-1

で求められます。以下、その解説です。

DATE関数は、"DATE(年,月,日)"の書式で、年月日をExcel標準の"日付シリアル値"に変換する関数です。
YEAR関数は、"YEAR(日付シリアル値)"の書式で、"日付シリアル値"で指定された年月日の"年"を求める関数です。
MONTH関数は、"MONTH(日付シリアル値)"の書式で、"日付シリアル値"で指定された年月日の"月"を求める関数です。
CEILING関数は、"CEI...続きを読む

Q【エクセルで】ゼロを入力すると表示されない→数字を表示させるには?

エクセルについて教えてください。
セルに数字を入力した時に,1以上だとその数字が表示されるのですが
0の時は何も表示されません。
0の時も「0」と表示させたいのですが,どうすれば良いのでしょうか?
(他の人が以前に使っていた表をそのまま引き継いで使っているため
分からなくて困ってます・・・)

Aベストアンサー

N01、No2の方の回答どおりやっても上手くいかない場合は
0表示しないように表示形式を変えてある可能性があります。
その場合は、0表示させたいセルを選択してから、
[書式]-[セル]-[表示形式]-[ユーザー定義]の順に
選び、種類(T)の下の入力欄に“#,##0”のように入力して
OKをクリックします。

ちなみに、#は0を表示しないようにする記号です。

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Qエクセルで、頭に0をつけて数字の桁を揃える方法

エクセルで、必ず5桁の数字を入れる列があるとします。
ところが、数値データとして最初に作っているので、0が頭になく桁が足りない場合があります。
任意文字として5桁の数字にしたいのですが、

何かいい方法はありませんでしょうか?

例)
A列 A列
50      00050
1000  ⇒  01000
11111    11111

どうぞよろしくお願いいたします。

Aベストアンサー

次の方法は如何でしょうか。
(1)表示だけで良いのならば、セルの書式設定→表示形式→ユーザ定義で00000を設定
(2)データとして必要ならば、空き列(仮にB列)B1に=TEXT(A1,"00000")を入力、下方向にコピー→B列をコピー→A列に形式を選択して貼り付けで「値」を選択→OK、B列を削除

Q【雇用保険】賃金支払基礎日数が11日以上とは、、、

【雇用保険】賃金支払基礎日数が11日以上とは、、、

雇用保険の受給資格に賃金支払基礎日数が11日以上ある月が12ヶ月ってありますよね。
(特定受給資格者等の場合は6ヶ月ですが)

その数え方でちょっと混乱しております。
アドバイスお願いいたします。

4/1入社で、9/30に会社都合により退職をしたものがいた場合、、、
賃金の締め日は15日とします

被保険者期間は、離職日から遡って6ヶ月なのですが、賃金支払対象期間と賃金支払基礎日数が下記の通りとします。
(日給制の契約社員)

対象期間 日数
9/16~9/30 10日
8/16~9/15 20日
7/16~8/15 20日
6/16~7/15 20日
5/16~5/15 20日
4/16~5/15 20日
4/01~4/15 10日

この場合は、賃金支払基礎日数が11日以上ある月が5ヶ月しかないので、給付資格は得られないってことになるのでしょうか?
それとも、別の救済方法とかあるのでしょうか?

ご教示よろしくお願いします。

Aベストアンサー

>この場合は、賃金支払基礎日数が11日以上ある月が5ヶ月しかないので、給付資格は得られないってことになるのでしょうか?
それとも、別の救済方法とかあるのでしょうか?

質問者の方は被保険者期間算定期間と賃金支払対象期間とを混同しています。

>対象期間 日数
9/16~9/30 10日
8/16~9/15 20日
7/16~8/15 20日
6/16~7/15 20日
5/16~5/15 20日
4/16~5/15 20日
4/01~4/15 10日

これは賃金支払対象期間です。
受給資格は被保険者期間算定期間が問題になります、被保険者期間算定期間は給与の締め日は関係なく退職日から1ヶ月ずつ遡ります。
つまり

9/01~9/30
8/01~8/31
7/01~7/31
6/01~6/30
5/01~5/31
4/01~5/30

このそれぞれの期間で賃金支払基礎日数が11日以上ある月が6ヶ月以上あるかが受給資格の有無の場合問題になるのです(もちろん6ヶ月しかないので全部の期間で該当しなければ無理ですが)。


人気Q&Aランキング

おすすめ情報