今だけ人気マンガ100円レンタル特集♪

エクセルで月日を入力すると1900年のものになってしまう。

 あるエクセルのワークシートのセルに月日を入力すると、1900年のデータになってしまいます。たとえば、5/12と入れると、1900/5/12が入力されます。それを2010年のデータに書き換える(年をつけて入力する)ことはできますが、同じセルにもう一度月日のみを入力するとやはり1900年のデータが入ります。

 たぶん、どこかの設定を知らずに変えてしまったのだと思いますが元に戻すことができず困っています。

 同じエクセルで新規ワークシートを開くと問題なく本年の月日で入力されます。

 どなたか解決方法が分かる方の回答よろしくお願いします。

A 回答 (2件)

停電とかで、PCの記録データーが初期化されることがあります。


コントロールパネルの日付と時刻から、再調整してみてください。
直ると思います。
    • good
    • 0

 お使いのパソコンの画面の右下辺りにある、時刻表示を右クリックしすると現れる、選択肢の中にある、[日付と時刻の調整]をクリックすると現れる、「日付と時刻のプロパティ」ウィンドウの[日付と時刻]タグをクリックして、パソコンに設定されている日付を確認してみて下さい。


 もし、日付が1900年になっている場合や、時計が止まっている場合には、時計が正しい時刻になる様に、設定し直されると良いと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q31:30:00が1900/1/1 7:30:0

エクセルで時間を入力してるのですが
「21:30:00」と入力すると「21:30:00」のままなのですが
他のセルに「31:30:00」を入力すると表示は「31:30:00」になるのですが、
数式バーは「1900/1/1 7:30:00」になってしまいます。

どちらも書式は「[h]:mm」にしています。
なぜ30時間を超えるとおかしくなるのでしょうか?

Aベストアンサー

