セルの書式をユーザー定義に変更する方法と注意点

このQ&Aのポイント
  • エクセルのセルの書式をユーザー定義に変更することで、日付の表示形式を変更することができます。しかし、ユーザー定義の書式を使用する際には注意が必要です。特に、日付のデータがめちゃくちゃになる可能性があるので注意しましょう。
  • スケジュール表には、昨年度取り扱ったクライアントと仕事の工程表が既に乗っており、それを参考にして事前に連絡を行います。そのため、クライアントや日付の情報は削除することができません。
  • セルの日付の欄の書式を変更するには、書式の設定でmm/ddの書式を選択します。ただし、ユーザー定義の書式を使用する場合には、日付のデータが正しく表示されない可能性があるので注意が必要です。日付を正しく表示させるには、別シートに数値として貼り付け、後から再度貼り直す方法があります。
回答を見る
  • ベストアンサー

セルの書式を日付からユーザー定義にすると不具合が

エクセルのバージョンは2007です。 上司から仕事のスケジュール表をもらいました。 昨年度取り扱ったクライアントと仕事の工程表が既に乗っており、それを参考にして事前にこちからか連絡をとったりします。 ですので、クライアントや日付の情報はデリートできません。 今、セルの日付の欄の書式は日付で○月○日となっています。 ただ、それだと見づらいのでmm/ddの書式にしたいのです。 書式の変更で日付からmm/ddを選べばいいのですが、ここで一つ問題が。 今年のスケジュールを上書きして入力するときに、テンキーだけ たとえば0421と入力したら4/21と表示されるようにしたいので ユーザー定義の書式で##"/"##としたいのですが、 こうすると、日付がめちゃくちゃになってしまいます。 日付のデータだけ、別シートに数値貼り付けで張り付けて あとから貼り直そうとしても、日付書式で入力されている数字が 実際の日付の数字に変換されるわけではないので同じことです。 セルの書式を##"/"##にして、現在入力されている日付を反映させるには どうしたらいいのでしょう。

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

  • ベストアンサー
noname#157410
noname#157410
回答No.1

0421が日付にしたときに、4/21という意味ではないからです。 要は04/21と入れないと、4/21は出ないということです。 0421が日付にすると何の値になったかわかりませんが、まずちゃんとでないでしょうね。 反対に4/21とはいっているものを数式などに変更してみてください。 数字の羅列になります。 見た目は、4/21でも日付には2011/04/21 hh:mm:ssの情報が入っているからです。

sibainudon
質問者

補足

そうなんです、現在入っている数値が実際の日付の見た目と違うというのはわかっているのです。 要するに、その現在入っている数値をもとにして、0421という数値を導き出し、それを上から張り付ける形で上書きしたいのです。

その他の回答 (3)

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.4

そもそも「ユーザー定義」で mm/dd と定義し直し テンキーでスラッシュ(/)を含めて入力すれば良いだけのような気がするんですけど… ダメなんですか? まあ、それは置いといて(問題を先送りにする悪い癖w) >ユーザー定義の書式で##"/"##としたいのですが、 >こうすると、日付がめちゃくちゃになってしまいます。 普通に文字列として表示されますよ? それで納得できたのではありませんか。 どのように「日付がめちゃくちゃに」なるのか、残念ですが質問文からは分かりません。 日付を計算して表示しているセルがあるのだろうと推測はしますけど…。 ですがアドバイス。 その計算をして日付を表示させているセルに、日付示す文字列をシリアル値に直す関数を加える修正しましょう。  A1セルに参照元の値が入っているとすると、その A1 の部分を次の関数に置き換えます。  DATEVALUE("2011/"&TEXT(A1,"##""/""##"))  あくまでも一例ですが、とりあえずはこれでもOK。  DATEVALUE関数と TEXT関数の 使い方の詳細は Excelのヘルプを参照してください。 あと基礎知識として、Excel の日付と時間は「シリアル値」という数値で管理されています。 1900年1月1日を1として数えた日数がシリアル値になります。半日(12時間)は シリアル値で 0.5 と示す事ができます。  http://support.microsoft.com/kb/882391/ja ここに詳しく書いてあります。一読しましょう。 ※このページの下の方に 20110421 などと入力した数字を  シリアル値に変換する関数が紹介されています。  よく読んで理解して応用してみてください。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

表示形式のユーザー定義を [>10000]mm/dd;00"/"00 としてみます。 >たとえば0421と入力したら4/21と表示されるようにしたい それでは >mm/ddの書式にしたいのです。 と合致しませんよ。

  • PXU10652
  • ベストアンサー率38% (777/1993)
回答No.2

「今年のスケジュールを上書きして入力するときに、テンキーだけ たとえば0421と入力したら4/21と表示されるようにしたいので」  入力するセル(A1)と日付を表示するセル(A2)が別で,、A1が文字列で4桁なら、A2に「=LEFT(A1,2) & "/" & RIGHT(A1,2)」で実現できます。 「要するに、その現在入っている数値をもとにして、0421という数値を導き出し、それを上から張り付ける形で上書きしたいのです。」  日付は、Excel内部では1900/1/1からの経過日数(シリアル値)で、管理しています。A1のシリアル値をA2に「0421」のように表示するには、「=RIGHT("0" & MONTH(A1),2) & RIGHT("0" & DAY(A1),2)」とすれば可能です。

