• ベストアンサー

エクセル

セル「A1」に「=if(c1<>"",now(),"")」を指定し セル「c1」に文字が入力された時 セル「A1」にその時の時間を表示し 同じ様に セル「A2」に「=if(c2<>"",now(),"")」 セル「A3」に「=if(c3<>"",now(),"")」と使いたいのですが 例えば「C3」に入力した時 A1/A2の表示時間も再計算され A1~A3の表示が同じに成るのですが c3に入力した時に前に入力したA1/A2の時間が再計算されない方法が無いでしょうか(夫々の入力時間が違って残したいのです) アドバイスをお願い致します

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

関数では無理でしょう。再計算されると値が最新状態に変わってしましますから。 ショートカットのCtrl+;、Ctrl+:で日付、時刻を入力する方法もありますが「C列に値を入れたら自動で」とはいきません。マクロを利用するのが一般的な方法になります。「マクロはちょっと…」というのであればあきらめてください。 以下のマクロを入力するシートの「シート名タブ右クリック」→「コードの表示」で開く画面に貼り付けてください。ワークシート画面に戻ってC列に値を入れてみてください Private Sub Worksheet_Change(ByVal Target As Range) Dim r, rng As Range  Set rng = Intersect(Target, Columns("C:C"))  If Not rng Is Nothing Then   For Each r In rng    If r.Value = "" Then     Cells(r.Row, "A").ClearContents     Cells(r.Row, "A").NumberFormatLocal = "G/標準"    Else     Cells(r.Row, "A").Value = Date + Time     Cells(r.Row, "A").NumberFormatLocal = "yyyy/m/d hh:mm"    End If   Next  End If End Sub

yk_86bfe5d
質問者

お礼

欲しかった内容のアドバイスを有難う御座いました マクロはN88BASICの命令語で真似事をしていますが 頂いたプログラムがこんなにスッキリ出来るのに驚いています マクロでの質問が出来るのを教えて貰ったので 今後とも宜しくお願い致します

その他の回答 (1)

回答No.1

自動再計算をしない設定にすれば値はそのまま残ります。 ただし他のセルも再計算されなくなるので注意です。 または値が入ったセルでF2→F9を押すとデータが値として保存されます。 数式は消えてしまいますが、値は固定されます。 あとはマクロで自動化ですかね。 一度作ってしまえばこっちの方が楽だと思います。

yk_86bfe5d
質問者

お礼

有難う御座いました 「F2→F9」の方法は参考にさせて頂きました マクロを組むのが最良の様子ですね 勉強します

