- 締切済み
Excelの入力制限について
Excel2003を使用しています。 例えば、A1のセルにデータを入力したら、A2セルとA3セルには入力できない。 その逆で、A2またはA3のセルにデータを入力したら、A1セルに入力できない。 というようなことは、できませんでしょうか。 入力できないようにするのが不可能な場合、入力してほしくないセルにセルの色付け(例えばグレーにするとか)などは可能でしょうか。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- tsubuyuki
- ベストアンサー率45% (699/1545)
連続している(A1:A3)セルだと言うのであれば、 入力規則を「数式:=COUNTA($A$1:$A$3)=1」にする と言うのも手段の一つですね。 連続しないセルでも 入力規則を「数式:=COUNTA($A$1,$A$2,$A$3)=1」としてやれば 対応できます(こちらの方が前者より実用的かな)。 どちらも、数値・文字列どちらにも対応できますよ。 条件付書式でも同様に考え、 「数式:=AND(A1="",COUNTA($A$1,$A$2,$A$3)>0)」 (A1以外の対象セルにはコピー貼り付け) としてやると、 ・他の条件範囲のどこかに何か入力されている ・自身が空白 時の書式を変える(例えば、赤で塗りつぶしなど)事が出来ます。 (どこにも何も入力されていない時は「透明」のままです。) なお蛇足ですが、これを 「数式:=COUNTA($A$1,$A$2,$A$3)<=2」 としてやると「2カ所まで可=3カ所目が入力されるとエラー」 と言う使い方も出来ます。 「数式:=COUNTA($A$1,$A$2,$A$3)=2」 とするのはオススメしません。 「必ず2カ所に入力しなさい」と言う意味になり、 「1カ所目の入力すら」エラー対象にされちゃいますから(苦)。
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>すみません、この理屈がわからないのですが、教えていただけないでしょうか。 「データ⇒入力規則⇒設定⇒ユーザー設定」の「数式」は「真(0以外)になると入力OK、偽(0)になるとNG」と言う意味を持ちます。 なので、それぞれのセルで「入力可能なら真になる式」を指定しているのです。 この時、指定した式で「空白かどうか調べている」ので「空白を無視する」のチェックは外して、空白も考慮するようにします。 なお、ANo1の回答の式は、A1、A2、A3とすべき所をA1、B1、C1と書いていますので、B1はA2に、C1はA3に読み替えましょう。
まず、入力禁止処理から。A1では、A2かB2にデータ入力されていたら入力禁止、A2及びB2は、A1にデータ入力されていたら入力禁止にしてみます。 A1をクリックして選択。 メニューの「データ」→「入力規則」をクリック。 「データの入力規則」で、「設定」を選択(デフォルトではこれのはず)。 「空白を無視する」のチェックを外す。 「数式」欄に「=AND(A2="",B2="")」と入力し、「OK」で終了。 A2をクリックして選択。 メニューの「データ」→「入力規則」をクリック。 「データの入力規則」で、「設定」を選択(デフォルトではこれのはず)。 「空白を無視する」のチェックを外す。 「数式」欄に「=A1=""」と入力し、「OK」で終了。 B2をクリックして選択し、A2への上記操作と同じ操作をする。 次に、注意喚起のための処理も加えてみます。 A1をクリックして選択。 メニューの「書式」→「条件付き書式」をクリック。 「条件付き書式の設定」で、「条件(1)」で「数式が」を選択。 数式の欄が一つだけになり、そこへ「=OR(A2<>"",B2<>"")」と入力。 「書式」から、適当にセルの色やパターンを選択し「OK」で設定終了。 A2をクリックして選択。 メニューの「書式」→「条件付き書式」をクリック。 「条件付き書式の設定」で、「条件(1)」で「数式が」を選択。 数式の欄が一つだけになり、そこへ「=A1<>""」と入力。 「書式」から、適当にセルの色やパターンを選択し「OK」で設定終了。 B2をクリックして選択し、A2に対する操作と同じ操作をする。 そうしてみたサンプルファイルを以下にアップして見ましたので、よろしければご覧ください。 http://www.dotup.org/uploda/www.dotup.org3972760.xls.html
- kybo
- ベストアンサー率53% (349/647)
可能です。 A2:A3を範囲選択し→データ→入力規則→設定のタブで、ユーザー定義を選び、数式に以下の様に入れOKします。 =$A$1="" A1のセルで、データ→入力規則→設定のタブで、ユーザー定義を選び、空白を無視するのチェックを外し、数式に以下の様に入れOKします。 =AND(B1="",C1="")
補足
早々のご回答、ありがとうございます。 すみません、この理屈がわからないのですが、教えていただけないでしょうか。
お礼
ご丁寧にありがとうございました。 入力規則で、ここまで 出来るとは! 大変、助かりました。