- ベストアンサー
エクセルで/を外したいです。
エクセル2000です。 生年月日で「1980/8/13」となっているセルで、/を外したいのですが出来ますか? 例えば、 1980/8/13 → 1980 813 1980/10/13→ 19801013 1980/8/3 → 1980 8 3 このように/をなくして、スペースを合わせた8桁で表記させたいのです。 エクセルでこのようなことが出来ますか? どなたかよろしくお願い致します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
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)) でできますね。
その他の回答 (6)
- KenKen_SP
- ベストアンサー率62% (785/1258)
>スペースを合わせた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)
関数で他のセルに表示するなら例えば以下のような式で表示できます(もちろん計算対象となりませんが)。 =YEAR(A2)&TEXT(MONTH(A2),"?0")&TEXT(DAY(A2),"?0") なお、元の列を非表示にするか、元のデータに形式を選択して貼り付けで「値」で貼り付けると良いと思います。
お礼
回答ありがとうございます。 この式でも出来ました! >元の列を非表示にするか、元のデータに形式を選択して貼り付けで「値」で貼り付ける ↑この回答、とても助かりました。
- osamuy
- ベストアンサー率42% (1231/2878)
「1980/8/3」が「19800803」で表示されるというのでも構わなければ、セルの書式設定で、表示形式を「yyyymmdd」とするだけでOKかと。 空白を保つとなると、ワークシート関数で整形して、別セルに表示させるか、ワークシートイベントChange()で入力を整形するとか。
お礼
0ではなく、スペースで表記したいのです。 回答ありがとうございました。参考にさせて頂きます。
- milk111
- ベストアンサー率30% (228/740)
すみません、No.1ですが別に「""」はいらなかった みたいです(^^)"" No.2さんと同じです。
お礼
2度にわたってありがとうございます。 すみません、8桁にこだわる必要がありまして・・・。 でも参考になりました。
- earthlight
- ベストアンサー率27% (284/1031)
セルの書式設定>表示形式 をユーザ定義にして、種類を yyyy m dにして下さい。
お礼
早速の回答をありがとうございます。 スペース合わせて「8桁」にしたいのです。 でも参考になりました。 ありがとうございます。
- milk111
- ベストアンサー率30% (228/740)
変更したいセルを右クリックし、 セルの書式設定→ユーザー設定にし 「yyyy" "m" "d」と設定すれば出来そうです~
お礼
あぁ!ズバリな回答ありがとうございます。 出来ました!! すごく助かりました。 本当にありがとうございました。