• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルの書式を日付からユーザー定義にすると不具合が)

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

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

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

  • ベストアンサー
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/7941)
回答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