• ベストアンサー

エクセルの入力規則に数式を設定する

A1 と A2 のセルに整数を入力させようとしています。 A1 が0より大きい時は、A2にも0より大きい数字を入力させたく、 セル A2 に下記のように入力規則の数式を設定しているのですが、 なぜか A1=0 の時にA2が0でもメッセージが出てしまいます。 (A1 が0より大きい時 A2 に0を入力できないようにしたい) =IF(A1>0,A2>0) IFをAndにしてみても同様の結果になってしまいます。 どうすればよいでしょうか。

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

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

>A1 が0より大きい時は、A2にも0より大きい数字を入力 これはA1<=0の時の条件ではないですよね。 設定している数式はA1>0でない場合は、Falseが返るので、エラーメッセージがでます。 A1<=0の時にA2はどうなるのでしょうか? なんでも入力可(数値・文字・ブランク全てメッセージを表示しない)なら =IF(A1>0,A2>0,True) 数値なら入力可(文字・ブランクはメッセージ表示)なら =IF(A1>0,A2>0,ISNUMBER(A2))

utasan550
質問者

お礼

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

その他の回答 (1)

  • noitamia
  • ベストアンサー率0% (0/4)
回答No.2

もっとスマートなやり方があるかも IF(A1>,A2>0,A2>-99999999999999)