関連するQ&A

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • EXCEL、文字の数をカウントしたい。

    エクセル関数を使って、文字(100文字以上)の数をカウントしたいのですが、可能でしょうか。 例えば:セルに一つずつ、ABCAAACDを入力した場合に、A=4、B=1、C=2、D=1 のように表示したいんです。 ※Aを数える場合に、IF関数を使ってAのとき1となるように IF(A1="A",1)+IF(A2="A",1)+・・・+・・・のように順次足していけば短い文字であれば可能ですが、文字数が多くなってくると、セル内に関数がはいりきらずに計算できなくなります。別の関数をつかってより簡単に計算できないでしょうか?

  •  エクセルでの経過時間の分計算。

     エクセルでの経過時間の分計算。  よろしくお願いします。セル内に”0900”と入力すれば、”=NOW()”関数式で表示されている現在時間からの経過した分を表示できないか考えています。何か良い方法が分かる方がいれば、よろしくお願いします。 例)      A        B        C 1  10:05:39    0900        65 2 3 A1"=NOW()" B1"0900と入力" C1"経過分時間65を表示"

  • エクセルの関数でセルの隣のセルを指定する方法

    セルC1の計算式を=A1+(C1の左隣のセル)と指定することは可能でしょうか? なんでかというとAとBの間にセルを挿入したときにもこのC1の計算式は=A1+B1と計算したいのです。 その場合にINDIRECT関数をつかっていたのですが、もしこの挿入したセルが空の時にはA1+B1のままではなくA1+C1(移動してB1がC1になった)にしたいからですが、 なにかよい方法があったら教えて下さい。 説明がわかりづらくて ごめんなさい 1)A1に10をB1に20を入力しておきます。 2)C1に10+20の30が表示(何らかの計算式) 3)AとBの間にセルを挿入 4)新しいB1せるに5を入力 5)D1(C1が移動した)には15が表示 6)もしB1に何も入力しなかったらD1は30を表示 こんなのって可能でしょうか? この何らかの計算式をアドバイスください よろしくお願いします。

  • エクセルの質問です。

    エクセルの質問です。 例えば、A1・B1・C1セル全てに数字(文字列)が入力されたら、Z1セルにAと表示される。 また、F1・G1・H1・I1セル全てに数字が入力されたらZ1セルにBと表示される。 上記のように指定したセル全てに入力されるとそれぞれA・B・C・Dと4つパターンで表示される ようにしたいのですが、わかりません。 おそらくIF関数で条件を組み合わせて作るのだと思いますが、どなたかご教授お願いいたします。

  • 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」と、そのまま文字列として出て来ちゃいます。

  • Excel 関数で多数の複数条件・OR条件を指定

    こんにちは。Excelのことでわからない事を教えてください。 該当セル内に複数条件を指定して、いずれかが当てはまれば指定した文字列が表示されるようにしたいのですが、その条件が100個くらいになってしまいます。 例えば、 A1セルに【AAまたはBBまたはCC】が入力されたらC1セルに【ああ】と表示する。 A1セルに【DDまたはEEまたはFF】が入力されたらC1セルに【いい】と表示する。 A1セルに【GGまたはHHまたはII】が入力されたらC1セルに【うう】と表示する。 というようなことをしたいので、私は、C1セルに以下のような関数を作りました。 =IF(OR(COUNTIF(A1,"*AA*"),COUNTIF(A1,"*BB*"),COUNTIF(A1,"*CC*")),"ああ",IF(OR(COUNTIF(A1,"*DD*"),COUNTIF(A1,"*EE*"),COUNTIF(A1,"*FF*")),"いい",IF(OR(COUNTIF(A1,"*GG*"),COUNTIF(A1,"*HH*"),COUNTIF(A1,"*II*")),"うう","")) それで、その指定したい条件が100件くらいになってしまうのですが(指定するワードが100個という意味です)、地道に作っていくしかないのでしょうか。もっとスマートなやり方はありますか?ワードは今後追加もしくは削除していく可能性があるので、こんな作り方でいいのか悩んでいます。 そもそもこのようなものをExcelでやろうとするのは間違いですか? 皆様のお知恵を拝借したいと思います。アドバイス宜しくお願いします。

  • A1セルに入力したら、入力時間をA2セルに自動挿入

    こんにちはtmgmです。 Excelでちょっと困っています。 「A1セルに文字を入力したときの時間をA2セルに表示する」ということがやりたいのですが、 実際やってみるとなかなか出来ませんでした。 A2セルの書式をhh:mmなどにして、セルに=if(A1<>"",NOW(),"")と書きました。 これで一応A1セル入力でA2セルに時間は挿入されますが、Excelの自動計算機能により、一度閉じてまた開いた場合や他のセルで自動計算を行うような入力をした際などに時間が更新されてしまいます。 時間が更新されてしまってはだめなんです。 かといってツール→オプションから自動計算を手動にすると、その他の計算(例えばSUM関数など)の自動計算に影響がでて、使い勝手が違ってくるし。。。。 どうすればよろしいんでしょうか? お分かりになる方ご返答宜しく御願い致します。

  • エクセル IF関数が入った条件付き書式について

    エクセルにおいて、セルA1、B1、C1があるとします。A1、B1には数値が何も入力されていない状態で、C1に計算式「=SUM(A1)/B1」が入っているとします。このままでは、C1は、「#DIV/0!」と表示されます。 この表示を消すために、C1にIF、ISERROR関数を使い、「=IF(ISERROR(SUM(A1)/B1),"",SUM(A1)/B1)」の計算式を入力します。 このままでもいいのですが、C1の値が「10以上」になった時に、C1のセルに色を付けたいのです。 書式→条件付き書式→セルの値が→次の値以上→10 にすると、セルに何も値が入っていない(空白)状態で色だけが付いてしまいます。 色々調べると、IF関数の""の空白が文字列のため、数値より大きいとみなされている事が原因っていうことは、分かりましたが、色々試してみても出来ません。何かいい方法はございますでしょうか? ご教授お願いします。

  • エクセル2003 「0」表示をブランクにしたい。

    会社でエクセル2003を使っています。 あるエクセルのファイルが… 以前は、エクセル・オプションの計算式が入ったセルも「ゼロ値をセルをゼロ表示にする」のチェックを外し、「0」をブランクにできたのですが… 気が付くと、「0表示」になっているのです。 わかる限りのあらゆる手を使ってみましたが…「0表示」は消えないのです。 ほかに何かいい方法はありませんか? わかる限りやってみたことは… (1)オプションの「ゼロ表示」のチェックを外してみた (2)セルの書式設定で「0;-0;」と「[=0]″"」の2パターンを試してみた。 *If(A1=0,"",B1)のような式は、作った計算式の都合上使えないセルがあるので使えないのです。 ↑この計算式は有効でした。 関係あるのかどうかも分かりませんが、「0」が出るようになる前は、C1&D1という計算式を入れていたのですが、定かではありませんが、C1&"A"&D1と計算式に”文字”を入れたからなのか? 同じシートでも文字入力を計算式に入れていないセルは「ブランク」のままなのです。 ほかに何か方法はありますか? 説明が足りないのは重々わかっているのですが… お許しください。

専門家に質問してみよう