• ベストアンサー

Excel2007で西暦1900年以前の関数は?

Excel2007で西暦1900年以前の関数は? Excel自身は1901年以降に関しては日付関数で表現されています。 例えば明治40年は1907年に直ぐ置き換わります。 このように西暦と元号を置き換えることができる仕組みか関数はありませんか? 年号表はあります。従って目で見ながら置き換えるのは出来ます。 そうではなく、一方を入力すると片方が表示される仕組を探しています。

  • aerio
  • お礼率56% (982/1741)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

つかえるかな? 和暦←→西暦の変換 http://www.vector.co.jp/soft/win95/business/se454984.html

aerio
質問者

お礼

私がイメージしていたのはこれでした。ありがとうございました。 早速ダウンロードしましたが、マクロ、セキュリティ、無効等の語句が出てきて まだうまく行っておりません。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 1900年1月1日より前の日付は文字列(明治31年○月○日)としての表示は可能ですが、シリアル値でなないので、かなり強引な方法でやってみました。 ↓の画像でA列は手入力しているとします。 B2セルに =IF(A2="","",IF(LEFT(A2,2)="明治",IF(RIGHT(LEFT(A2,4),2)*1<33,1867+RIGHT(LEFT(A2,4),2)*1&MID(A2,FIND("年",A2),LEN(A2)-FIND("年",A2)+1),TEXT(A2,"yyyy年m月d日")),TEXT(A2,"yyyy年m月d日"))) 明治の二桁での数式ですので、もし明治一桁も対応したいのであれば数式も少し変わってきます。 という数式を入れ、オートフィルで下へコピーしています。 明治33年1月1日以降であればシリアル値ですので、計算等に利用できますが、 それ以前は単なる文字列ですので、見た目だけの表示になります。 以上、参考になればよいのですが・・・m(__)m

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

ロジックが明確なわけですから、 VBAで自作関数として準備したらと思います。 (西暦渡して元号を返す関数<FUNCTION>とか。) いろんな場面で使うとなると数式よりはこの方が便利ではないでしょうか?。 何やっているかもコメントできます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

1900年1月0日以降はエクセルではシリアル値としてすなわち数値として取り扱われており、西暦と元号を置き換えることは簡単にできますが、1900年以前を例えば1989/12/31と入力してもシリアル値としては理解されずに単なる文字列として理解されます。したがってセルの表示形式などの操作で元号に置き換えることもできません。 A1セルに1989/12/31と入力したものを式を使って明治31年12月31日と表示させることはできますが日数の計算などに使えるものではありません。 なお、参考までに、A1セルに1989/12/31などと入力してB1セルに2010/9/13と入力したときの年齢の計算は次のような式になります。 =DATEDIF(DATE(LEFT(A1,FIND("/",A1)-1)+200,MID(A1,FIND("/",A1)+1,FIND("/",A1,FIND("/",A1)+1)-FIND("/",A1)-1),RIGHT(A1,LEN(A1)-FIND("/",A1,FIND("/",A1)+1))),IF(ISNUMBER(B1)=TRUE,DATE(YEAR(B1)+200,MONTH(B1),DAY(B1)),DATE(LEFT(B1,FIND("/",B1)-1)+200,MID(B1,FIND("/",B1)+1,FIND("/",B1,FIND("/",B1)+1)-FIND("/",B1)-1),RIGHT(B1,LEN(B1)-FIND("/",B1,FIND("/",B1)+1)))),"Y")