エクセルの日付は、1900年1月1日が起点です。
数値の1を表示形式「[h]:mm:ss」で表示すると、24:00:00(24時00分00秒)
「hh:mm:ss」で表示すると、00:00:00((00時00分00秒)
yyyy/mm/dd で表示すると、1900/01/01(1900年1月1日)
yyyy/mm/dd hh:mm:ss で表示すると 1900/01/01 00:00:00

となります。

時刻表示の 21:30:00 は、数値では、0.8958
時刻表示の 31:30:00 は、数値では、1.3125
です。
数値の1が1日(24時間)に相当します。正確に言うと、数値1の違いが1日(24時間)の違いに相当します。

数値で1以下は1900年1月1日以前なので、数式バーに1900/01/00 21:30:00 と表示しても良いのですが、日付に0日というのはありませんので変ですよね?そこで仕方なしに時刻の部分だけを表示するようにしたのでしょう。(エクセルを作った人は困ったと思います。)エクセルの仕様だ、と言えばそれまでですが、

30時間を超えるとおかしくなるのでではなく、24時間以上だと表示が変わるのです。

エクセルの日付は、1900年1月1日が起点です。
数値の1を表示形式「[h]:mm:ss」で表示すると、24:00:00(24時00分00秒)
「hh:mm:ss」で表示すると、00:00:00((00時00分00秒)
yyyy/mm/dd で表示すると、1900/01/01(1900年1月1日)
yyyy/mm/dd hh:mm:ss で表示すると 1900/01/01 00:00:00

となります。

時刻表示の 21:30:00 は、数値では、0.8958
時刻表示の 31:30:00 は、数値では、1.3125
です。
数値の1が1日(24時間)に相当します。正確に言うと、数値1の違いが1日(24時間)の違いに相当します。

数値で1以...続きを読む

QExelでX軸を日付にする場合のグラフの書き方

X軸のデータは2008/01/01/0000(2008年1月1日0時0分の意味)から始まって2時間おきにY軸用のデータがあって、X軸のデータは2008/10/31/2200で終わります。

何も考えずにグラフで書くとX軸が0から4000までの数字が表示されます。Y軸は正しく表示されているようです。そこでグラフのX軸をクリックし
軸の書式設定→表示形式→ユーザー設定で
yyyy/m/d/hmm;@と指定しました(これは表示形式の日付の真似ですがこれが正しくないかも)。
するとX軸が1900/1/0/000から始まり、1910/12/13/000で終わってしまいます。X軸のデータは2008/01/01/000から始まり2008/10/31/2200終わるのですが。

どうすれば正しく日付をX軸に記述できるか教えてください。

Aベストアンサー

>回答番号:No.1 この回答への補足

グラフ / グラフのデータ範囲を変更する
http://www.authoring.gr.jp/excel/paso/html/14-15-2007.html

上記ページ、手順(2)に「データソースの選択」ダイアログボックスの絵があります。
「横(項目)軸ラベル」の「編集」ボタンをクリックすれば、「軸ラベル」ダイアログボックスが表示されます。
日付データが入力されたセル範囲をドラッグすればセル範囲が入力されます。

Q参照先セルに値が入っていない時に、「0」や「1900/01/00」などが入らないようにしたいのですが

Excelでの質問です。
参照先のセルに何も値(空白セル?)が入っていない時に
「0」などが表示されてしまうのを参照先と同じように、何も表示されていない状態に
したいのですが、どのようにすればよろしいでしょうか。

例えば、A1に「=B1」と入力してある場合、A1に「0」と表示されます。
B1には何も入力していない状態であります。
A1をB1と同じように何も表示されていないように「0」とかを出ないように
したいのです。

何かいい方法がありましたら、教えてください。
よろしくお願いします。

Aベストアンサー

IF関数で空白なら空白を返すようにします。

=IF(B1="","",B1)

IF関数 完璧マスター!
http://kokoro.kir.jp/excel/if.html

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで1月0日と表示される!!

エクセルで2つのシートを使い、1つのシートには、一ヶ月の日付と点数を入力し、もう1つのシートは、先のシートからデータが飛ぶ形で、曜日ごと集計される形で、月ごとにまとめています。

しかし、集計のシートで、第5週がない場合、入力シートのセル内はブランクで、集計シートに表示されるのは1月0日となってしまいます。

説明がわかりずらいかと思いますが、取りあえず、シートを越えてデータを飛ばしたときに、1月0日と表示させない方法を教えていただければと思います。

ネットで検索しても、解決方法がヒットしません。
エクセルのスペシャリストの方、助けてください。

Aベストアンサー

こんばんは。

>先のシートからデータが飛ぶ形

‥というのは、=Sheet1!A2 のような式を入れているということでしょうか?

そういうことでしたら Sheet1 の A2セルが空白の場合、0と認識されますので、
日付シリアル値が 0 → 1900年1月0日 になるからです。

これを回避させるには次のような方法があります。
-----------------------------------------------
(1) Sheet2 のすべてのセルが 0 を表示させなくてもかまわないのなら
 メニュー <ツール>-<オプション>-<表示>タブの
 「ゼロ値」 のチェックをはずす。

(2) Sheet2 の日付のセルをすべて選択し、
 メニュー <書式>-<条件付き書式>で
 「セルの値が」-「次の値に等しい」を選び、
  0 のときは文字の色を白にする。
 
※条件付き書式については参考URLをご覧ください。

(3) Sheet2 の数式を↓のように変更する。 
=IF(Sheet1!A2="","",Sheet1!A2)
----------------------------------------------
以上のうちからどれか1つをお選びください。

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-sho/jyo-syna.htm

こんばんは。

>先のシートからデータが飛ぶ形

‥というのは、=Sheet1!A2 のような式を入れているということでしょうか?

そういうことでしたら Sheet1 の A2セルが空白の場合、0と認識されますので、
日付シリアル値が 0 → 1900年1月0日 になるからです。

これを回避させるには次のような方法があります。
-----------------------------------------------
(1) Sheet2 のすべてのセルが 0 を表示させなくてもかまわないのなら
 メニュー <ツール>-<オプション>-<表示>タブの
 「ゼロ...続きを読む

Qエクセル(2003) 「1900/1/0」を消したい

セルA1に0を入力し
書式設定で日付→yyyy/m/dを選択しました。

しかし下記のマクロ実行しても
0が空白になりません。

Sub 日付置換()
Cells.Replace what:="1900/1/0", Replacement:="", LookAt:=xlPart
Cells.Replace what:="00/01/00", Replacement:="", LookAt:=xlPart
Cells.Replace what:="0", Replacement:="", LookAt:=xlWhole
End Sub

なら最初から0なんか入力しなきゃいいじゃん。
と思われるかもしれませんが
これはCSVファイルで出力したもので
最初から0の数値にも書式設定がかかってて「1900/1/0」となっています。

「1900/1/0」のデータをなくしたいのですが
どんな方法がありますか?
データ量が多いためマクロなどで一度に行ないたいです。

アドバイスよろしくお願いします。

Aベストアンサー

>セルA1に0を入力し
>書式設定で日付→yyyy/m/dを選択しました。
単純ですが
書式設定をユーザー定義で→yyyy/m/d;; としてみてください。
0の時の表示が1900/1/0からブランクに変わります。

Qグラフの項目軸の表示が表の表示と違う(エクセル2002)

 日付別売上額をグラフにしたいと思っています。

 項目名を日付にしたく、表には「14、15、16、17、18」という数値が入っています。が、これを選択してグラフにしても、なぜか「1、2、3、4、5」と出てきます。

 解決方法はグラフウィザードの2/4、グラフの元データの系列タブで、「項目軸ラベルに使用」で表側を範囲選択しなおせば、正確な表示がでてきたのですが、どうして最初の段階で「1、2、3、4、5」とでてきてしまったのか、わかりません。向学のために、どうして表とは違う表示が出てきてしまったのか解説をいただければさいわいです。

Aベストアンサー

1からの連番で項目が表示される。
考えられること(私にですが)は、空白のセルがデータ範囲にあることです。例えばデータ範囲を列で指定するなど。それと、この場合日付が多分完全な日付ではない事。この2つが重なるとこのような現象になるのかと。
理由はまず、項目がエクセルにとって日付でないこと。これは数値の項目としてエクセルが扱っている。(14・15の項目データが14日・15日ならばそのままで項目として扱ってくれます。)この場合、そのままグラフを最後まで作ると、グラフデータが2個現れてきませんか?項目の部分をデータとして取り扱っています。この場合項目は1からの連番になるようにエクセル側で勝手に付けてくれます。例えば2004/1/1のように完全な日付の場合はこのようなことはないと思います。エクセルは日付をシリアル値と言うもので管理しています。これは、2004/1/1の場合37987という日付データで管理するのです。こんなもので、解説になりましたでしょうか。一回同じように項目軸を変更しないで最後までグラフを作ってみればはっきりすると思います。

Qエクセルのセルにカレンダーを表示させ、日付をセルに入力させたい

エクセルについて教えて下さい。

エクセルのセルをクリックすると、
カレンダーのようなものが表示され、
マウスで選択すると、
セルに日付が入力されるようにするには
どうしたらよいですか?

すみませんが、宜しくお願い致します。

Aベストアンサー

#02です。foo-mさんがVBAをお使いになるなら、以下のサンプルをいじってみてください。

このサンプルはC4セルがクリックされたときにカレンダーコントロールを表示して、日付を選んだらその日付をC4に書き込み、カレンダーコントロールを閉じるマクロです。

Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
ActiveSheet.Calendar1.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$4" Then
ActiveSheet.Calendar1.Visible = True
End If
End Sub

マクロはシートのモジュールとしてペーストして下さいね

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング