• ベストアンサー

日時を日付のみの表示に

201411291230のような日付と時間の表示を、 2014/11/29のように、/で区切った日付のみの表示にしたいです。 関数は色々あるのですが、関数を使用しなくても、 書式設定のユーザー定義などで簡単にできるのでしょうか。 Excelは2013または2010でお願いします。

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

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

こんばんは! 表示形式で操作するのではなく、データそのものをシリアル値にしてはダメですか? 別セルに表示するのであれば関数で可能ですが、そのセルで処理したい場合は VBAになってしまいますが、一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻り、データ範囲を必ず範囲指定してマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim c As Range For Each c In Selection If IsNumeric(c) And Len(c) = 12 Then c = DateSerial(Left(c, 4), Mid(c, 5, 2), Mid(c, 7, 2)) End If Next c End Sub 'この行まで ※ データ変更があるたびに範囲指定し、マクロを実行する必要があります。 ※ 元データである12桁数値は消えて、シリアル値になってしまいます。 すなわちデータそのものが変わってしまいます。m(_ _)m

j0b
質問者

お礼

ご回答ありがとうございます。 ユーザー定義より実用的で助かりました。 ありがとうございます。

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

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>書式設定のユーザー定義などで簡単にできるのでしょうか。 「201411291230」は「2014/11/29 12:30」の区切りを除いた文字列ですか? 日付部分のみ取り出して時刻部分を削除することは可能です。 該当のセルを選択して「データ」タブの「区切り位置」から「固定長フィールドデータ」として先頭から8桁で区切り、先頭の8桁を「列のデータ形式」で日付の「YMD」に指定します。 残りの時刻部分は指定方法が無いので2桁ずつに区切り文字列にすると良いでしょう。 時刻部分が不要であれば削除すれば良いでしょう。

j0b
質問者

お礼

ご回答ありがとうございます。 出来ませんでした。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

時刻じゃなくただの数字で記入されているので、その一部の数字を「見せなくする」表示形式というのは、そもそもありません。 でも、工夫によってどーにかする方策としては、次のような手もあります。 手順: セルの書式設定の表示形式のユーザー定義で 0"/"00"/"00Ctrl+J0000 Ctrl+Jはコントロールキーを押しながらキーボードのJのキーを押す と設定する 更に折り返して全体を表示するを設定する。

j0b
質問者

お礼

ご回答ありがとうございます。 出来ませんでした。

すると、全ての回答が全文表示されます。
  • torokiti1
  • ベストアンサー率44% (15/34)
回答No.1

できますよ。 簡単です。 入力セルを選択し、右クリック。 セイルの書式設定をクリック 表示形式タブを選択して、 左の「分類」で日付を選択 そうすると右側に種類がズラッと出てきますので >2014/11/29のように、/で区切った日付のみの表示にしたいです。 そのような選択をクリックしてOKですね。 ちなみに「分類」でユーザー定義を選択して、下のほうにスクロールしていくと、 違った日付の表示もたくさん出てきますよ。

j0b
質問者

お礼

ご回答ありがとうございます。 出来ませんでした。

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

関連するQ&A