- ベストアンサー
Excel: 飛び地の範囲に亘る入力規制
お世話になります。 A1~E1、A3~E3、A5~E5 の飛び地になった15個のセルに対し、「1以上10以下の整数」かつ「数値が重複しない」(空欄は許す)という条件で入力規制を掛けたいのですが、方法が分かりません。 お分かりになる方、ご教示いただければ幸いです。 ※先に単純化した類似の質問(https://okwave.jp/qa/q9880202.html)をしてご回答をいただいたのですが、自力で「飛び地の範囲指定」に適用することができませんでした。力不足を痛感しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- SI299792
- ベストアンサー率47% (773/1617)
A1とB2の様な飛び地の重複は許すと解釈します。 (そうしないと、数字が足りなくなるので) 別々にデータの入力規則を設定するのが手っ取り早いです。 纏めてやりたいなら、 A1~E5を洗濯。 データ、データの入力規則。ユーザー設定。 数式: =AND(A1>0,A1<11,A1=IFERROR(INT(A1),0),COUNTIF($A1:$E1,A1)<2)+ISEVEN(ROW()) OK
お礼
ご回答ありがとうございます。 なるほど。ISEVEN を使う方法には気付きませんでした。 参考にさせていただきます。
- heisukewada
- ベストアンサー率58% (93/160)
回答ではありません。 何がしたいのかわかりませんが、入力規則に離れたセルを指定することはできないと思います。 つまり、そういう場合は、入力のシートを作って入力をして、表示するシートで、その入力を反映させるという使い方が一般的かと思います。 入力は連続して行うので、入力規則の範囲は連続したものになります。 例えば、宛名印刷をしようとすると、シート1に住所録のデータを シート2に封筒もしくはハガキのレイアウトを作るのが一般的だと思います。 回答以外のことを書いて申し訳ないのですが、もう一度、Excelの使い方を考えられてはいかがでしょう。
お礼
ご親切なアドバイスをありがとうございます。 Excelはそういうものなのですね、、、 他人に入力を依頼するフォームを作っているのですが、フォーム全体が画面に体裁良く収まるように入力用の表を途中で改行することを考えていました。(下図のようなイメージで、順位のボックスに重複しない数字を入れてもらう) サンプル A B C D 順位 □ □ □ □ サンプル E F G H 順位 □ □ □ □
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
飛び地になったセルを範囲指定する方法はご存知でしょうか? CTRLキーを押したまま、個々のセルを左クリックすると、飛び地になった複数のセルを範囲指定できます。 範囲指定が終わったら、以下サイトを参考に「名前の定義」を行います。 https://www.becoolusers.com/excel/name-create.html 後は、 https://okwave.jp/qa/q9880202.html の回答の「$A$1:$A$5,A1」の代わりに「自分で付けた範囲の名前」を使用します。
お礼
早速のご回答誠にありがとうございました。 範囲に名前を付けることは知らなかったので大変勉強になりました。 ご回答の中に書かれている "回答の「$A$1:$A$5,A1」の代わりに" の部分は "回答の「$A$1:$A$5」の代わりに" と理解して試しているのですが、どういうわけか数式エラーになってしまいます。 自分でももう少し調べてみます。
補足
いろいろやってみましたが、どういうわけか COUNTIF($A$1:$A$5,A1) の範囲指定の部分に名前で定義したセルを入力するとエラーになってしまうため、COUNTIF($A$1:$E$1,A1)+COUNTIF($A$3:$E$3,A1)+・・・ と飛び地毎に COUNTIF を分けて凌ぐことにしました。 もっとスマートなやり方があれば後学のためにぜひご教授ください。よろしくお願いいたします。
お礼
前質問も併せ、何度もご回答いただきありがとうございました。 確かに入力規制しなくても、この方法で気付かせれば十分でした。 私の視野を広げていただいたという意味も込めてBAにさせていだだきます。