• ベストアンサー

データの入力規則

office365使用 Excelについて質問致します A2に(=A1-B1)という計算式を入れており A1-B1の答えが0.15より大きくなった場合 データの入力規則で警告(0.15を超えています!とか…)を出したいのですが、設定方法が分かりません… 色んなサイトをめぐって調べて挑戦しているのですが うまくできず困っています どなたかお詳しい方、方法を教えて下さい よろしくお願いいたします

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

  • ベストアンサー
  • jrn700
  • ベストアンサー率18% (251/1372)
回答No.4

再度お邪魔します №2です 数値が0.15を超えるまで空欄にする。ことは出来ません。表示はしませんが・・・これは関数ですので。 それであれば、「=A1-B1」 と記載したセルの条件を0.15を超えた場合は、№1さんと同じように「セルの色を変える。」とするしか無いと思います。 エクセルのメニューで、「ホーム」「条件付き書式」「セルの強調表示ルール」「指定の値より大きい」数値記入欄に「0.15」と記載。「書式」を、選択し「OK」をクリック これで出来ますが、あくまでも計算式が入っているセルの条件設定です。 こうする事により、0.15より大きい数値になった場合、その選択した書式なります。 目立つのは、セルの色を「赤色にする」等ですが、ご自分の感覚でお願いします。

その他の回答 (3)

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

小生の、勉強が至らないのかもしれませんが、考えを述べてみます。 ホームー条件つき書式で、セルの塗りつぶしの色を設定で、辛抱して置いたらどうかと思う。 (1)セルの値の、直セル入力した、変化に対しては反応し、入力規則が使える。   しかしその入力した値を使った関数式が設定されている、そのセルの値を問題にするのは   簡単ではない(普通のデーター入力規則を使う範疇外か?) (2)それで、VBAでセルの値のChangeイベントがあるので、それを使ってやると、 たとえば、下記。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Or Target.Column = 2 Then ’A列かB列か If Target.Row Mod 2 = 1 Then '奇数行 If Cells(Target.Row + 1, 1).Value > 3 Then ’結果が3以上ならエラー MsgBox "3より大はエラー" End If End If End If End Sub これはA2,A4,A6、・・・に式が入っていて、それらの式は A2は =A1-B1 A4は =A3-B3 ・・ とする。 ーーー 以下の欠点あり (1)VBAを使えない人は、使うのに不安在り。 (2)数式を入れる場所によっては、VBAでの捉え方が(規則性が無いと一般的に記述が難しいので、VBAコードでのセルの特定が難しい。上記では式そのものは問題にせず、結果だけを見ているが。 ーー 他に Sub Sample_Precedents() MsgBox "「A2」セルの参照先(全て):" & Range("A2").Precedents.Address End Sub で使っている、セルのアドレスを捉えて、何とかならないか考えたが、すぐには方法が 判らない。

  • jrn700
  • ベストアンサー率18% (251/1372)
回答No.2

お邪魔します 入力規則と言うよりも、結果を確認して警告を出す。と言うことで考えれば、下記の式をどこかにセルに書き込めば良いかと思います。 =IF(A2>0.15,"0.15超えてるよ",A2)

sipabaledclone
質問者

補足

コメントありがとうございます。 0.15を超えるまでは、このセルを空欄にしておくことは出来ますか?もしお時間ございましたらご教示いただけますと幸いです。

  • sknbsknb2
  • ベストアンサー率38% (1158/3030)
回答No.1

実際にやってみましたが、当該セルに直接値を入力する場合はうまくいきますが、数式になっているとエラーになりません。つまり、入力規則はそのセルに直接入力するときだけ有効ということになります。 (別セルの値の変化による自セルの変化についてはハンドリングしない) 何か方法があるのかもしれませんが、私ならとりあえず「条件付き書式」を使って、当該セルが範囲外の値になった場合にセルを赤くするとかにしておきます。

関連するQ&A