関連するQ&A

  • エクセル 入力規則設定方法

    全角のみで25文字以内の設定を行いたいと思っておりますが、 A1のセルに下記の入力規則設定を行った場合 [ユーザー設定]⇒.[数式] =AND(A1=JIS(A1),LEN(A1)<=25) 先頭からいくつか数字(全角でも)のみが並ぶとエラーになってしまいます。 また、 [文字列長さ]⇒.[最大値] 25以下 この場合も、数字のみですといくらでも入力が可能であり、しかも16番目の数字が0(ゼロ)に 変化してしまいました。 どこか、何かの設定方法が悪いと思うのですが、 本来設定したい内容としては、 ●そのA1セルに、半角英数字を入力しても全角に変換し、文字数としてカウントする。 ●上記のように、数字のみが10個並んだとしても許可して全角文字に変化させる。 これを設定したいのです。 どうか教授いただけないでしょうか。 宜しくお願いします。

  • [Excel]入力規則の数式が計算されずエラー表示も出ないようになりま

    [Excel]入力規則の数式が計算されずエラー表示も出ないようになりました お世話になります。(先日もこちらではお世話になりました。ありがとうございます。) EXCEL 2007 を使用しています。 入力規則を使用して数式を実行したいと思い 初めて[入力規則]-[ユーザー設定]-[数式]欄に数式を書いて結果を得ようと してみたのですがエラーとなってしまいました。 数式に間違いがあるらしいエラーだったため何度か数式を見直し・やり直したのですが、エラーでした。 入力規則ではなく普通のセルにこの数式を入れると問題なくほしい値が帰ってくるので、 なぜ入力規則では、エラーが出るのか分かりません。 また、何度も入力規則をやり直しているうちに エラー表示ウィンドウが出なくなりました。出ないだけなら成功したと思うのですが、 エラーウィンドウが出ないだけで、数式は実行されません。 入力規則の全ての値をクリアにしてから再度 設定、式を入力しても エラー表示ウィンドウも値も出てきません。 試しにA1セルに簡単な数式を入力規則で行ってみました。 =1+2+3 とか =SUM(B1:D1) (↑値は6になる) これでもエラーも数式の結果となる値もでません。 ちなみに入力規則のリスト表示など他の機能は問題なく値が帰ってきます。 何か間違っているのでしょうか? ちなみに入力規則に記入したかった数式は↓になります   =IF(INDIRECT("F"&ROW())>0,ROW()-2," ") 数式の説明: ・もしF列のこのセルと同じ行に何か値が入っていれば【行-2】になる値を表示   A3セル 入力規則を適用   F3セル 何か値が入っている   A3セル A3といのは3行目のことだから 3-2=1 となり、計算結果の 1 が表示される ・もしF列のこのセルと同じ行に何も値が入っていなければ空欄のままにする というものです。 お分かりになる方いらっしゃいましたらご教授下さい。 よろしくお願い致します。

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

    エクセルの入力規則の設定方法で質問があります。 入力値の種類は整数です。 入力する値は、決められた範囲内で重複しない物にしたいのです。 たとえば、A列の入るデータの条件として、 1 決められた範囲(たとえば2~20までの整数) 2 前にA列に入力されている値より大きな値。 です。   A  1 2  2 3  3 4  4 6  5 ? となっている場合、A5は1~20の間で7以上の値に制限したいのです。 どこかにダミーのセルを作ってA列の最大値を求めておけば可能だと思うのですが、入力規則だけで処理したいのです。 よろしくお願いします。

  • EXCELの入力規則について教えてください。

    1つのセルに、入力規則と数式が入ったセルがあるのですが、誤って誰かが数式を消してしまわないように、保護をかけたいのです。 しかし、保護をかけると、入力規則が動かなくなってしまうので困っています。 F3からF354が入力規則と数式が入ったセルなのですが、そのセルには下記のような式が入っています。 =IF($D3="","",IF(VLOOKUP($D3,'リスト(総合)'!$B$4:$C$354,2,0)<>0,INDEX('リスト(総合)'!$C$4:$C$354,MATCH($D3,'リスト(総合)'!$B$4:$B$354,0)),"")) で、入力規則は、「入力値の種類」が「リスト」で、「元の値」は、下記のような式が入っています。 =INDIRECT($I3) I3からI354には、下記のような式が入っています。 =IF(D3="","",IF(VLOOKUP($D3,'リスト(総合)'!$B$4:$N$354,2,0)='リスト(総合)'!$P$4,"リスト(総合)!S4",IF(VLOOKUP($D3,'リスト(総合)'!$B$4:$N$354,2,0)='リスト(総合)'!$P$5,"リスト(総合)!S5",IF(VLOOKUP($D3,'リスト(総合)'!$B$4:$N$354,2,0)='リスト(総合)'!$P$6,"リスト(総合)!S6",IF(VLOOKUP($D3,'リスト(総合)'!$B$4:$N$354,2,0)='リスト(総合)'!$P$7,"リスト(総合)!S7","名前"))))) 何かいい方法はないでしょうか? 使っているのは、Microsoft Office 2010 です。 どうぞよろしくお願いいたします。

  • エクセルで入力規則設定をしてもメッセージが表示されません

    エクセル2003を使っています。エクセルで入力規則という機能を使ってメッセージを表示させたいのですが、表示できません。下記の他に何か設定があるのでしょうか? データ→入力規則→設定で入力値の種類選択し、データと値設定→入力時メッセージでセルの選択時にメッセージを表示するにチェックしタイトルとメッセージに文言を登録→OK と設定したのですが、入力規則を設定したセルを選択してもメッセージが表示されません。 どなたか、表示できるように教えてください。

  • エクセルでの数式入力

    エクセルでどのように数式を入力すれば良いのかで困っています・・・ B2(0.2)÷C2(3.0)×60+A1(6:50←時間)=A2(6:54←時間) になるように数式を入れたいのです。 私がA2に入力した数式は =B2/C2*60+A1 A1とA2のセルを時刻入力設定しました。 ですがA2がちゃんと6:54になってくれません・・・ 6:51になってしまいます・・・ どのように数式を入れれば正確な数字が出てきてくれるんでしょうか? ご存知の方教えてください・・・

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

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

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

    エクセルでAの列1~20に入力規則により、その列に同じ数値を入力すると警告が出る様に設定しました。同じように重複してAの列1~20に数字の1~100までの数値以外を入力したら警告が出る様にも設定したいのです。 この様に入力規則を同じセルに複数設定できますでしょうか?お教えください。

  • Excel2003の数式設定について教えて下さい。

    Excel2003の数式設定について教えて下さい。 【C1セル】には 数式「=IF(A1="","",A1)」 【D1セル】には 数式「=IF(B1="","",B1)」 【E1セル】には 数式「=IF(AND(ISBLANK(C1),ISBLANK(D1)),"",(IF((C1+D1)=0,"---",C1+D1)))」 と設定した状態で、 【A1セル】に 数値「100」と入力し、 【B1セル】に 数値「200」と入力した場合、 【E1セル】は 「300」と出力されますが、 【A1セル】、もしくは【B1セル】を 空欄にした場合、 【E1セル】は エラーとなり、「#VALUE」と出力されてしまいます。 小生としては、【C1セル】【D1セル】の両セルとも表示上は空欄の為、 ISBLANK関数でTRUEと判定し、【E1セル】は空欄になってほしいのですが、 【C1セル】や【D1セル】には数式が設定されている為、 ISBLANK関数でTRUEと判定されずに、「IF((C1+D1)=0」の演算でエラーとなっている様です。 小生が実現したいこと、 「【C1セル】と【D1セル】の数式の実行結果が空欄以外の時のみ、  【E1セル】の数式を実行する。」 の方法をご存知の方、教えて下さい。お願い致します。

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

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

専門家に質問してみよう