プロが教える店舗&オフィスのセキュリティ対策術

こんにちは 
エクセルの事 あまりよくわかって無いので
変な質問かも知れませんが困っています。
よろしくお願いいたします。

(1) エクセルで西暦を入れ 和暦を表示したいのです。
   例えば1983(1983年)と入力すると58(昭和58年)と言うように数字のみ表示。
(2) この数字のみ表示和暦 58から4月1日現在の満年齢
   20(20歳)を表示。

こんな事は出来るのでしょうか?
  

A 回答 (4件)

難しいです。


まず、http://arena.nikkeibp.co.jp/qa/other/gaz/oth_68/
にあるようにExcelは日付を1900年1月1日を「1」としたシリアル値で管理していますので、年だけを入力した場合はたとえば1983の場合は1905/6/5と判断されてしまいます。
さらに、(2)の「この数字のみを表示」というのも無理です。入力するセルを隠すことはできませんし、かといって「1983」と入力したセルに「58」と表示させるのは・・・VBAならできるかもしれませんが。


A列に年を
B列には「4」C列には「1」を最初から入力しておきます。
D列に=DATE(A1,B1,C1)と入力します。
E列には=DATEDIF(D1,TODAY(),"y")
これでE列に今年4月1日現在の満年齢が表示されるかと思われます。

D列のセルの書式設定を変更します。
Ctrl+1などでセルの書式設定を開き、ユーザー定義から[$-411]ge;@と入力します。
これでD列の表示は「S58」になります。
B,C列は「表示しない」設定にすることで対処できますが、どうしてもA列とD列は表示しないわけに行きませんでした。
識者の解決法を待ちましょうか。
    • good
    • 0
この回答へのお礼

回答有難うございます。
VBA・・・聞いた事はあるけれど・・・
こんな知識しか無いのに とんでも無く難しい事を質問してしまったようで、反省しています。
教えていただいたようにやって見ましたが 満年齢の方が上手くいきません。私に知識が無いので 
どこか入力ミスがあるのかも知れません。
もう一度チャレンジしてみます。
有難うございました。

お礼日時:2003/04/08 00:15

No3です。


ごめんさい。=DATEDIF(A1,"2003/4/1","Y")でした。
2003/4/1の前後に「"」←を忘れていました。
    • good
    • 0
この回答へのお礼

お手数お掛けして申し訳ございませんでした。
出来ました。(^。^)
有難うございました。

お礼日時:2003/04/08 06:44

(1)については、誕生日を入力しては、いけないのでしょうか?例えば、1983/5/1とかでは、ダメですか?


日付まで入力しないことには、#1.#2の方のような対処をするしかないです。
そこで、例えば、A1のセルに1983/5/1と入力したセルに、【セルの書式設定】から、[表示形式]で、ユーザー定義に[ggge年]と入力すれば、セルには[昭和58年]と表示されます。

(2)については、セルB1に=DATEDIF(A1,2003/4/1,"Y")と入力します。その後、又セルの書式設定の表示形式のユーザー設定で、##"歳"と入力すれば、B1には、20歳と表示されます。
    • good
    • 0
この回答へのお礼

回答有難うございました。
職場で上司から依頼された仕事なんです。途中まで上司が入力しているので、勝手に変えられないのが辛い。
ワードに差込印刷する為に作成しているようです(履歴書)。
誕生年月日を入力させて頂くよう交渉してみます。

アドバイス頂いた年齢表示が上手くいかないのですが
考えられる原因は何でしょうか?
B1に=DATEDIF(A1,2003/4/1,"Y")を入力するとB1セル表示は#NUM!になります。この上で右クリックして
セルの書式設定の表示形式のユーザー設定で、##"歳"と入力したけれど#NUM!のままなんです。
何回チャレンジしても 同じ結果なんです。すいません。 
お手数お掛けしますが 再度アドバイス頂けたら幸いです

お礼日時:2003/04/08 00:35

私の試した方法です。

(間違っていたらごめんなさい)
(1)[A1]セルに「1983/1/1」と入れます。(どうしても日にちを入れないと日付連番(シリアル値)と認識してくれないので。
もし、絶対日付を入れたくないときは(2)[B1]セルに「1983」と入力して、[A1]セルに「=DATE(B1,1,1)」と入力するしか思いつきません)
そして、[A1]セルの「セルの書式設定」で「ユーザー定義」で「e」と入力して、「OK」をクリックします。
これで(1)の方法では入力した[A1]セルに、(2)の方法では[B1]セルに入力すると[A1]セルに「58」が表示されます。
年齢は[C1]セルに「=DATEDIF(A1,DATE(YEAR(TODAY()),4,1),"Y")」と入力すると表示されます。

この回答への補足

回答ありがとうございます
難しいのですね。エクセルの基本すら よく解って無いのが致命的のようで反省しています。
やって見ましたがなかなか上手くいきません。もう一度、入力ミスの無いように やってみます。
ありがとうございました。

補足日時:2003/04/07 23:59
    • good
    • 0
この回答へのお礼

ごめんなさい
補足の所に お礼を書いてしまいました。
失礼をお詫びいたします

お礼日時:2003/04/08 00:38

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