• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列(1.8.1)を和歴(H1/8/1)へ変換!)

文字列を和歴へ変換する方法

このQ&Aのポイント
  • 文字列(1.8.1)や(1.11.10)などの形式の文字列を和歴形式に変換する方法を教えてください。
  • データ総数は2000セル程度です。変換方法を効率的に実行できる方法があれば教えてください。
  • 和歴への変換例として、(1.8.1)を(平成1年8月1日)に、(21.1.10)を(平成21年1月10日)に変換したいです。

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

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

こんばんは! すでに色々回答は出ていますので、参考程度で・・・ B列を文字列ではなくシリアル値で表示したいのであれば、次のような方法もあります。 A1セルからデータがあるとして、B1セルの表示形式をユーザー定義から ggge年m月d日 としておきます。 B1セルに =IF(A1="","",("H"&A1)*1) という数式を入れオートフィルで下へずぃ~~~!っとコピー!ではどうでしょうか? ※ この場合はシリアル値になりますので計算も可能になります。 以上、余計なお世話だったらごめんなさいね。m(_ _)m

tiearu
質問者

お礼

回答いただき感謝です! KURUMITOさんに=IF(A1="","",TEXT(DATEVALUE("H"&A1),"ggge年m月d日")) CC_Tさんには=TEXT(B3,"ggge年m月d日") tom04さんにはシンプルな式に=IF(A1="","",("H"&A1)*1) それぞれおおいに学びました。 私が苦戦した痕は下です。残念ながら これまで何も分かっていなかったです。有難うございました。 =CONCATENATE(CONCATENATE((LEFT(CONCATENATE("平成",A23),FIND(".",CONCATENATE("平成",A23))-1)),"年"),SUBSTITUTE(MID(A23,FIND(".",CONCATENATE("平成",A23))-1,5),".","月"),"日")

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • CC_T
  • ベストアンサー率47% (1038/2201)
回答No.5

