- ベストアンサー
excelの日付の処理について教えてください。(初心者です)
文字列で定義された日付(*)を’2001/8/1’(シリアル値?)と表示させるには どういう関数でどういう計算をしたら効率よく変換できるでしょうか? *: 文字列で’H130801’ 1桁目(平成=H,昭和=S)+年+月+日
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 「昭和=1,平成=2」ということでしたら、 =(INDEX({"S","H"},LEFT(A1))&TEXT(MID(A1,2,6),"00!/00!/00"))*1 でいかがでしょうか?
- 参考URL:
- http://www2.odn.ne.jp/excel/
その他の回答 (7)
- HitomiKurose
- ベストアンサー率38% (54/141)
平成と昭和だけでいいですよね?今回はjanmaさんのを改造。 =(IF(LEFT(A1)="1","H","S")&TEXT(MID(A1,2,6),"00!/00!/00"))*1
お礼
ありがとうございました。勉強になりました。
- kbonb
- ベストアンサー率51% (254/492)
こんにちは =(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のページもとても参考になりました。お気に入りに追加しました。 追加で(調子に乗って甘えてすいません!)、、 別のファイルでは、「昭和=1,平成=2」としてあって うまくいきません。 H130801 ー> 1130801 この場合の対応を教えてください。
- comv
- ベストアンサー率52% (322/612)
こんにちは 多少短く(考え方は皆さんのと同じです) 年も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形式) を設定してください!
お礼
ありがとうございました。勉強になりました。
- HitomiKurose
- ベストアンサー率38% (54/141)
ふたたびHitomiKuroseです。 majeさんのを改造してちょっとだけ短くしました。 =DATEVALUE(CONCATENATE(LEFT(A1,LEN(A1)-4),".",MID(A1,LEN(A1)-3,2),".",RIGHT(A1,2)))
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 要求している答えじゃなかったらごめんなさい。
お礼
ありがとうございました。勉強になりました。
- HitomiKurose
- ベストアンサー率38% (54/141)
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)
もっと簡単な方法もあるかもしれませんが 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を選択してください。
お礼
ありがとうございました。勉強になりました。
お礼
ありがとうございました。勉強になりました。