• ベストアンサー

エクセルで/を外したいです。

エクセル2000です。 生年月日で「1980/8/13」となっているセルで、/を外したいのですが出来ますか? 例えば、 1980/8/13 → 1980 813 1980/10/13→ 19801013 1980/8/3  → 1980 8 3 このように/をなくして、スペースを合わせた8桁で表記させたいのです。 エクセルでこのようなことが出来ますか? どなたかよろしくお願い致します。

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

  • ベストアンサー
  • 71350
  • ベストアンサー率66% (10/15)
回答No.5

8桁で、ということなので、 書式で yyyy m d と設定しただけでは たとえば 2005/10/10 は 2005 10 10 となり10桁なので ダメ、ということですよね? 関数でいいなら 目的の数値がA1に入っているとして =YEAR(A1) &IF(MONTH(A1)>=10,MONTH(A1)," "&MONTH(A1)) &IF(DAY(A1)>=10,DAY(A1)," "&DAY(A1)) でできますね。

--maki--
質問者

お礼

あぁ!ズバリな回答ありがとうございます。 出来ました!! すごく助かりました。 本当にありがとうございました。

その他の回答 (6)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.7

>スペースを合わせた8桁で表記させたいのです。 要は次の4つのユーザー定義の表示形式を用意し、月・日がそれぞれの桁数にあわせて適用します。そうすると、8桁で日付をそろえることができますし、データとしては日付のままですから計算式で使うことも可能です。 yyyy m d  ex) 2005/1/1 yyyym d   ex) 2005/10/9 yyyy md   ex) 2005/1/10 yyyymd   ex) 2005/10/10 これを1つ1つのセルを見ながら手作業で設定するのは大変ですね。これを自動で割り当てるマクロが、ここの過去の投稿で見かけたのですが、検索では見つけることができませんでした。改めて作成しましたので、お試しを。 【使い方】 マクロは、範囲選択されたセルを一つ一つチェックし、日付が入力されたセルだけを処理対象として表示形式を変更します。適当なセルを範囲選択してから、マクロを実行して下さい。 【マクロ書き込み手順】 1. EXCEL画面で[Alt]+[F11]キーを同時に押す。   -->Visual Basic Editor起動(以下VBE) 2. VBE画面のメニュー[挿入]-[標準モジュール]クリック 3. 2.で開いたウインドウに下記VBAコードをコピー&ペースト 4. VBEを閉じる 5. [ツール]-[マクロ]-[マクロ]から実行 【以下VBAコード:場所=標準モジュール】(次行から終わりまで) Sub Sample()   Dim strFmt As String   Dim rngCurrent As Range   Dim TargetDate As Date   For Each rngCurrent In Selection     With rngCurrent       If VarType(.Value) = vbDate Then '日付か?         TargetDate = .Value         GoSub CreateFormat         .NumberFormat = strFmt       End If     End With   Next rngCurrent ExitHandler:   Exit Sub      CreateFormat:   '日付書式生成   strFmt = "yyyy" '年書式   Select Case Month(TargetDate) '月書式     Case 1 To 9       strFmt = strFmt & " m"     Case Else       strFmt = strFmt & "m"   End Select   Select Case Day(TargetDate) '日書式     Case 1 To 9       strFmt = strFmt & " d"     Case Else       strFmt = strFmt & "d"   End Select   Return End Sub

  • macchan1
  • ベストアンサー率38% (52/136)
回答No.6

関数で他のセルに表示するなら例えば以下のような式で表示できます(もちろん計算対象となりませんが)。 =YEAR(A2)&TEXT(MONTH(A2),"?0")&TEXT(DAY(A2),"?0") なお、元の列を非表示にするか、元のデータに形式を選択して貼り付けで「値」で貼り付けると良いと思います。

--maki--
質問者

お礼

回答ありがとうございます。 この式でも出来ました! >元の列を非表示にするか、元のデータに形式を選択して貼り付けで「値」で貼り付ける ↑この回答、とても助かりました。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.4

「1980/8/3」が「19800803」で表示されるというのでも構わなければ、セルの書式設定で、表示形式を「yyyymmdd」とするだけでOKかと。 空白を保つとなると、ワークシート関数で整形して、別セルに表示させるか、ワークシートイベントChange()で入力を整形するとか。

--maki--
質問者

お礼

0ではなく、スペースで表記したいのです。 回答ありがとうございました。参考にさせて頂きます。

  • milk111
  • ベストアンサー率30% (228/740)
回答No.3

すみません、No.1ですが別に「""」はいらなかった みたいです(^^)"" No.2さんと同じです。

--maki--
質問者

お礼

2度にわたってありがとうございます。 すみません、8桁にこだわる必要がありまして・・・。 でも参考になりました。

  • earthlight
  • ベストアンサー率27% (284/1031)
回答No.2

セルの書式設定>表示形式 をユーザ定義にして、種類を yyyy m dにして下さい。

--maki--
質問者

お礼

早速の回答をありがとうございます。 スペース合わせて「8桁」にしたいのです。 でも参考になりました。 ありがとうございます。

  • milk111
  • ベストアンサー率30% (228/740)
回答No.1

変更したいセルを右クリックし、 セルの書式設定→ユーザー設定にし 「yyyy" "m" "d」と設定すれば出来そうです~

関連するQ&A