• ベストアンサー

excelの日付の処理について教えてください。(初心者です)

文字列で定義された日付(*)を’2001/8/1’(シリアル値?)と表示させるには どういう関数でどういう計算をしたら効率よく変換できるでしょうか? *: 文字列で’H130801’ 1桁目(平成=H,昭和=S)+年+月+日

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

  • ベストアンサー
  • kbonb
  • ベストアンサー率51% (254/492)
回答No.8

こんにちは  「昭和=1,平成=2」ということでしたら、 =(INDEX({"S","H"},LEFT(A1))&TEXT(MID(A1,2,6),"00!/00!/00"))*1 でいかがでしょうか?

参考URL:
http://www2.odn.ne.jp/excel/
kappa84
質問者

お礼

ありがとうございました。勉強になりました。

その他の回答 (7)

回答No.7

平成と昭和だけでいいですよね?今回はjanmaさんのを改造。 =(IF(LEFT(A1)="1","H","S")&TEXT(MID(A1,2,6),"00!/00!/00"))*1

kappa84
質問者

お礼

ありがとうございました。勉強になりました。

  • kbonb
  • ベストアンサー率51% (254/492)
回答No.6

こんにちは =(LEFT(A1)&TEXT(MID(A1,2,6),"00!/00!/00"))*1 でシリアル値に変換します。年の部分が一桁、二桁両方に対応しています。  この結果を 2001/8/1 のような表示形式にするには、以下の手順です。 1.セル範囲を選択 2.Ctrl+1 (メニュー[書式]-[セル]) 3.[表示形式]タブの[分類]で 日付 を選択 4.[種類]で 1997/3/4 を選択 5.Enter

参考URL:
http://www2.odn.ne.jp/excel/waza/format.html
kappa84
質問者

補足

早速回答ありがとうございました。 あっという間に解決できてびっくりしています。 参考urlのページもとても参考になりました。お気に入りに追加しました。 追加で(調子に乗って甘えてすいません!)、、 別のファイルでは、「昭和=1,平成=2」としてあって うまくいきません。 H130801 ー> 1130801 この場合の対応を教えてください。

  • comv
  • ベストアンサー率52% (322/612)
回答No.5

こんにちは 多少短く(考え方は皆さんのと同じです) 年も2桁固定(例 H090801)なら  =--(LEFT(A1,3)&"/"&MID(A1,4,2)&"/"&RIGHT(A1,2)) 年が1桁~2桁非固定(例 H90801)なら  =--(LEFT(A1,LEN(A1)-4)&"/"&MID(A1,LEN(A1)-3,2)&"/"&RIGHT(A1,2)) ご存知だとは思いますが 結果はシリアル値なので、書式設定 表示形式 で「日付」(ご質問の例だと1997/3/4形式) を設定してください!

kappa84
質問者

お礼

ありがとうございました。勉強になりました。

回答No.4

ふたたびHitomiKuroseです。 majeさんのを改造してちょっとだけ短くしました。 =DATEVALUE(CONCATENATE(LEFT(A1,LEN(A1)-4),".",MID(A1,LEN(A1)-3,2),".",RIGHT(A1,2)))

noname#794
noname#794
回答No.3

CONCATENATE(MID(セル番号,1,3),"/",MID(セル番号,4,2),"/",MID(セル番号,6,2)) でどうでしょう。 CONCATENATE(文字列1,文字列2,…) : 文字列の結合 MID(文字列, 開始位置, 文字数) : 文字列の任意の位置から指定された数の文字を返す 例:D50=S511124   B50=CONCATENATE(MID(D50,1,3),"/",MID(D50,4,2),"/",MID(D50,6,2))   B50の表示:S51/11/24 要求している答えじゃなかったらごめんなさい。

kappa84
質問者

お礼

ありがとうございました。勉強になりました。

回答No.2

H130801がセルA1に入っているとして、 平成1桁年の日付(例として平成9年1月1日)が、 1)H090101の様に入っているのなら、 =DATEVALUE(LEFT(A1,3)&"."&MID(A1,4,2)&"."&RIGHT(A1,2)) 2)H90101の様に入っているのなら、 =IF(LEN(A1)=7,DATEVALUE(LEFT(A1,3)&"."&MID(A1,4,2)&"."&RIGHT(A1,2)),DATEVALUE(LEFT(A1,2)&"."&MID(A1,3,2)&"."&RIGHT(A1,2))) と入力して、「セルの書式設定」→「表示形式」を「日付」→「1997/3/4」を選択。 尚、2)の場合はH090101型のデータが混在しても大丈夫です。

  • maje
  • ベストアンサー率35% (42/120)
回答No.1

