• ベストアンサー

Excelシートをコピーしたら計算結果が出ない

Excelでフレックスタイムの勤務表を作っています。 以下のように作成しました(一部省略) --------------------------------------------------------------------------------------------- 日付(2008/3/24)・曜日|出社時刻|退社時刻|勤務時間差異{(退社-出社)-規定勤務時間} --------------------------------------------------------------------------------------------- 先月からこの勤務表を使い始め、うまくいっていたのですが、 今月に入って(20日締めなので21日から新しい月になります)、 今まで使っていたシートをコピーし、新しいブックに入れたところ、以下のようになりました。 ・日付が2004年のものになった(曜日が合わない) ・勤務時間の差異を計算したとき、マイナス表示のところが####で表示される。 (たとえば、9時~17時勤務、規定勤務時間が7.5Hの場合は、休憩時間を除いて「-0:30」と表示したい) これらの表示は、最初につくっていたシートではうまく表示されていたのですが、 シートをコピーしたとたんにおかしくなりました。 ちなみに元のシートを、元のブックの中でコピーした場合は、このようなことは起こりません。 毎回修正をかけるのは煩雑なので、上記の条件を保持したままで新しいブックにコピーする方法はないでしょうか?

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

  • ベストアンサー
noname#204879
noname#204879
回答No.3

「新しいブック」において、[ツール]→[オプション]→[計算方法]の画面で“1904年から計算する”にチェック(レ印)を入れてください。

rirakkuma1852
質問者

お礼

ありがとうございます。こんなに簡単に解決できるとは! ほっとしました。

その他の回答 (3)

noname#79209
noname#79209
回答No.4

多分 DATEDIF関数を正しく(マイナスでも)機能するように、 オプション設定の「計算方法」タブで、「1904年から計算する」にチェックが入っていたのでしょう。 これらのオプションばブック毎の設定なので、新たに作ったブックはディフォルトである 「1900年からの計算」になっていいるのでしょう。 新規に追加したブックのオプションを確認してみてください。 これのチェックを入れればOKだと思われます。 マイクロソフトの誰かが、シリアル値の計算のスタートを1900/1/1にしてしまったため DATEDIF関数が正しく機能しなくなってしまいました。 このため、マイクロソフトはDATEDIF関数を正式なサポートから外し、 「他のソフトの互換性のためだけの関数」と強引に位置づけてしまい、 ヘルプや関数ウイザードからも外され、可哀相な関数になってしまいました。 そのくせ、マイクロソフトの研修などでは、DATEDIF関数を使用した日数計算を教え続けています。

rirakkuma1852
質問者

お礼

ありがとうございました。解決しました。 なるほど、日付計算にそんな経緯が・・

回答No.2

ほぼ確実に、従来のブックは1904年基準で動いています。それを 1900年基準のブックにコピーしたんでしょうね。1900年基準のブッ クでは、時刻のマイナスは処理不可能です。 chie65536さんの回答どおりブックを複製することにきめるか、この 際だから初期設定の計算に関するところを見て理解するか、お好き な方をどうぞ。

rirakkuma1852
質問者

お礼

ありがとうございました。 1904年からの計算にチェックをつけて解決しました。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

すべての原因は「コピーしてるから」です。 「ファイル」メニューに「名前を付けて保存」と言うのがあるので、ブックごと「新しい名前で保存」して下さい。 今のブックが「勤怠200803.xls」なら「名前を付けて保存」で「勤怠200804.xls」にして保存すれば良いのです。 そうすれば「すべてが新しいブックに引き継がれて」新しい名前で保存されます。

rirakkuma1852
質問者

お礼

ありがとうございました。

