• ベストアンサー

Excel: 飛び地の範囲に亘る入力規制

お世話になります。 A1~E1、A3~E3、A5~E5 の飛び地になった15個のセルに対し、「1以上10以下の整数」かつ「数値が重複しない」(空欄は許す)という条件で入力規制を掛けたいのですが、方法が分かりません。 お分かりになる方、ご教示いただければ幸いです。 ※先に単純化した類似の質問(https://okwave.jp/qa/q9880202.html)をしてご回答をいただいたのですが、自力で「飛び地の範囲指定」に適用することができませんでした。力不足を痛感しています。

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

  • ベストアンサー
回答No.3

入力規則で、離れたセルに重複禁止をかける方法はわかりませんでした。 その代わりに、”条件付き書式” → ”セルの強調表示ルール” → ”重複する値...” で設定すれば、入力時に重複したセルが赤く強調されるので、重複を避けられるのではないでしょうか? 添付の図は B3:H3  には、入力規則 ユーザー設定 =AND(B3>=1,B3<=15,INT(B3)=B3) B6:H6 には =AND(B6>=1,B6<=15,INT(B6)=B6) B9:H9 には =AND(B9>=1,B9<=15,INT(B9)=B9) を設定しています。

hiro_1116
質問者

お礼

前質問も併せ、何度もご回答いただきありがとうございました。 確かに入力規制しなくても、この方法で気付かせれば十分でした。 私の視野を広げていただいたという意味も込めてBAにさせていだだきます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • SI299792
  • ベストアンサー率48% (720/1491)
回答No.4

A1とB2の様な飛び地の重複は許すと解釈します。 (そうしないと、数字が足りなくなるので) 別々にデータの入力規則を設定するのが手っ取り早いです。 纏めてやりたいなら、 A1~E5を洗濯。 データ、データの入力規則。ユーザー設定。 数式: =AND(A1>0,A1<11,A1=IFERROR(INT(A1),0),COUNTIF($A1:$E1,A1)<2)+ISEVEN(ROW()) OK

hiro_1116
質問者

お礼

ご回答ありがとうございます。 なるほど。ISEVEN を使う方法には気付きませんでした。 参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

回答ではありません。 何がしたいのかわかりませんが、入力規則に離れたセルを指定することはできないと思います。 つまり、そういう場合は、入力のシートを作って入力をして、表示するシートで、その入力を反映させるという使い方が一般的かと思います。 入力は連続して行うので、入力規則の範囲は連続したものになります。 例えば、宛名印刷をしようとすると、シート1に住所録のデータを シート2に封筒もしくはハガキのレイアウトを作るのが一般的だと思います。 回答以外のことを書いて申し訳ないのですが、もう一度、Excelの使い方を考えられてはいかがでしょう。

hiro_1116
質問者

お礼

ご親切なアドバイスをありがとうございます。 Excelはそういうものなのですね、、、 他人に入力を依頼するフォームを作っているのですが、フォーム全体が画面に体裁良く収まるように入力用の表を途中で改行することを考えていました。(下図のようなイメージで、順位のボックスに重複しない数字を入れてもらう) サンプル  A  B  C  D 順位    □  □  □  □ サンプル  E  F  G  H 順位    □  □  □  □

全文を見る
すると、全ての回答が全文表示されます。
  • chie65535
  • ベストアンサー率43% (8539/19413)
回答No.1

飛び地になったセルを範囲指定する方法はご存知でしょうか? CTRLキーを押したまま、個々のセルを左クリックすると、飛び地になった複数のセルを範囲指定できます。 範囲指定が終わったら、以下サイトを参考に「名前の定義」を行います。 https://www.becoolusers.com/excel/name-create.html 後は、 https://okwave.jp/qa/q9880202.html の回答の「$A$1:$A$5,A1」の代わりに「自分で付けた範囲の名前」を使用します。

hiro_1116
質問者

お礼

早速のご回答誠にありがとうございました。 範囲に名前を付けることは知らなかったので大変勉強になりました。 ご回答の中に書かれている "回答の「$A$1:$A$5,A1」の代わりに" の部分は "回答の「$A$1:$A$5」の代わりに" と理解して試しているのですが、どういうわけか数式エラーになってしまいます。 自分でももう少し調べてみます。

hiro_1116
質問者

補足

いろいろやってみましたが、どういうわけか COUNTIF($A$1:$A$5,A1) の範囲指定の部分に名前で定義したセルを入力するとエラーになってしまうため、COUNTIF($A$1:$E$1,A1)+COUNTIF($A$3:$E$3,A1)+・・・ と飛び地毎に COUNTIF を分けて凌ぐことにしました。 もっとスマートなやり方があれば後学のためにぜひご教授ください。よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで複数条件の入力規制を掛けたい

    A1~A5の5個のセルに「1以上10以下の整数」かつ「半角文字」かつ「数値が重複しない」という条件で入力規制を掛けたいのですが、方法が分かりません。 具体的にご教示いただけると助かります。

  • Excel2010 飛び地セルの重複チェック

    教えてください。 今、A1,A3,A5に入力するセルがありますが、すでにどれかに入力されていると、その他のセルに入力すると、明示的に警告するように「条件付き書式」で、セルの背景を赤に「塗りつぶし」指定したいのですが、飛び地セルの設定がわかりません。 記述は、=CountIf($A$1,$A$5,$A$5,A1)>1とし、適用先を$A$1,$A$5,$A$5としていますが、エラーでうまくいきません。よい方法を教えて戴けると嬉しいです。 ちなみに、上記セルには他の重複チェックの「条件付き書式」2件と、入力方法は「データの入力規則」で、入力値の種類を「リスト」を選択しています。

  • Excel入力規制について

    Excelの入力規制について質問します。 A1セルにプルダウンがあり、「いちご、りんご、みかん」の3種類が選択可能な状態とします。 B1セルからB5セルの5セルが入力セルになっており、それらに下記の入力規制を設けたいです。 B1セルには10以下の整数のみしか入力出来ないよう規制を設け、更にA1セルのプルダウンで「いちご」が選択された場合は10以下の整数のうち3と4の入力が不可が不可となる。 知見のある方ご教示頂けると嬉しいです。

  • エクセルで入力規制をかけたい

    エクセルで入力規制をかけようと思うのですが、以下のような問題が解決できずにいます。良い方法がなかなか思いつきません。心当たりがありましたら、ご教授いただけませんでしょうか。 セルに入力規制をかけて「入力値の種類」を「整数」にしてます。(以下、このセルをAとする)しかし、入力規制されていないセルに10.5と入力されているが、10.5がセルの書式設定で11と表示されている場合、これをコピーして、「形式を選択して貼り付け」-「値」を選択するとAに貼り付けることができてしまいます。見た目は11と表示されていますが、数式バーには10.5と表示されています。これを整数だけに限定したいのですが・・・。 数式バーに表示される値も整数に限定させる方法はないものでしょうか。 「形式を選択して貼り付け」-「値」という方法以外の貼り付けを禁止する必要もあるような気がしています。

  • 続:Excelセルに入力規制をかける方法

    先日、「Excelセルに入力規制をかける方法」の質問をさせていただいた者です。 質問内容にもう1つ補足をつけて再度質問させていただきます。 下記のような場合は「COUNTIF」を使って規制できたのですが、 「A列に数字を入力していき同じ列に同じ数字が入ると警告というか同じ数字を入力できないようにする。」   A列 1 10050 2 11598 3 10090 4 25149 25149の下に 5 11598←と入れるとコラム2に同じ数字があるので警告等入力できないようにする。(COUNTIF使用) 上記の内容に補足として、下の場合にはどのようにしたらいいのでしょうか? 数字だけに反応して、ある記号が入ったときには記号のみ重複可能とかにはできるのでしょうか? 例:   A列 1 10000 2 5000 3  〃 4 10500 5  〃 ←A3とA5のセルに「〃」が入ってもこの記号の場合は重複可能。

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

    エクセルの入力規制について質問です。 例えば、『「B1」セルに「A1」セルより大きな値が入力された場合は、 エラーメッセージを出し、入力できないようにする』ということは、 入力規制の設定で可能ですが、この「B1」セルが「C1」~「E1」の 合計値である「=sum(C1,E1)」とした場合でも、「A1」より大きな値と なった場合にエラーメッセージ+入力規制をかける事(この場合、B1は 合計値ですので「C1」~「E1」に対して)は可能でしょうか? 数式を入れただけでは、合計数がオーバーしてもエラーメッセージも 出ず、入力されたままの状態となり、不便を感じており何とか できないものかと思っております。 「B1」が「A1」セルより大きくなった場合にセルの色を変えるなど、 条件式書式は設定できますが、入力はできてしまうのでやはり入力規制 とエラーメッセージが出るのがベストと考えておりますが、こういった 数式結果の入力規制のやり方及び同様の規制方法をご存知の方が いらっしゃれば、ご教授のほど宜しくお願いいたします。

  • Excel関数

    Excel2010を使用しています。 A~E列 及び H~K列の1,000行目くらいまで、1ケタから5ケタの数字を入力しています。 重複した数字がないか確認したいのですが、適した関数はありますか? (重複していた場合、指定したセルに「重複」と出るような関数など) セルは空欄の場合もあります。 ご教示いただければ幸いです。よろしくお願いします。

  • 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セル】の数式を実行する。」 の方法をご存知の方、教えて下さい。お願い致します。

  • エクセルの関数を教えてください。

    セルHにIFとANDを使って下記内容の関数式を入力したいです。 セルAからセルF内すべてに数値が入っていたらセルFを返す、 セルFが空欄ならばセルEの数値を返す、 セルEも空欄ならばDの値を、 Dも空欄ならばCの値を、Cも空欄ならばBの数値を、 Bも空欄ならばAの数値を返し、 Aも空欄(つまりAからF内に数値なし)ならばスペースを返す。 わかる方、教えてください。 よろしくお願いします。

  • excel2010 整数表示

    excel2010で,セルの数値を整数表示したいのですがどのようにしたら良いでしょうか. 例えば, 0.0010を1.0E-3.0のように表示したいです.

専門家に質問してみよう