関連するQ&A

  • Excel97の日付の書式設定

    現在Excel97で日付入力をしたいのですが、 最終的に演算に使用する日付で yyyy/mm/ddとyyyy/mmどちらでも入力できる書式設定を探しています。 yyyy/mm/ddの指定にするとyyyy/mmと入力してもyyyy/mm/01となってしまいます。 yyyy/mmのセルとdd専用のセルを別に作ると、ddを入力した時に 閏年のエラーチェックなどがかけられないので演算部分(1年後該当日前日の指定等)がうまく働きません。 いい方法がありましたら教えてください。

  • エクセルの日付表示の書式設定

    こんにちはお世話になっております 教えていただきたいのは、エクセルの日付表示についてです。 条件としてはセルに日付を入力したときに以下のように表示したいです。 8/1と入力したとき  2006年 8月  1日 8/13と入力したとき 2006年 8月13日 10/3と入力したとき 2006年10月 3日 様はセルの中で数字が1桁でも2桁でも位置が会うようにしたいです。 配置で均等とかにしてもずれてしまうので、何か言い方法があればと思うのですが、教えてください なお、年月日になるようにするのはセルの書式設定でユーザー定義で[DBNum3]ggge"年"m"月"d"日"の設定で表示させています。 mmやddにしてしまうと08などになってしまうので、そうではなく 8と表示させたいです。 分かりにくい説明ですが、教えてください。

  • Excelの日付がうまく入りません。

    Excelでテンプレートをつくっているのですが、日付の欄でセルの書式設定で、「ユーザー定義」「mm/dd」を選びました。ところがここに「01/01」Enterと入力すると「###」となってしまいます。「01/01」と表示させるにはどうすればいいでしょうか?わかる方、困っているのでよろしくお願いします。

  • エクセルのセルの書式設定について

    エクセルで日付をいれると10/5とかになります。 これを10/05にしたいのです。 セルの書式設定の表示形式でユーザー定義から直せるのは分かるのですが、いちいちm/dとなっているのをmm/ddに直さなければならないので日付の方の規定値として登録できればなと思うのですが。 いかがでしょうか。 よろしくお願い致します。

  • エクセル2010 ユーザー定義の書式で表示したい

     新年、明けましておめでとうございます。    年明け早々にお世話になります。  "'"yy"年"mm"月"dd"日" の書式の西暦の日付に続けて、スペースなしでシート名を表示したいので、  お分かりになる方、ご教示よろしくお願いします。  例えば、日付が2014年1月2日(編集当日の日付ではありません)でシート名がABCDなら、  2014/01/02 のみの入力値に対して   '14年1月2日ABCD  をD6セルに表示させたいです。  現時点で、  =RIGHT(CELL("filename",A2),LEN(CELL("filename",A2))-FIND("]",CELL("filename",A2)))  を特定の書式を設定していないD8セルに入力して、D8セルにシート名の表示はできていますが、  日付を表示させようとして、ユーザー定義の書式でロックされていないD6セルに  'yy"年"mm"月"dd"日" を設定し、2014/01/02 を入力したところ、# が表示されて、  頓挫しています。  本来なら、D6セルに日付とシート名を表示させたいのですが、  D6セル、D8セルのいずれも  ユーザー定義の書式だと期待した表示結果が得られない状態です。  何故、日付表示さえうまく行かないのか、この点も解説頂けたら有難いです。  年明け早々にお手数で恐縮ですが、よろしくお願いします。

  • エクセルで、セルの書式が変更できません。

    正確に説明すると、全角の数字を入力していったのですが、あるところで突然入力した数字が日付として認識されてしまいます。 (1)セルの書式設定→表示→標準 を、全体を選択したり、セルだけ選択したりしてやってみたのですが、入力するとまた、日付になってしまいます。 (2)セルの書式設定→保護→ロックを解除 もやってみましたが、変わりありません。 セルが壊れたのかな?と新しいページでやり直してそれまでのところをコピーし、続けようとすると、また日付に・・・。 いったいなぜなのでしょうか(涙)。お分かりの方がいらっしゃいましたら何卒よろしくお願い致します。

  • 条件付き書式 日付のセルを塗りつぶし

    Excel2007 ある列に 日付、文字列、数値が入力されています。 条件付き書式で日付の入力されているセルのみ塗りつぶしたい。 その方法を教えてください。

  • 日付と時間の別々のデータをひとつのセルにまとめたい

    日付と時間の別々のデータをひとつのセルにまとめたいと思っております。 セルA 2014/01/13 セルB 17:18 書式設定 A yyyy/mm/dd B (hh:mm) 上記のデータを下記のように結合したいと思っております。 セルC 2014/01/13 17:18 どなたか知恵のある方に御指導していただければと思っております。 宜しくお願い致します。

  • エクセルVBA セルの書式につい

    ユーザーフォームのテキストボックスに入力した日付(yyyy/mm/ddの形式)をA1セルに入れるとします。  Range("A1").Value = Me.txt日付 A1セルの表示形式は書式設定でユーザー定義の"d"で表示されるように設定していますが、 テキストボックスに入力した形式のまま(yyyy/mm/dd)でA1セルに表示されてしまいます。 上記のみではNGでしょうか? ちなみに、yyyy/mm/ddと入力されたA1セルを一旦編集モード([F2]キーを押した状態)にして[Enter]を押すと"d"(書式設定で指定している書式)に変わります。 参考:A1セルの日付をみて別シートの一覧からVlookup関数で値を検索したいところが、yyyy/mm/ddで表示されるためにエラーとなってしまいます) ご存知の方教えていただきたいです。

  • Excelでセルの書式が勝手に日付になってしまう!

    Excelで住所録のようなものを作っており、住所(1)に町の名前までを入力、 住所(2)に番地を「1-2-3」のように入力していました。 何かの拍子に、番地を入力すると書式が日付(0000/00/00)の形に勝手に 変換されるようになってしまいました。 「1-2-3」と入力すると「2001/2/3」と表示されてしまいます。 右クリックでセルの書式を標準にしても戻りません。 どのセルに入力しても日付になってしまいます。 どうしたら元に戻りますか?

専門家に質問してみよう