もっと簡単な方法もあるかもしれませんが H130801という文字列をH13.08.01という文字列に書き換えて、 それを日付のシリアル値に変換する式です。 平成1年などH01ではなくH1にも対応させるようにしたので長くなりました。 A1にH130801が入っているときの式です。 =DATEVALUE(CONCATENATE(LEFT(A1,IF(LEN(A1)=7,3,2)),".",MID(A1,IF(LEN(A1)=7,4,3),2),".",RIGHT(A1,2))) これで日付のシリアル値が得られますので、セルの書式の表示形式の日付から 表示したい形式2001/8/1を選択してください。

kappa84
質問者

お礼

ありがとうございました。勉強になりました。

関連するQ&A

  • エクセル日付について

    こんにちは。質問します。 セルに「33.10.2」と入力されていますが、これを「S33.10.2」と 前に「S」をつけて、この日付を元にDATEDIF関数にて、年齢を表示させたい と思ってます。 先頭に「S」をつけるだけならやりましたが、どうしても文字列として 判別して、関数の計算値になりません。 どうしたらよろしいでしょうか?? ちなみに平成生まれは「H」となるようにしたいです。

  • EXCELでの日付表示について

    申し訳ありませんが、初心者ですのでお教え願います。 左記のようなデータ(文字式)を右記のようなエクセルの日付として表示する方法が分かりません。 なお、一桁目の3は昭和、4は平成です。 3230620  S23.6.20 4230620  H23.6.20

  • エクセルの日付データの変換

    あるDBからデータを抜いてCSVに落としてAccessにインポートしようとしていますが、日付のデータが、普通1970/2/28というシリアルデータを表示形式で「昭和45年2月28日」と表示しているところが、「昭和45年2月28日」という文字データそのままになっています。 なんとか日付のシリアル値に変換したいのですが・・・ ちなみにdatevalue関数を使用しても元が単なる文字列ですから、もちろんシリアル値なんか出ません。

  • 日付

    S60. 5 → 昭和600501 H 1. 7 →平成010701 R 2. 1→令和020101 一桁の場合は半角スペースがはいっています Excelにこの左側の文字を入力したときに、右側にこのように表示させる関数をおしえてください。

  • エクセル:日付和暦の数字だけを取り出したい

    エクセル日付関数で和暦の数字だけを取り出したいのです たとえば「平成15」又は「H15」と表示されているセルを「15」とだけ表示させる方法を教えて下さい 何かうまい、表示形式があるのか 別のセルにある「H15」を文字列関数で取り出すしかないのでしょうか

  • エクセルで文字列を日付に変更したいのですが

    テキストデータをエクセルに変換したのですが、日付が6桁の和暦の文字列のため書式表示で変更しても正しい日付に変わりません。どうすればいいのかわからないので、どなたかお詳しい方教えていただけませんでしょうか。 例えば 180508 150530 080712 といった数字を H18.05.08 もしくは 2006/05/08 H15.05.30 もしくは 2003/05/30 H08.07.12 もしくは 1996/07/12 に、変更できないものでしょうか。

  • Excelの日付の文字列ををシリアル値に変える?

    Excelの日付の記入が作制者毎によって違うので、共通化にするのに、手作業で困っています。 添付図のように文字列で制作者毎に打ち込まれたデーターを  一括(制作者毎でも)でシリアル値に変える方法を教えてください。 「.」や「-」(ドットやハイフン)で区切っている 西暦の下2桁や元号の数字だけとか、平24   昭和61  とかもあります。    シリアル値化して、セルの書式設定で表示を統一したり、計算したりしたいのです。    

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

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

  • 和暦日付表示「03.6.24」を西暦表示に一気に直したい。(エクセル2003使用)

    和暦表示で 昭和63年生まれの人なら「63.5.23」 平成3年生まれの人なら「03.6.24」というようにセルに入っています。 単純にセルの書式設定の表示形式の日付ですぐ変換できるのかな? と思いましたら、頭にH(平成)、S(昭和)の表記が抜けているため いっこずつ、先頭にHやSを追加しなければいけません。 追加すれば日付がきちんと西暦で表示されます。 件数が5000件くらいあるので、一気にSやHを挿入する方法が あれば教えてください。

  • エクセルで日付け表示で、明治を表示したいのですがどうしたらいいのでしょ

    エクセルで日付け表示で、明治を表示したいのですがどうしたらいいのでしょうか? セルの書式から表示形式の、日付で、hを入れると平成、sを入れると昭和、tを入れると大正、大正まで変換しますが、mを入れても明治と認識しません。 どこかで設定のしかたがあると思いますが、ありましたら教えてください。 よろしくお願い致します。

専門家に質問してみよう