A2セル以下に質問の文字列があるとして、B2セルに ="H"&a2 を入力。(B2セル内容が「H1.8.1」になる。 C2セルに =TEXT(B2,"ggge年m月d日") と入力。(C2セル内容が「平成1年8月1日」になる) B2・C2セルをコピーして、A列データの一番下の行までB・C列に貼り付けする。 最後にC列全体をコピーして「値で貼り付け」したあと、A,B行を削除する。 なお、平成1年8月1日はなく二けた表記の平成01年08月01日の表記にしたい場合、 =TEXT(B2,"gggee年mm月dd日") としてください。 私が並べて見やすい二桁表示の方が好きってだけですが。

tiearu
質問者

お礼

有難うございました。セルの画像あって助かりました。 私は下のように馬鹿なことやってました =CONCATENATE(CONCATENATE((LEFT(CONCATENATE("平成",A23),FIND(".",CONCATENATE("平成",A23))-1)),"年"),SUBSTITUTE(MID(A23,FIND(".",CONCATENATE("平成",A23))-1,5),".","月"),"日")

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

A列にお示しのデータがあるとしてB1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",TEXT(DATEVALUE("H"&A1),"ggge年m月d日"))

tiearu
質問者

お礼

さっそく有難うございました。 ↓のような馬鹿な式を苦労してやっていました! =CONCATENATE(CONCATENATE((LEFT(CONCATENATE("平成",A23),FIND(".",CONCATENATE("平成",A23))-1)),"年"),SUBSTITUTE(MID(A23,FIND(".",CONCATENATE("平成",A23))-1,5),".","月"),"日")

全文を見る
すると、全ての回答が全文表示されます。
  • eeb33585
  • ベストアンサー率18% (283/1495)
回答No.3

DATE関数を使い、セルに =DATE(2011,8,4) と入力し、 セルの書式設定で日付、平成・・年・・日を選択すると 平成23年8月4日 に変換されます

tiearu
質問者

お礼

回答有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

平成だけでしたら、 A列にこれらのデータがあるとして、 ="H"&A1 とB1に入力して、下にドラッグコピーします。 次に、B列をコピーして、C列に値のみ貼り付けます。 このままでは、平成1年8月1日にはなりませんので、C列の書式を日付の和暦の平成にした後で、ツールの区切り位置をクリックし、完了をクリックしてみて下さい。

tiearu
質問者

お礼

有難うございます 【ツールの区切り位置をクリックし、完了をクリック】とは? 何処でしょうか 恐れ入ります 私のエクセルは2007です。

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 (1)文字列がA列として、空列の先頭セルに=SUBSTITUTE("h"&A1,".","/")*1を入力。下方向にコピー (2)数式列を選択→セルの書式設定→表示形式→ユーザ定義でggge"年"m"月"d"日"を設定 因みにデータとして設定したい場合、数式列をコピー→任意セルを選択→形式を選択して貼り付け→値を選択→OKよして下さい。

tiearu
質問者

お礼

mu2011さん回答有難うございました! 作業に応用できました。実にさっぱりした関数で感激しています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル上の文字変換について

    エクセルで下記のように文字列を変換することができますか?? 例)4230101(※「4」は平成を表す)→「平成23年1月1日」

  • 【Excel】文字列になってしまった日付を変換したい

    こんにちは。ご存知の方教えてください。 エクセル2000で、文字列になってしまった日付をセルの「書式設定」で「表示形式」→「日付」で表示されるようにしたいのですが、そのやり方をご存知の方、是非お教え願えますでしょうか。 変換前の文字列(※:文字の区切りにはスペースがあるのみです。) 例)Wed 31 Jul 2002 18:59 変換後)2002年7月31日 水 (2002/7/31でも可) どうぞよろしくお願いします。

  • 文字列として入力した日付を日付データに変換したい

    OS=Windowds7 エクセルバージョン MicroOffice Home and Buisiness 2010 の中のエクセル です A列に下記のように文字列としての日付が入力されています。 例) 2014年1月5日(日) (セルの属性も”文字列”です) ここから、日付データを取り出したいです。 なお、年は4ケタ固定 プラス 漢字の”年”ですが、 月、日は十の位はゼロ表示していないので、一桁表示、二桁表示、とばらつきがあります。 また曜日表示は全角のカッコの間に漢字一文字で曜日表記してあります。 ま、文字列の日付表示から日付データさえ取り出せれば、あとは曜日のデータ取出しは簡単にできますからこれは後回しにします。 とりあえず無い知恵を絞ってこんなことをやってみました。 =LEFT(A14,LEN(A14)-3) 結果はこうなります。 計算結果 2014年1月5日 これで文字列表記の日付データが何月何日であっても(つまり、月、日が一桁表示でも二桁表示でも、どっちでも)「YYYY年M月D日」の形式での年月日表示にすることはできました。 しかし、この状態ではまだ計算結果として表示している「2014年1月5日」は依然、文字列データのままです。これでは加工ができません。 私は 2014年1月5日(日) という文字列データを日付データに変換して、例えば H26.1.5 平成26年01月05日 1/5 (それを基にして別ののセルに)sunday、日曜日、日曜、日 などなどなどの多彩に曜日表記する など「日付データとしての表記の加工」を自由に行いたいのです。 どなたか、やり方を教えてください。 なお、データ加工の為の作業用セル、作業用列を作るのは構いませんがなるべく少ない領域で お願いします。 また私が無い知恵を絞って作成した計算式 =LEFT(A14,LEN(A14)-3) が無意味ならば(多分、無意味でしょう)、全く無視していただいて構いません。 よろしくお願いします

  • エクセルの関数で文字列の変換をするには

    エクセルの関数で文字列の変換をするにはどうしたらよろしいでしょうか 問題の関数はこちらです 2008/10/10(金) を 平成20年10月10日金曜日 に変換する 御解答宜しくお願い致します

  • エクセルで文字列を変換

    エクセルで、複数のセルを選択状態にします。 選択されているセル内に、一つでも文字列が存在していれば、その文字列を◎に変換する方法で、なるべく素早くできる方法を教えて頂きたいのですが。 (スペースのみが存在している時は、そのままです) 例 あ      → ◎ FReSえ  → ◎ e35r8$#  → ◎

  • EXCELの日付データを文字列に変換したい

    EXCELの和暦形式の日付データを文字列に変換する方法を教えてください。 たとえば、H17.9.2をそのまま文字列に変換したいのです。 最初から文字列データとして入力すれば問題ないのですが、日付データ(標準)として入力されたデータを書式→セル→文字列で変換するとシリアル値に変わってしまいます。(H17.9.2→38597) どうしたらよいのでしょうか。お願いします。

  • エクセル2003でのセル内文字列操作マクロ

    あるセルにある文字列を置換し、その置換された文字列を別のセルに移すことをしたいと考えています。 <例> 0000.1111.2222.3333 ↓置換 00:00:11:11:22:22:33:33 (文字列3番目ごとににコロン挿入) 上記のように変換できるマクロメソッド、またロジックなどを教えていただけませんか?また可能でしょうか? (上記の例は逆のパターン(下の文字列から上の文字列への置換)でも結構です。) よろしくお願いします。

  • 文字列の変換

    12月以降13月で表示されているセルを1月に変換したいのですが 下記のようにセルM4にデータがあれば13月が入るので1月 また来月になると2月分が14月として入るのでElseif以下にしたいのですが 実行されません。valueを"13月"としてみたが同じでした。 ちなみに1月~14月までは文字列にしたのですが、これが原因なのでしょうか? 何かアドバイスがあればお願い致します。  If   Range("M4") = value Then  Range("M4") = "1月"   Elseif Range("M4:N4") = value Then   Range("M4") = "1月"   Range("N4") = "2月"  End If

  • 文字列同士のセルを結合して日付表示【至急】

    仕事で抽出したデータを使用して、リストを作っていますが うまくいきません…。 詳しい方アドバイスをお願いいたします。 画像参照してください。 列1(画像F列)に文字列で元号、列2(画像G列)に文字列で ○○年○月○○日が入ってます。こちらを結合させ、列3(画像H列)に 2013/7/5といった形で日付表示にさせたいです。元号は明治~平成まで 混在しています。 &を使って結合させたりまではできるのですが、○○年○月○○日と 入っているセルに微妙な半角スペーズがあります。置換を使用したり、 DATEVALUEを使用して変換しようとしましたがうまく表示されません。 件数自体は2500件弱と少ないのですが、期限がせまっているので 正確迅速にできる手順をアドバイスいただけたらと思います。 よろしくお願いいたします。

  • Excelの日付データを文字列(和暦で数字は全角)としてとりだす方法

    Excelのセルに日付データとして入っているものを文字列(和暦で数字は全角、日付はいらないので年月のみ)として別のセルにとりだす方法を教えてください。 例 セルA1:H5.3.26 → セルB1:平成5年3月     よろしくお願いします。環境はExcel2000・Windows98SEです。

専門家に質問してみよう