エクセルの時刻入力(now)関数を自動更新について

このQ&Aのポイント
  • エクセルにおける時刻入力の方法について、自動更新をせずに値としてセルに残す方法を教えてください。
  • エクセルのNOW関数を使用してセルに現在時刻を入力し、ファイルを次回開いたときにも更新されないようにする方法を教えてください。
  • エクセル2003で、D列に品物名を入力したときにA列の開始時刻、B列の終了時刻、C列の所要時間を自動入力し、次にファイルを開いたときにも変わらないようにする方法を教えてください。
回答を見る
  • ベストアンサー

エクセルの時刻入力(now)関数を自動更新について

ご質問させてください。 うまく表現できるかわかりませんが、エクセルにお詳しい方、ご教授くださいませ。 NOW関数をセルに入力して、ファイルを次回開くとその時刻となってしまいますが、 自動更新させずに、値としてセルに残す方法はご存じありませんか? ご存じの方いらっしゃいましたら、ご教授くださいませ。         A    B    C    D 1     開始時刻         終了時刻       所要時間       入力品名         ⇓             ⇓               ⇓ 2 『=IF(D2="","",NOW())』  『=IF(A2="","",A2+1/1440)』 『=B2-A2』    3 ・・・・・・以後続く。 という感じで、D2に品物名を入れたら、A列に開始時刻 B列に終了時刻『1分』 C列に所要時間を自動入力し、その開始時刻(A列)を以後反映させないように(次にファイルを開いても数値が変わらない。)ようにするには、どのようにしたらよいでしょうか? エクセルは初心者の域をでませんので、悩んでおります。ぜひ、ご教授くださいませ。 よろしくお願いいたします。 ※ちなみに、エクセル2003です。                                    

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

シートタブ(Sheet1) の右クリック--コードの表示--開いたVBEditor に、 以下を貼り付けます。 Private Sub Worksheet_Change(ByVal Target As Range)  '除外条件  If Intersect(Target, Range("D2", Cells(Rows.Count, 4))) Is Nothing Then Exit Sub 'D以外  If Target.Count > 1 Then Exit Sub '複数セル  If Target.Value = "" Then Exit Sub '何も入れない場合  '実行  Application.EnableEvents = False  Target.Offset(, -3).Value = Now()  Target.Offset(, -2).Value = Now() + TimeSerial(0, 1, 0)  Target.Offset(, -1).FormulaLocal = "=RC[-1]-RC[-2]"  Target.Offset(, -1).NumberFormatLocal = "m:ss"  Application.EnableEvents = True End Sub

ys11a500
質問者

お礼

返信が遅れてもうしわけありません。 VBAのコード?を記載頂き有難うございました。 エクセルへ貼り付けたら、うまく作動しました。 助かりました~。 これから、中身について勉強していきます。。 ありがとうございました!

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

NOW関数は現在時刻表示です。再計算になるたびに現在時刻を表示します。 現在時刻を手動でセットでいいなら Ctrlキーを押しながら":"のキーを押す。 ※左隣の";"のキーだと現在日付を入力できます。 なお自動にする場合は、VBAの利用になります。

ys11a500
質問者

お礼

早速の回答有難う御座います。 やはり、厳しいでしょうか?VBAだと出来そうな感じがしますが、(といっても、初心者ですが・・。) ちなみ、列を一行挿入してそちらへTEXT関数として出し、一回だけしか入力出来ないようにする などの方法も考えましたが、、、、、厳しいですね。 早速、ご回答頂き、有難うございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

所要時刻は常にセルA2+1分なのですか? ならば以下の方法でどうでしょう。 1)セルB2は式[=if(A2="","",A2+"00:01")]を設定 2)セルC2は式[=if(B2<>"",B2-A2,"")]を設定 3)セルA2で、Ctrl+: (コロン、ケのキー)を押下(その時刻が入力されます)

ys11a500
質問者

お礼

早速、返信頂き有難うございます。 質問がまずくて申し訳御座いません。 A2セルは、仰るように、Ctrl+;で入力したら、間違いなのでしょうが、D2セルへ入力した段階で 全て、表示させるようにしたいのですけど、、。VBAとか、マクロを使用しなければだめですかね・・? 早速ご回答頂きありがとうございました

回答No.1

  関数では無理です。 日付のセルにカーソルを合わした後で Ctrl+; (セミコロンです) を押せばその時の日付が入力されます。 ついでに Ctrl+: (コロン) ならば、その時の時刻になります  

ys11a500
質問者

お礼

早速、ご回答下さり有難うございます。 やはり、関数では無理でしょうか・・・。できれば、D2セルを入力した段階で自動で入力させたいのですが。 いくら検索しても、ヒットしないので、、、ご質問させて頂きました。 早速の回答有難う御座いました。

