- ベストアンサー
元号を数字で表示したい
いつもOKWAVEを参考にさせていただいています。ありがとうございます。 イベント参加者のリストを作成しており、参加者の誕生日の元号を番号で表示したいです。 昭和 → (1) 平成 → (2) 元のデータは西暦です。1989年1月8日より前の誕生日の人に(1)、以降の誕生日の人に(2)と振りたいのですがどうしたら良いでしょうか。 アドバイスいただけますようよろしくお願いいたします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
いろいろあるでしょうが、データがA1セルにあるとして、 =IF(A1<DATEVALUE("1989/1/8"),"(1)","(2)") とか =IF(A1<"1989/1/8"*1,"(1)","(2)")
その他の回答 (6)
- msMike
- ベストアンサー率20% (364/1804)
[No.3]の補足 》 1989年1月8日より前の誕生日の人に… 言わずもがなのことと承知しつつ、申し添えておきます。 昭和は、1926/12/25~1989/01/07(シリアル値は 9856~32515) 平成は、1989/01/08~2019/04/30(シリアル値は32516~43585) 令和は、2019/05/01~_____(シリアル値は43586~___) つまり、私の提示式 =IF(A1>43585,3,IF(A1>32515,2,IF(A1>9855,1,""))) 中の数値はシリアル値を使用しているという次第。
- kon555
- ベストアンサー率51% (1842/3559)
VBAで対応してみました。 日付けセルを選択した状態で実行すると、日付けを判定して右隣のセルに(1)と(2)を入力します。 Sub 日付変換() Dim DH As Date Dim RA As Range DH = "1988/1/8" For Each RA In Selection If IsDate(RA.Value) = True Then RA.Offset(0, 1).Value = "'(1)" If RA.Value > DH Then RA.Offset(0, 1).Value = "'(2)" End If Next End Sub
お礼
kon555様 ハイレベルな回答ありがとうございました! いつかVBAを使えるようになりたいです。
- bunjii
- ベストアンサー率43% (3589/8249)
>イベント参加者のリストを作成しており、参加者の誕生日の元号を番号で表示したいです。 入力されている日付を表示形式で昭和以前に"(1)"を付加し、平成以降に"(2)"を付加すれば良いのでしょうか? 昭和63年12月25日 → (1) 63年12月25日 平成28年10月31日 → (2) 28年10月31日 大正13年3月3日 → (1) 13年3月3日 令和1年8月7日 → (2) 1年8月7日 >アドバイスいただけますようよろしくお願いいたします。 上記の例でしたら条件付き書式で対応できます。 平成1年1月8日=32516 であることを利用して条件付き書式の数式で条件を指定し、書式をユーザー定義で目的の表示形式にすれば良いでしょう。 数式が分からないときは補足で要望を具体的に提示してください。
お礼
bunjii 様 ご回答ありがとうごさいます。 質問の仕方が悪く申し訳ありませんでした。 (1)、(2)と表示したかったのですが、説明不足で失礼いたしました。 次回より質問の仕方も注意しますので、またご教示頂けますようよろしくおねがいします。
- imogasi
- ベストアンサー率27% (4737/17069)
前提として ・エクセルを使う ・関数を使う ・明治や大正はあり得ないと仮定 ・日付(下記ではA列データ)の有効性のチェックは不要とする これぐらいのことは、質問に書いておくべき。 ーー 例データ A2:D6 日付 年号 数字コード 別式 1950/1/23 昭和 1 1 1997/1/3 平成 2 2 2019/6/20 令和 3 3 1980/1/2 昭和 1 1 2019/8/31 令和 3 3 B2の式 =TEXT(A2,"ggg") C2の式 =MATCH(B2,{"昭和","平成","令和"}) 以上は理解のために出してあるもの。合成して D2の式 =MATCH(TEXT(A2,"ggg"),{"昭和","平成","令和"}) が最終結論。
お礼
imogasi様 ありがとうございます。質問の仕方が拙く申し訳ありませんでした。次回は気をつけますので、またご教示下さいますようお願いします!
- msMike
- ベストアンサー率20% (364/1804)
- SI299792
- ベストアンサー率47% (774/1618)
A1に日付が入っているとして、 ="("&FIND(TEXT(A1,"G"),"SHR")&")" の様な式も考えられます。令和は(3) になります。 大正以前はエラーになります。
お礼
SI299792様 アドバイスありがとうございます! このように形でもできるのですね。勉強になります。 ありがとうごさいました。
お礼
nishi6様 アドバイスありがとうございました! 教えていただいた通り入れると、うまく表示できました。参加者が100名以上いるのですが、コピーしてあっと言う間にリストが完成しました。 本当にありがとうごさいました!!