関連するQ&A

  • 元号と年から西暦年を求める関数

    エクセルを利用しています。 元号と年から西暦年を求める関数がわかりません。 VBEで関数を作成したいのですが ' @summary 元号gと年yから西暦年を求める ' @param g 元号 ' @param y 年 ' @z 西暦年 ' @pre g = /^(明治|大正|昭和|平成)$/ And y >= 1 ' @post z >= 1868 Or z = -1 (エラー時) Function toSeireki(g As String, y As Integer) As Integer ○○○○ End Function ○○○○にどのように入れればいいのかわかりません なので方法を知っている方いれば教えていただきたいです

  • 西暦についてです。

    似たような質問があったらすみません。。  (1)日本人が生活に於いて西暦を意識したのはいつ頃からなんでしょう。西暦と言う概念が日本に入ってきたのは明治以降でしょうか。それとも、それより昔から定着していて、「今年は遂に500年になったね」(笑)とか思っていたのでしょうか。  (2)あるいは西暦は庶民には無縁だったかもしれないが、公の書類(紙がなければ木簡とか?)には記していたのでしょうか。  (3)西暦に関係なく、日本には独自の元号があり、人々はそれで「今年は桓武○○年」と知っていたのでしょうか。それともこの元号も昔は庶民には無縁だったのでしょうか。。  または、天照大神を基準とした「紀元二千何年」なんていうのを使っていたのでしょうか(これは戦時中だけかな?)  時代によっていろいろだと思いますし、質問が分かりにくくなってしまいすみませんが、お願いいたします。  

  • 年号の日付を西暦の日付に

    江戸末期の年号の日付を西暦に読み替えるにはどうすれば良いでしょうか? 例えば、天保5年8月1日は西暦何年の何月何日か? 読み替えるやり方、計算方法または、アプリケーションがあれば・・・。 エクセルの関数であれば、良いのですが、無さそうですので・・・ どなたか解る方がいたら、お願いします。

  • Excel2003で元号から西暦に変換

    E2に 平成21年4月分 というデータが入っています。 B11に日付を入力したとき、 C11に曜日を自動的に入れたいと思っていますが、 C11に私がいれた関数は、元号から西暦に変換する関数が分からず、 =IF(C11="","",TEXT(DATE(2009,MID($E$2,6,1),C11),"aaa")) と入れました。 本当はDATE関数の2009の所に、E2の平成21年を西暦に変換して入れたいのですが、関数が分かりません。 教えてください。

  • 元号と西暦のうまい合わせ方を教えて下さい

    僕が歴史を勉強していて一番嫌になるのは、年代を覚えるのに元号と西暦の2種類あってややこしすぎる点です。例えば満州事変と言われればすぐに1931年と出ますが、昭和だと何年だっけ?となってしまいます。明治、大正、昭和などの元号と西暦を合わせるうまい方法はないのですか?

  • 元号と西暦の覚え方。

    元号と西暦の覚え方。 例えば、明治は西暦何年から、等覚え方はあるでしょうか?(ゴロとか。皆さん、どうやって覚えているのでしょう?) 毎回、調べるのが面倒なのですが。。。

  • エクセルの西暦年月日入力

    ものすごく基本的な質問です。 エクセルの表の年月日欄に、西暦で入力したいのに、手元には昭和・平成の元号の資料しかない時、元号のまま入力しても、セルにはちゃんと西暦が表示されたことがありました。 これでいいんだと思い、次の行に移ったところ、今度は平成のまま表示されてしまい、困ってしまいました。 多分、関数の使い方がわかっていないおバカな自分のせいだな、とは思うのですが、どなたか教えて下さい。

  • 西暦と元号の組合せ

    平成16年・・・西暦2004年 平成15年・・・西暦2003年 平成14年・・・西暦2002年 平成13年・・・西暦2001年 平成12年・・・西暦2000年 ・・・・・・・・・・・・ ・・・・・・・・・・・・ 平成元年・・・西暦1989年 昭和64年・・・西暦1989年 昭和63年・・・西暦1988年 ・・・・・・・・・・・・ ・・・・・・・・・・・・ 上記のように一覧になったサイトはネット上でいくつかありますが、元号が年の途中で変わった時に(○○月○○日までは昭和64年、○○月○○日以降は平成1年というふうに)元号が変わった日付も分かるサイトがなかなか見つかりません。 なるべく古い年まで分かるとありがたいのですが知ってる方教えていただけないでしょうか。

  • エクセルで日付を和暦→西暦に変換するには・・・

    過去の質問履歴を検索したのですが、上手く行かないので教えて下さい・・・。 エクセルの表で「5500401」というような日付があるとします。 先頭の5は「昭和」というコードで50年4月1日を表現しています。 このようなデータを西暦で「19750401」と表示させたいのですが、どのようにすれば良いのか分かりません・・・。 マニュアルなどを見て関数を作っても上手く行きません。 分かる方がいらっしゃったらよろしくお願いします!

  • 【Excel】任意の西暦日付

    書式の日付で「2001/3/14」というタイプがありますが、「1/1」と入力すると、自動的に2013年とその年の西暦が入力されてしまいます。 西暦を打たずに日付だけ入力し、任意の西暦(例えば2011年)が自動で表現させるにはどうしたらよいでしょうか?

専門家に質問してみよう