エクセルでの和暦から西暦への変換について



お願いします。
列に、昭和と平成が入り混じって入力してあります。
昭和50年8月30日生まれであれば、500830。
平成2年12月4日生まれであれば、021204。

この、6桁の数字を西暦0000/00/00と変えたいのですが、どのような方法があるのか教えて頂きたいです。

又、その西暦を使用して、違う列に年齢が出るようにしたいのです。

よろしくお願いいたします。

例 550828→1980/8/28→38歳

質問者からの補足コメント

  • すみません。
    使用しているのはエクセルです。
    2010だと記憶しています。

      補足日時:2017/09/16 21:38
  • みなさんありがとうございます。

    同質問してしまい申し訳ありません。

    すぐに返信していただき助かりました。

      補足日時:2017/09/17 11:18

A 回答 (3件)

[No.4]の件だけど、もう一つの、僅か14分前の同質問(こういうことをなさるのは実に端無い!)での補足「昭和は35年以上、平成は、29年まで」が目に留まりました。

それを踏まえて・・・

添付図参照
B1: =DATEVALUE(IF(A1/10^4>34,"S","H")&INT(A1/10^4)&"."&LEFT(TEXT(MOD(A1,10^4),"0000"),2)&"."&RIGHT(TEXT(MOD(A1,10^4),"0000"),2))
「エクセルでの和暦から西暦への変換について」の回答画像3
    • good
    • 0

もう一つの質問のほうで答えています。

    • good
    • 0

頭2桁はいくつまでが平成で、いくつ以上が昭和にするのでしょうか?

    • good
    • 0
この回答へのお礼

昭和は35年以上、平成は、29年までです!

お礼日時:2017/09/16 22:29

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

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

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

Qエクセルでの和暦から西暦への変換について お願いします。 列に、昭和と平成が入り混じって入力してあり

エクセルでの和暦から西暦への変換について



お願いします。
列に、昭和と平成が入り混じって入力してあります。
昭和50年8月30日生まれであれば、500830。
平成2年12月4日生まれであれば、021204。

この、6桁の数字を西暦0000/00/00と変えたいのですが、どのような方法があるのか教えて頂きたいです。

又、その西暦を使用して、違う列に年齢が出るようにしたいのです。

よろしくお願いいたします。

例 550828→1980/8/28→38歳

Aベストアンサー

裏技を使いました。数字を分解する必要はありません。

A1:500830
=DATEDIF(DATEVALUE(IF(LEFT(TEXT(A1,"000000"),2)*1>29,"S","H")&TEXT(A1*1,"00!/00!/00")),NOW()+1,"Y")

ポイント:*1>29,
平成30の生年月日は存在しないので、昭和にしました。

うまくない場合は、
DATEDIF(DATEVALUE("S" & TEXT(A1*1,"00!/00!/00")),NOW()+1,"Y")
としても可能です。マニュアルですが、S-昭和, H-平成, M-明治を入れます。

問題はここ:NOW()+1
法律的には誕生日の前日午後12時に1歳年齢が加算されるというそうで、+1 にするそうです。つまり、4月1日生まれは早生まれになるわけです。