関連するQ&A

  • Excelの計算結果が「-0:00」と表示される

    Excel2000で残業時間の管理をしています。 月|日|曜日|出勤時刻(D)|退社時刻(E)|時間差異(E-D-8)|累積 | 時間差異は「出勤-退社-規程の勤務時間(8時間)」で、 累積はそれを毎日足していったものです(月末にその月のトータルの残業時間が出る) フレックスタイム制なので、途中で勤務時間より短い時間(例えば7時間勤務など)が発生します。その場合は累積表示は「-1:00」のようになるのですが、 その後残業が発生して、結果がゼロになる場合、「-0:00」と表示されてしまいます。 頭のマイナス表示が消えないのはなぜでしょうか? セルの書式設定はh:mmになっています。

  • 日付をまたいだ勤務表の計算について

    excel2007で勤務表を作成しています。 シート1に15分単位で出勤時刻、退社時刻、勤務時間、残業時間をいれた表を作っています。 シート2に勤務表を作成して、vlookup関数を使い 退社時刻が○時の場合、勤務時間は○時間と算出していますが、 退社時刻が0時を超えると、退社時刻23:45の行の数字が表示されます。 (退社時刻の切り捨ては別の行で行っています) どのようにしたら、例えば0:15に退社した場合は、23:45ではなく 0:15の行を見に行くようになるのでしょうか。 うまく説明出来てなくて、すみません。 分かる方、教えて下さい。

  • エクセル関数で給与の計算について

    エクセルの関数を使って、出社時刻と退社時刻、休憩時間を入力するだけで日給が求められるようにしたいのですが、どうしてもうまく計算されません。 始業時間 10:00  時給 1,000 終業時間 17:00  残業割増 100 休憩    1:00  休日割増 100 と決まっていて、平日に残業がある場合、休日出勤で残業がある場合、残業はない場合などがありますので、それらの条件での日給を求めたいのです。 表には、A1からK1までに下記のような項目と値になっています。   日付 曜日 出社時刻 退社時刻 出社  退社  休憩  6/1  土  9:45  18:25   10:00 18:15 1:00 残業  時間  実働時間  日給 1:30  8:30 8.50 9,200 Eの出社には、15分単位で切り上げた値を、Fの退社には、15分単位で切り捨てた値がでるようにして、Iの時間には、「F-E-G+H」、Jの実働時間には、シリアル値を時間と分に変換する計算になっています。 日給がうまく計算される方法は無いでしょうか? 教えてください。お願いします。

  • EXCELシートのコピー

    あるExcelブックに統計表シート、グラフシート、グラフ用の数値シートがあります。 グラフシートだけ別の場所にコピーすると、コピーしたグラフシートのブックを開いたとき、このグラフシートはコピー元の数値シートにリンクしたままになりますが、このリンクを無効にしてシートコピーする方法はありますか。

  • ACCESSのクエリフィールドの書式表示

    ACCESS2003を使っています。タイムカードテーブルに「出社時刻」と「退社時刻」の「日付/時刻型」のフィールドがあります。このタイムカードテーブルから「出社時刻」と「退社時刻」フィールドを含むクエリを作り、勤務時間:[退社時刻]-[出社時刻]という計算フィールドを作った場合、勤務時間フィールドのプロパティで「書式」のメニューに「日付」や「時刻」が表示されたりされなかったりします。 これはACCESSのバグでしょうか?必ず表示させることはできないのでしょうか。(書式にところに時刻の形式を書き込めば表示されることは知っています。)

  • Excelの給与計算について

    今、Excelで給与計算をしているのですが、関数が分からないので分かる方は教えてください! 日付 曜日 出社 退社 勤務時間 基本 早朝 残業 土日になっていて ここの基本までは出来るのですが、それ以降が分からないので分かる方は教えてください (休日の場合)出社時間を8時 退社時間を23時にすると、勤務時間が15時間、基本が8時間、早朝が1時間、残業が5時間 深夜が1時間 土日が8時間になります。 ここの、早朝、残業、深夜、休日の関数が分かる方は教えてください。 よろしくお願いします!

  • エクセル:シートのコピーで計算を反映させる方法

    (1)エクセルでbook1とbook2があります。 (2)book2のシート1とシート2にデーターがありシート3に1と2の色々計算した結果があります。 (計算式はシート3のみシート1・2はデータのみ) (3)book1にシート1とシート2はbook2の表と同じでそこにデーターを打ってもらってます。 (book1はシート1・2のみでシート3はない) ● (4)現在はbook1とbook2を両方開いて、book1のシート1・2をコピーしてbook2にシート1・2に貼り付け book2のシート3で計算シートでデータを集計しております。 ●質問 (5)book2のシート3をbook1へ末尾へコーピーすると計算式がbook2のままでうまくいきません。 シートのコピーで計算を反映させる方法を教えてください。

  • Excelのシートのコピー

    Excelのシートを75%の大きさでコピーしたい。 75%の表を「シートの移動またはコピー」を使用して増やす時、100%で表示されてしまう。 増やした表を75%で表示させられますか?

  • エクセル:シートをまたいで隔行のコピー

    いつもお世話になっております。 Win:XP MSOffice:2003 を使用しています。 会社の作業実績表をエクセルで作成しました。 タイムカードとしての打刻機能や、個人の業務実績(時間)の入力・集計 残業時間の集計(自動)ができるものです。 こちらで教えていただいて優れものが完成しましたが 如何せん、横長の表になり、プリントアウトには適しません。 ついては別のシートに入力データを自動反映して 一か月分のタイムカード(A4サイズ)を作成したいと思っています。 (出勤・退勤・休憩・残業時間等の欄にて作成) が、シートをまたいでのコピー(コピー自体は上手くいくのですが、 ドラッグ&ペーストで)が規則良く映ってくれません。 お知恵を貸してください。 Sheet1:実績表 出社時間 → J5~BP5(セル一つ置き・・・J5/L5/N5/P5・・・) 退社時間 → J6~BP6(セル一つ置き・・・J6/L6/N6/P6・・・) これを Sheet2:タイムカード 出社時間 → B2~B32 退社時間 → C2~C32 に自動反映したい。  B2=Sheet1!J5 B3=Sheet1!L5 と手入力すれば上手くいくのですが、 このB2、B3のセルをドラッグさせてもB4以下には反映されません。 (そういうものですか・・・?) 全て手入力する・・・という手段ができなくはないのですが 何か賢いやり方をご存知でしたら教えてください。 ※説明ベタで申し訳ありません。

  • エクセルの関数を教えてください。(時刻の計算)

    例えば、従業員が10人いて、日・週・月ごとに実働時間を集計できるような表を作っています。 A 9:00-17:00 8:00h B 1:00-21:00 8:00h C 3:00-23:00 8:00h : : こんな感じなのですが、実働時間の8時間というのは「退社時刻-出社時刻」で簡単にだせるのですが、ABCの実働時間の合計を普通にSUM関数で出すとシリアル値で計算してしまうので、うまくいきません。 日付・時刻関係の関数をみてみたのですが、どれもうまくいきませんでした。 最終的にはこれに半休が加わったり、食事休憩の時間をマイナスしたり、勤務時間も24時を越えたりするので、少し複雑になってくるのですが、時刻の計算ができないと前に進めません... エクセルはOffice XPを使っています。 よろしくお願いします。

専門家に質問してみよう