• ベストアンサー

エクセルで入力規則の設定のあるセルの関数変更

エクセルで入力規則の設定(不正なデータが入力されたらエラーメッセージを表示するにチェック) のしてあるセルに入力されている関数を変更する場合、 一度入力規則は解除しなくてはいけないのでしょうか。 私の場合、セルを選択して数式バーで変更をかけてエンターキーを押すと、 変更した関数も不正なデータととられてエラーメッセージが出てしまいます。 関数を少し変更したいとき、いちいち入力規則を解除するのはめんどくさいので、何とかならないのでしょうか。 よろしくお願いいたします。

  • hpno
  • お礼率64% (22/34)

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 御質問の主旨からは若干外れるかも知れませんが、入力規則は不都合なデータが入力される事を防ぐためのものですから、通常は手入力を行うセルに対して設定するものです。  関数が入力されているセルの値は、他のセルのデータを基にした計算により、自動的に決まってしまいますから、関数が入力されているセルに、データが手入力される事は、普通はありません。  つまり、関数が入力されているセルには、入力が行われる事が無いのですから、入力規則を設定する意味が無い事になります。  関数が入力されているセルの値に制限を加えるのでしたら、そのセルの値を決定するために必要なデータの手入力が行われる、大元の参照先のセルに入力規則を設定されるべきだと思います。  もし、関数がみだりに変更されない様にするのでしたら、入力規則ではなく、シートの保護機能を使用するのが適切だと思います。  ですから、この御質問に対する回答は、 「関数が入力されているセルの入力規則を全て解除し、代わりにデータを手入力するセルに対して、適切な入力規則を設定する」 という事になります。

hpno
質問者

お礼

回答ありがとうございます。 もともと対象としているデータは私の作ったものではなかったので、作成者に確認したところ、 ご推測のように関数を変更されることを防ぐために入力規則を入れたようです。 シート保護に切り替えるようにいたします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

質問者には唐突なことかもしれませんが 入力規則の設定の操作をして、マクロの記録を採ると Range("A2:A10").Select With Selection.Validation .Delete ・・・ となってDeleteが毎回入るのが気になってました。 それからして、一旦そのセル(範囲に)設定してある入力規則は解除(抹消)してでないと 新しい入力規則は設定されないと推測します。 ーーー 入力規則が値の範囲などの場合の上限・下限値は随時そこだけを変えることが出来るようです(確認)。 でもOKを押す直前の値で再設定している仕組みなのかも知れません(内部的なことはわからない)。 >セルを選択して数式バーで変更をかけてエンターキーを押すと 入力規則のユーザー設定(数式を使うのはこのケースのはず)の数式を入れるボックスでの変更と 数式バーの数式を変えるのとは別物のはず。どういうことか説明が必要では? 数式バーで関数を入れるときのセル番地などのA1などの入力が、入力規則の制約に引っかかることは当然ありえる。 入力規則の設定は、関数を入れるセル(手入力は必要ない、かつデータを手入力してはならない)ではなく、素の手入力などを行うセルに限られるのは通常の話ではないですか? 入力規則はデータ入力のときだけ効果を発揮する。 実験 A3に4を入れる A5に=a3+5 で9になっています。 A4:A10に値が10から20までを設定。 A5は変化なし。 A3を1にしてもA5は6となるだけで、排除されない。 こういうことを認識して、質問を考え直すべきかと。

hpno
質問者

お礼

ご回答ありがとうございます。 質問の意図が伝わりにくかったようですいません。 入力規則を解除して対応するようにします。

noname#128939
noname#128939
回答No.1

こんばんは。私はあまり詳しくないのですが 空いているセルに、新しい関数を入力して ドラッグして、もっていけば 挿入先のセルだけ、上書きされるかもしれません。 もし、意味が違っていたら、ごめんなさい。

hpno
質問者

お礼

回答ありがとうございます。 確かにその方法を使えば入力できるかもしれません。 試してみます。