ひとつ条件があるのは、数字は、数値にしていることだけです。書式文字列(@)にしてしまうと、うまく行きません。逆に、文字列接頭辞(')を使っていたら、最初のLEFT(TEXT(A1,...),2)が不要です。

裏技を使いました。数字を分解する必要はありません。

A1:500830
=DATEDIF(DATEVALUE(IF(LEFT(TEXT(A1,"000000"),2)*1>29,"S","H")&TEXT(A1*1,"00!/00!/00")),NOW()+1,"Y")

ポイント:*1>29,
平成30の生年月日は存在しないので、昭和にしました。

うまくない場合は、
DATEDIF(DATEVALUE("S" & TEXT(A1*1,"00!/00!/00")),NOW()+1,"Y")
としても可能です。マニュアルですが、S-昭和, H-平成, M-明治を入れます。

問題はここ:NOW()+1
法律的には誕生日の前日午後12時に1歳年齢が加算されるというそうで、+1 にす...続きを読む

QMSの“小さな親切、余計なお世話”

私の Excel 2013 において、セル(範囲)のオートフィル操作あるいはドラッグ&ペースト操作をしたとき、当該操作の終点セルの傍に、添付図に示すメニューが表示されます。
私には全く邪魔なので、これを表示させたくありません。
これを非表示にする方法を教えてください。

Aベストアンサー

オートフィルオプションの表示をしないようにしたいという事ですか。

(/・ω・)/ オプションの設定で可能です。

QMSの“小さな親切、余計なお世話”

Excel 2013 を使用しています。
添付図上段において、セル F1 に(赤矢印の先に)何やら表示されているアイコン、セル内に入力された文字列を隠しています。其処にマウスポインタを乗せると[挿入オプション]と表示され、当該アイコンの右端に現れたナビスコマークをクリックすると、添付図下段に示すメニューが。

この邪魔臭いアイコンを隠す(永久に表示されなくする)ための設定手順を教えてください。
ちなみに、このアイコンはどういう場合に表示されるようになっているのでしょうか?

Aベストアンサー

2016のオプション画像で申し訳ない。

「コンテンツを貼り付けるときに[貼り付けオプション]ボタンを表示する」
このチェックを外す。

QExcel関数で、文字を数字に変換させたいです。 if関数で、数字を文字で表示させることは出来ますが

Excel関数で、文字を数字に変換させたいです。
if関数で、数字を文字で表示させることは出来ますが、その逆はできるのでしょうか?
また、その列を数字の合計で出すことはできますか?

Aベストアンサー

>>例えば、非を1、定を0として表示させることはできますか?

=IF(A1="非",1,IF(A1="定",0,""))

Qエクセルで見えないが、何かがまだは言っているのを取りのぞくにはどうすればいい。

教えてください。

エクセルのA1に「〇○錠 1.5錠」、A2に「〇○錠 3錠」としてある場合。
「〇○錠     」とだけするために、1.5錠を「””」、3錠を「""」として変換して
一応消されはするのですが、ピポットテーブルにのせると同じものと認識しないが、
これにはなにか残っているようなのですが・・。これを消して同じものとして
認識するためにはどうすればいいか。クリーン関数などというのもあるようだが、使い方が
わからない。

Aベストアンサー

>1.5錠を「””」、3錠を「""」として変換して

これ、どうやったんですか?数式?
置換機能?
◯◯錠の後ろにスペースが残っているのでは?

=CLEAN(TRIM(A1))

とかで、一度にやってしまったら如何でしょうか?

Qエクセル セル内の除去について

エクセルのセル一つについて 「〇○○  ×××  」と文字○があった場合、〇○○の右の空白のスペースからすべて右側を×××を含めて除去する方法はありませんか。〇○○、×××の文字、文字数はセルごとに違うものとします。

Aベストアンサー

例えば、
A1に、

> 「〇○○  ×××  」

が入力されているとして、

B1に、
=FIND(" ",A1)
で最初に空白文字が現れる文字の場所を取得。

C1に、
=LEFT(A1,B1-1)
で最初に空白が現れるより左の文字列を取得。

とか。

Qエクセルで、西暦 1900年以前の年月日も含めて、年月日で並べ替えしたいのですが、いい方法は

エクセルで、西暦 1900年以降は年月日で並べ替えができるのですが、1900年以前の年月日も含めると、文字になっているので、並べ替えができなくなります。いい方法はありませんか。
宜しくお願い致します。

Aベストアンサー

>「セルの書式設定F]- 「表示形式」 - 「文字列」

この操作ではデータ自体は文字列にはなりません。
大体、日付データがシリアル値になると思うんですけどね。

作業列を作ってTEXT関数で日付データは文字列になるようにしておけば並べ替えできますよ。

Qエクセルで自動で同じ文字と数字をセルに貼り付ける事は出来るでしょうか? 例えば A1○ B1□ C1

エクセルで自動で同じ文字と数字をセルに貼り付ける事は出来るでしょうか?

例えば
A1○ B1□ C1 20枚 と入力したら
○□が一つのセルに20枚自動入力出来るようにしたいです。

数量がかなりあるため出来るだけ自動にしたいので、お手数ですが教えて頂けませんか。

Aベストアンサー

添付図参照

Q特定の2つの条件から1つを上から順に抽出し、抽出したものの合計をそれぞれ出したいです。

タイトルわかりにくくてすいません。。
添付画像のA:Dの表で「月」G3と「名前」G2から「発注先」をG5~G9に抽出して
それぞれの「合計金額」を出したいのですが、「発注先」の抽出がうまくいきません。

何かいい方法をご教授頂ければ幸いです。
宜しくお願い致します。

Aベストアンサー

No.2です。

投稿後もう一度読み返してみて・・・
タイトルに
>1つを上から順に抽出し
と書いてありましたね。
どうも失礼しました。

作業用の列を1列設けるのが判りやすいと思います。
仮にE列を作業列とするとE2セルに
=IF(AND(B2=G$2,A2=G$3,COUNTIFS(A$2:A2,A2,B$2:B2,B2,C$2:C2,C2)=1),ROW(),"")
という数式を入れ、これ以上データはない!というくらいまで下へコピーしておきます。

G4セルに
=IFERROR(INDEX(C:C,SMALL(E:E,ROW(A1))),"")

H4セルに
=IF(G4="","",SUMIFS(D:D,B:B,G$2,A:A,G$3,C:C,+G4))

という数式を入れそれぞれを下へコピー!