関連するQ&A

  • エクセルで時刻を自動入力する方法

    教えてください。 エクセルで、たとえばA1のセルに自分の名前を入力したときB1にそのときの時刻が入力される。5分後、A2に自分の名前を入力したときB2にその時の時刻が自動で入力される。ただしこの時A1の時刻はA2に自分の名前を入力したときのままで固定されている。この操作を100回くらい繰り返しても時刻は入力したときのまま。 上記内容はエクセルでどうやればできるのでしょうか?

  • EXCELの関数について教えてください。

    EXCELの関数について教えてください。 A列のセルに「18:00 」or 「18:30」 or「19:00」 or「19:30」と入力するとB列のセルに「8:00」と表示され、「17:30」と入力すると「7:00」と表示される方法を教えてください。 セルの書式の表示形式は「文字列」ではなく「時刻」に設定したいです。 多分IF関数をつかうを使うのではないかと思うのですが、書式が「時刻」のためかうまくいきません。 よろしくお願いします。

  • 関数の自動入力について

    セルA列に数値を入力し、B列にある数値を入力すると、C列に自動に数値が入力されるように、設定をしたいです。 例えば、セルAの1に10と入力してあり、セルBの1に、20と入力すると、自動にCの1に30という結果(足し算)が入力されるような設定はどうすれば良いですか。 お願いします。

  • Excel 関数の引数で時刻を使いたい

    Excel2007です。 時間の計算をしたいのですがIF関数の引数に22:00等を使う方法を教えて下さい 次のようにすると22時までは計算されるのですが22時以降が計算されません。引数の時間の使い方が間違っているような気がするのですが、時刻を引数として使う方法を教えて下さい。 A1に日付  B2に開始時刻 =IF(WEEKDAY(A2)=7,"8:00","17:30") 土曜日は、8:00 月曜から金曜は、17時 日曜日は、入力しない  C2に終了時刻  手入力 例えば23:00 D2に =IF(C2<="22:00",C2-B2,"22:00"-B2)  開始時刻から22:00時までの時間 E2に =IF(C2>"22:00",C2-"22:00",0)  22:00以降終了時刻までの時間 よろしくお願いします。

  • 関数NOWについて

    A行に何かデータを入力した場合、同じ列のとなりの行のセルに入力時間を残したいと思い、 例 A1:あ B1:2006/5/9/16:00 A2:い B2:2006/5/10/18:00 =IF(A1<>"",NOW(),"")  といった関数をB1に入れて、B1からB10までドラッグしました。 実際時間も表示されうまくいったと思ったのですが、A1にデータを入力後しばらくたってからA2以降にデータを入力すると、B1に表示されていた時間が更新され B2以降の時間と同じになってしまうのです。 以前の入力時間をそのままに残しておく方法はないものでしょうか? よろしくお願いいたします。

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • エクセルで入力した数値によって自動で入力される数式?

    エクセルで台帳を作っているのですが、 別の列のセルに入力した数値によって、 指定したセルに自動でA,B,C等と入力されるようにするにはどのように設定すればいいのでしょうか。 A列に0~1.1なら B列に A 1.2~2.9なら B 3.0以上なら C のように数字の範囲によってABCと表示されるようにしたいのです。 エクセルの数式等は簡単なものしかわからず、どのように調べたらよいかもわかりません。教えていただけたら助かります。

  • エクセルで数字の自動入力について

    すみません。 現在、仕事でエクセルに自動で番号が振られていくシートを作りたいと思っています。 エクセル 2003 OS WINDOWS VISTA A1のセルから始まる表で例えばG1に"済”か”未"の文字が入力されるとA1のセルに『1』G2に入力されるとA2には『2』という具合に G列に文字が入力されると自動でA列に数字が入力される、という設定にしたいのです。 IFやVLOOKUPで挑戦してみましたが、いまいちうまくいきません。。。 どなたか、お詳しい方がいらしたらご教示お願いいたします。 

  • エクセルの自動入力について

    エクセルの自動入力について 例えば、A列に「1120」と入力したら、B列はA列の4桁の一桁目に反応して「1年」と自動的に入力される機能はありますか? A列が2354ならB列は2年。 A列が5603ならB列は5年。 という風に。 私が使っているのはエクセル2000です。 ご存知の方いらっしゃいましたらよろしくお願いいたします。

  • エクセル2003で勤務シフト表を作成 退勤時刻を表示させる関数を探しています。

    エクセル2003にて、職場の勤務シフト表を以下のように作成中です。   A   B   C   D   E   F   G   H   I   J   1     出   退   14   15  16   17  18  19  20 2山田  14  18   A   A   B   B 3佐藤  15  19       B   A   A   A 4鈴木  5福田  16  20           C   C   C   C 6             14   15  16   17  18  19  20 この様な形式です。 1.D2:J5セルには、ポジションの略称が入ります。  (例:2行の山田さんは14時~16時までAポジション、16時~18時までBポジション。4行の鈴木さんはこの日はお休み)  2.各時間帯の適正人数を考えながら、D2:J5セルにポジション略称でシフトを入力していきます。 3.上記2.の作業後、出勤時刻をB列に、退勤時刻をC列に自動的に表示されるようにしたいのです。   4.出勤時刻に関しては、なんとか自身で調べてB2セルの場合、   =IF(COUNTBLANK(D2:J2)=7,"",HLOOKUP("*",$D2:$J$6,7-ROW(),FALSE)) とすることで解決できました。 【ここから困っています。】 5.退勤時刻も同じように自動表示させたいのですが、ここで行き詰ってしまいました。   解決策をお教えいただけると助かります。   宜しくお願いいたします。        

専門家に質問してみよう