![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_03.png?8acaa2e)
図のように、A,B二つの選択欄を作り、どちらか一方を選択してもらうようにしようと思っています。
この場合、C7、C8両方のセルに1が入っている状態を禁止する(できなくする)にはどのような方法があるのでしょうか?
なお、可能ならスイッチ動作するような方法もあればお願いします。
ここでいうスイッチ動作とは、両方1、両方空欄という状態を出さないために、片方に1を入れたら
自動でもう片方が空欄となるような動作です。
”選択”されている状態を示すのに、数字の1を入力するようにしていますが、深い意味はありません。
ためしに、別セルにC7,C8の合計を計算させ、入力規則で「整数」→0から1の間と設定してもだめでした。両方入力すると2となり、はじかれると思ったのですが・・・。
ちなみに、マクロを使わないでできる方法でお願いします。
![「ある二つのセルで、同時記入禁止する方法」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/6/500507378_5497d8e2ac825/M.jpg)
No.3ベストアンサー
- 回答日時:
セルに1を入力するという方法では御座いませんが、その様な目的を達成されるのでしたら、オプションボタンとグループボックスを組み合わせて使用する方が良いのではないかと思います。
まず、下記のURLのページを参考にされて、Excelのシート上にオプションボタンを必要な数だけ挿入して下さい。
【参考URL】
Be Cool Users > Excel > 入力・編集 > Excelでオプションボタン! / フォーム
http://kokoro.kir.jp/excel/form-option.html
次に、下記のURLのページを参考にされて、選択肢が例えば「A」と「B」の様に2通りなら2つのオプションボタンを1つのグループボックスで囲み、選択肢が例えば「イ」、「ロ」、「ハ」の様に3通りなら3つのオプションボタンを囲んで下さい。
【参考URL】
Be Cool Users > Excel > 入力・編集 > グループボックスでオプションボタンの応用 / フォーム
http://kokoro.kir.jp/excel/form-optiongroup.html
そして、各グループボックス毎に、そのグループボックス内で1番上の所にあるオプションボタンを右クリックする事で選択してから、そのオプションボタンに[リンクするセル]を設定して下さい。
こうする事で、グループボックス内では1つのオプションボタンしか選択できなくなり、グループボックス内の別のオプションボタンにチェックを入れると、その前に選択していたオプションボックスのチェックが自動的に外れる様になります。
そして、グループボックス内の1つ目のオプションボタンにチェックを入れた場合には、[リンクするセル]欄に設定したセルには1という数値が自動的に入力され、2つ目のオプションボタンにチェックを入れた場合には、2という数値が入力される様になります。(因みに、グループボックス内の全てのオプションボタンのチェックを外す場合には、[Delete]キー等を使用して、[リンクするセル]欄に設定したセルに入力されている数値を消去します)
但し、このままでは[リンクするセル]欄の所で設定したセルに、例えば「-100」や「あいうえお」等の様な、「チェックした内容とは関係の無い値」を直接入力する事が出来てしまいますので、関係の無い値が入力される事を防ぐために、[リンクするセル]欄の所で設定したセルに、入力規則を設定し、直接入力する事が出来ない様にします。
その際の入力規則の設定は、「入力値の種類」欄で[文字列(長さ指定)]を選択→「データ」欄の所で[次の値より小さい]か[次の値以下]を選択→「最大値」欄で0を選択、です。(この場合でも、オプションボックスによる入力は可能です)
尚、必ずしも必要な事では御座いませんが、関数を使って[リンクするセル]欄の所で設定したセルとは別のセルに、どの選択肢を選択したのかを表示させる事も出来ます。
例えば、下の添付画像の例では、D7セルには次の様な関数が入力されています。
=IF(ISNUMBER(MATCH(C7,{1,2},0)),INDEX({"A","B"},C7),"")
同様に、D12セルには次の様な関数が入力されています。
=IF(ISNUMBER(MATCH(C12,{1,2,3},0)),INDEX({"イ","ロ","ハ"},C12),"")
![「ある二つのセルで、同時記入禁止する方法」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/0/1235215_5497e244c55b7/M.jpg)
オプションボタンを使う方法ですね。
こちらのほうが見栄えがいいですね。
ただ、今回は時間がなかったのでいったん見送り、次回の
時に機能をつけようと思います。
No.6
- 回答日時:
回答No.3です。
もし、オプションボタンを挿入するために必要なフォーム ツールバーが表示されていない場合には、下記のURLのページを参考にされて、フォーム ツールバーを表示させて下さい。
【参考URL】
Excel(エクセル)学習室 / KENZO30 > エクセル中級・特別編 > フォーム ツールバーのコントロールとは
http://www.kenzo30.com/ex_kisotoku/ex_ks_tokubet …
No.5
- 回答日時:
No.4です。
たびたびごめんなさい。
両セルに同じデータが入力できないようにしたい!という質問でしたね!
前回は勘違いしていました。
ユーザー設定の数式を↓に変更してください。
(「1」をダブって入力できない場合です)
=COUNTIF($C$7:$C$8,1)=1
どうも失礼しました。m(_ _)m
No.2
- 回答日時:
>……C7、C8両方のセルに1が入っている状態を禁止する(できなくする)にはどのような方法があるのでしょうか?
(1) 完全に禁止
C7、C8 のそれぞれのセルを選択した状態で「データの入力規則」のダイアログをそれぞれ表示し、次のとおり設定。
設定タブのユーザー設定の数式 エラーメッセージタブのエラーメッセージ
C7 =c8="" 「2 つのセルに同時に記入することはできません。」
C8 =c7="" 〃
(2) 実際には 2 つ目のセルに記入できるが、記入してはいけないことが分かるようセル内を暗い色などで塗りつぶし
条件付き書式(*)の条件式 書式
C7 =(c7="")*(c8<>"") 塗りつぶし
C8 =(c8="")*(c7<>"") 〃
*
セルを選択した状態で、ホームタブから条件付き書式のダイアログを表示。
「数式を……」を指定して、条件式の入力と、書式ボタンでの塗りつぶし(網かけ)の設定を実行。
なお塗りつぶしの代わりに表示形式を設定しても、「-」などの文字列を表示することはできません。
なにがしかの値がセルに記入されれば「-」などを表示できますが、完全な空欄ではできません。
(3) 上の (1)、(2) を併用
>……スイッチ動作するような方法もあればお願いします。
ここでいうスイッチ動作とは、……、片方に1を入れたら自動でもう片方が空欄となるような……
上の (2) の方法で満足できず、「-」などの値をセルにしっかり算出したいという場合は、セルに数式を記入しておく必要があります。
しかし数式があるセルにユーザーが値を記入しようとすると、既存の数式を上書きしてしまうことになります。したがって、入出力を分離するために、入力用の補助セルを他に用意するしかありません。C7、C8 は表示用となります。補助セルの位置は、同一シートの印刷範囲の外に置いたり、別シート上でも構いません。次の例は、右隣のセルに入力することとした場合です。
出力セル 出力セルに記入しておく数式 入力セル
C7 =if(d7="",if(d8="","","-"),d7) D7
C8 =if(d8="",if(d7="","","-"),d8) D8
どうしても補助セルは用意せず、ユーザーには C7、C8 に記入させたいんだという場合は、マクロを使うしかありません。
また、2 つ目のセルに値を記入した瞬間に 1 つ目のセルの値が自動的に消えるように仕込みたいという場合も、予めどちらのセルが 1 つ目なのかを定めておかないのだとすれば、マクロを使わなければ実現できません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) エクセルでシート保護のかかり方の違いとセルの非保護の設定 3 2022/08/09 10:02
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) エクセルVBA 任意のセルの選択時、指定のセルの値を表示 1 2023/04/21 08:13
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルの対象セルの1つしか入力できないようにする方法。
Excel(エクセル)
-
エクセルで片方のセルに入力したら、もう片方を空白にしたい。
Excel(エクセル)
-
Excel 条件によって入力禁止にする
Excel(エクセル)
-
-
4
Excelの入力規則で片方だけ入力みたいなことをしたい Excelで入力規則を使いたいです。 条件は
仕事術・業務効率化
-
5
エクセルで指定したセルのどれかに○がはいっていたら○を表示したいです。
その他(コンピューター・テクノロジー)
-
6
エクセルで他のセルでのプルダウン選択次第でとあるセルをロックしたりプルダウン選択できるようにする
Excel(エクセル)
-
7
エクセル 1行で1セルだけ入力できるようにしたい
Windows Vista・XP
-
8
Excel ある条件での入力禁止
Excel(エクセル)
-
9
【Excel】2つの値のどちらかを抽出する
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで 自動的に◯や数字を...
-
【マクロ】2回実行したら、エ...
-
エクセルのツールバーから数値...
-
特定の文字列を含む、住所を抽...
-
Excel 2019 [オプション]の[リボンのユ...
-
祝日と土曜、日曜の合計をカウ...
-
EXCELの散布図で日付が1900年に...
-
マイクロソフトのPADを使ってい...
-
絶対参照
-
エクセルでCtrl+Tでテーブルの...
-
【マクロ】名前を保存する際に...
-
エクセルのクイックアクセスツ...
-
【マクロ】VLOOKUPにて参照元に...
-
Excel分数の表示について
-
【EXCEL】画像の黄色部分の抽出...
-
DATE関数で現在の年齢を出した...
-
Excelについて
-
マクロエクセルのブロック解除
-
Excelピボットテーブルの1行目
-
REGEXREPLACE関数について、
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報