関連するQ&A

  • EXCELのデータの入力規則を1つのセルで複数設定出来ますか?

    教えてくださいm(_ _)m 現在Excel2003で関数を使った表を作っています。  セルA1に1~30を入力した時に、関数のLOOKUPでセルB1に表示させるように作ったのですが、”データの入力規則”で31以上を入力するとエラーメッセージの停止を表示させるように設定しました。 ところが、A1に30を入れたときにエラーメッセージの注意も表示させる事になったのです。(すなわち、同じセルで入力された文字に対して、別々のエラーメッセージを表示させたいのです。) しかし入力規則の設定が1つしか出来ないようなのですが、複数の入力規則の設定する良い方法はありますでしょうか? よろしくお願いいたしますm(_ _)m

  • エクセル入力規則で関数を使ってエラーを表示させたい

    エクセル2003を使用しています。 入力規則の条件設定でユーザー設定を選び、関数を使用して、 E5のセルに「A」、もしくは、「B」で始まるデータを入力したときに、 エラーメッセージを表示させたいのですが、 うまくエラーメッセージを表示させることができません。 COUNTIF関数を使って =OR(COUNTIF(E5,"A*"),COUNTIF(E5,"B*")) と数式に入れてみたのですが、うまくいきませんでした。 どなたかご教示いただければありがたいです。よろしくお願いします。

  • エクセルの入力規則について

    エクセルの入力規則について教えてください。 セルA1に7桁のコードを入力するとします。 7桁のコードは前の6桁を7で割った余りをMOD関数で 出し最後の1桁にしています。 コードが7桁であり、かつ、前の6桁を7で割った余りが末尾1桁の数値と等しくなければ、 エラーメッセージを出して入力を出来ないようにしたいのです。 入力規則のユーザー設定、数式を入れてメッセージを出すことは 可能でしょうか。 どうぞご教授お願いいたします。

  • Excelセル関数入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。D列が数式となります。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐになりうまくいきません。B4に入力する関数もしくは何か良い方法はないでしょうかよろしくお願いします。

  • 入力規則? エクセル関数??

    エクセル2003を使用しています。 特定のセル内に数字の1を入力すれば(同じセル内に)○○、2と入力すれば××、3と入力すれば△△となるように設定したいです。 ツールバーの「データ」→「入力規則」もしくは、「セルの書式設定」→「表示形式」から作成することができますか? それとも関数を作る必要がありますか? お願いします。

  • 【EXCEL】セルに数式がある場合のデータ入力規則

    EXCEL97-2003でシート作成しています。 あるセルには数式が設定されていて、条件は0~1の範囲以外の 場合はエラーとしたいです。 EXCELのデータの入力規則機能を色々設定したのですが、 セルに数式が予め入っている場合は上手くいかないようです。 入力規則でこのような設定は可能でしょうか。 その場合はどのような設定になるのでしょうか? 他に方法はあるのでしょうか?

  • 1つのセルに、関数固定・データの入力規則(リスト)を設定できますか?

    お世話になります。 1つのセルに以下のことを設定したいと考えております。 ・毎月1日になったら、"未対応"(入力規則:リスト)と表示させる。 ・"対応済"(入力規則:リスト)に変更しない限り、"未対応"表示にする。 ・1日に"対応済"に変更できる状態にする。 1つのセルに、入力規則のリストと、関数を固定できたら 上記のことができると考えています。 セルにロックをかけるとリストを変更することができないので、 他に手段がないかと模索しております。 アドバイスありましたら、ぜひお願い致します。

  • エクセルで入力規則のあるところに関数などはいれられますか

    カテゴリーよくわかりません。 バーコードで読み取ったものをA列に入力するとき データの入力規則・A列A1,A2,A3…はリスト1から選択 例) A列       リスト1 A1        012345 A2        012346 A3        012347            012348           012349 (ずれがなおりません)                  012350           リスト1の先頭は数字の0がついています。よって、セルの書式表示は文字列です。 リスト1の文字列は6文字ですが、 バーコードをバーコードリーダーなどで読みとりする場合 後ろのほうに必ず余計な数字1つか2つ付いてますよね。 それを読まないでA列に6文字だけ入力することはできないんでしょうか できればバーコードリーダーの設定は変えないで、関数の挿入とかで。 よろしくお願いします。

  • エクセルのデータの入力規則について

    エクセル2013を使用している初心者です。 以下の入力規則をしています。 (1)A1セルが「aもしくはb」の場合、B1セルに入力しエンターを押すと、警告文が出て入力出来ない。 (2)A1セルが「c」の場合、B1セルに「1,000」と金額が入力出来る。 ここまでは良いのですが、 (2)の状態でA1セルを「aもしくはb」に変更した時、B1セルに「1,000」と金額が入力されたまま残ってしまいます。 この時に「エラー!金額が入力されています」等のメッセージを表示させる事は可能なのでしょうか。 A1セルが「c」の場合、普通に数字を入力するので、セルに関数は入れられないと思うのですが。。。 因みにマクロは全くの初心者です。

  • エクセル 関数のコピーが出来ない

    関数のコピーをするのに、これでは数式バーの関数をコピーし、そのあとエンターキーを押してから、別のセルにペーストできていました。 しかし、今回やってみたところ、数式バーコピーが出来ません。(ふつうは反転させた状態で右クリックでコピー出来たのですが、右クリックをすると反転が解除されてしまいます。) 同じファイルの別のワークシートではできます。 思い当たるのは、そのシートは保護するのを忘れ、他の社員に関数を消されてしまい、ちょくちょく数式をコピーして入れなおすことがあった、というくらいです。 エクセルは2010を使っています。 よろしくお願いいたします。

専門家に質問してみよう