※ 作業列が目障りであれば、遠く離れた列にするか非表示にしておいてください。

※ 作業列なしでも可能ですが、配列数式になってしまいます。m(_ _)m

Qエクセルで 異なるデータを含む2つのデータを 1つの表にまとめる方法を教えてください

初めて質問をします。
あまりエクセルが詳しくなく わからないので 教えて下さい。

2つのデータがあります。
Aには仕入れ数、Bには売り上げ数があります。
双方の商品名はすべて一致するわけではなく、「AにあってBにない」「BにあってAがない」ものもあります。


    データA 【仕入れ】     データB 【売上】

管理No 商品  仕入れ数   管理No 商品   売上数
   1  りんご  3        2  みかん  8
   2  みかん  8       3    バナナ    3
   3  バナナ    4      1  りんご    2
   4  いちご    1      7   もも     3
   5  オレンジ  3      10    キウイ     2
   6  レモン    3     11    ぶどう     2
   7  もも     3     13    大根      1
   8  なし     2
   9  カキ    5
  10  キウイ  2
  11  ぶどう    1
  12   マンゴー   1


上記の2つのデータを以下のようにまとめたいのですが 可能でしょうか?
(ABすべての商品名を出して それぞれの数を表示する)

管理No   商品    仕入れ数      売上数
   1   りんご      3        2
   2   みかん      8      8
    3   ばなな      4        3
   4   いちご      1        0
   5    オレンジ  3        0
   6   レモン      3     0
   7   もも       3     3
   8   なし       2     0
   9   カキ      5     0
   10   キウイ      2      2
   11   ぶどう      1       2
   12   マンゴー    1      0
   13   大根      0      1
      


数字がずれていてすみません。
どうぞよろしくお願いします。

初めて質問をします。
あまりエクセルが詳しくなく わからないので 教えて下さい。

2つのデータがあります。
Aには仕入れ数、Bには売り上げ数があります。
双方の商品名はすべて一致するわけではなく、「AにあってBにない」「BにあってAがない」ものもあります。


    データA 【仕入れ】     データB 【売上】

管理No 商品  仕入れ数   管理No 商品   売上数
   1  りんご  3        2  みかん  8
   2  みかん  8       ...続きを読む

Aベストアンサー

こんにちは!

>(ABすべての商品名を出して それぞれの数を表示する)
というコトですので、手っ取り早くVBAでの一例です。

↓の画像のようにそれぞれのシート名は「仕入れ」・「売上」となっていて、Sheet3に表示するとします。
尚、「商品」の「管理No」はシリアルナンバーのように決まっているものとします。
そして、Sheet3の1行目項目行は入力済みという前提です。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() '//この行から//
Dim i As Long, lastRow1 As Long, lastRow2 As Long, lastRow3 As Long
Dim c As Range, r As Range
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("仕入れ")
Set wS2 = Worksheets("売上")
Application.ScreenUpdating = False
With Worksheets("Sheet3") '//←「Sheet3」はまとめるシート名に!"//
lastRow3 = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow3 > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow3, "D")).ClearContents
End If
.Range("E:F").Insert
lastRow1 = wS1.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS1.Cells(1, "A"), wS1.Cells(lastRow1, "A")).Copy .Range("E1")
lastRow2 = wS2.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS2.Cells(2, "A"), wS2.Cells(lastRow2, "A")).Copy .Cells(Rows.Count, "E").End(xlUp).Offset(1)
.Range("E:E").AdvancedFilter Action:=xlFilterCopy, copytorange:=.Range("F1"), unique:=True
.Range("F:F").Sort key1:=.Range("F1"), order1:=xlAscending, Header:=xlYes
lastRow3 = .Cells(Rows.Count, "F").End(xlUp).Row
Range(.Cells(2, "F"), .Cells(lastRow3, "F")).Copy .Range("A2")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS1.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Cells(i, "B") = c.Offset(, 1)
.Cells(i, "C") = c.Offset(, 2)
End If
Set r = wS2.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then
If .Cells(i, "B") = "" Then
.Cells(i, "B") = r.Offset(, 1)
End If
.Cells(i, "D") = r.Offset(, 2)
End If
Next i
.Range("E:F").Delete
.Columns.AutoFit
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub '//この行まで//

※ 関数でないので、データ変更があるたびにマクロを実行する必要があります。

※ コード内の「Sheet3」の部分は実際のシート名に変更してください。m(_ _)m

こんにちは!

>(ABすべての商品名を出して それぞれの数を表示する)
というコトですので、手っ取り早くVBAでの一例です。

↓の画像のようにそれぞれのシート名は「仕入れ」・「売上」となっていて、Sheet3に表示するとします。
尚、「商品」の「管理No」はシリアルナンバーのように決まっているものとします。
そして、Sheet3の1行目項目行は入力済みという前提です。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング