• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで可能ですか?)

Excelでリストから選択した記号を設定する方法と制約条件について

このQ&Aのポイント
  • Excelのリストから上・中・下の記号を選択し、それぞれのセルに設定する方法について教えてください。
  • また、同一記号を重複して使用できないようにする制約条件や、上位記号を選択した場合には下位記号が選択できないようにする制約条件についても教えてください。
  • Excelでこれらの設定と制約条件を行うことは可能でしょうか?

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

  • ベストアンサー
  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.3

yukiganbatteさん、こんばんは。 IF文を利用すればOKです。 まずは、[データ]-[入力規則]を利用してリストを使えるようにしていますか? また、リストの「元の値(S)」の部分をセル参照で設定できますか? 以上の2点がクリアできれば、以下をお試しください。 (1) 同一記号は重複して使用できないようにする。 今回は元の値として、セルB1からD4までを利用するとします。 B1、C1、D1には何も入力しません、B2からD4までは、以下の通りに入力してください。 セルB2 =IF(OR(A2="(上)",A3="(上)"),"","(上)") セルB3 =IF(OR(A2="(中)",A3="(中)"),"","(中)") セルB4 =IF(OR(A2="(下)",A3="(下)"),"","(下)") セルC2 =IF(OR(A1="(上)",A3="(上)"),"","(上)") セルC3 =IF(OR(A1="(中)",A3="(中)"),"","(中)") セルC4 =IF(OR(A1="(下)",A3="(下)"),"","(下)") セルD2 =IF(OR(A1="(上)",A2="(上)"),"","(上)") セルD3 =IF(OR(A1="(中)",A2="(中)"),"","(中)") セルD4 =IF(OR(A1="(下)",A2="(下)"),"","(下)") セルA1からA3まで、入力規則を設定します。 セルA1にマウスを合わせ、データ(D)-入力規則(L)を選択します。 データの入力規則ウインドウから「設定」タブを選択します。 入力値の種類は「リスト」にします。 元の値(S)入力ボックスの右側をクリックしてください。 エクセルのセルを選択できるようになりますので、セルB1からB4をドラッグして、 Enterキーを押してください。 データの入力規則ウインドウの「OK」ボタンをクリックして確定します。 同様に、セルA2の入力規則の元の値(S)はセルC1からC4、 セルA3の入力規則の元の値(S)はセルD1からD4を選びます。 (2) 上位記号をあるセルで使用した場合、下位記号は、その前のセルには、選択できないようにする 本当はもっと複雑なのでしょうが、とりあえず質問どおりにするだけであれば、(1)のセルB2からD4を 以下のように書き換えます。(セルA1からA3は元のままです。) セルB2 =IF(A2="(上)","","(上)") セルB3 =IF(OR(A2="",A2="(下)"),"(中)","") セルB4 =IF(A2="","(下)","") セルC2 =IF(A3="(上)","","(上)") セルC3 =IF(OR(A3="",A3="(下)"),"(中)","") セルC4 =IF(A3="","(下)","") セルD2 (上) セルD3 (中) セルD4 (下) 要するに、IF(条件,"(上)","")、もしくはIF(条件,"","(上)")の条件部分をyukiganbatteさんの 目的に合うように書き換えてやればよいということになります。 なお、実際の作成状況では、セルB1からD4は別のデータが入っているでしょうから、 邪魔にならないように後ろの列や下の行に上の条件を書き込み、書き込んだ行もしくは列を 非表示にすると良いと思います。

その他の回答 (3)

回答No.4

リストをシートのセルで設定するようにします。 例えばA1セルのリストを $C$1:$C$3 で設定した場合 通常ならC1セルには"上"、C2セルには"中"、C3セルには"下"が入るところですが、難しい条件があるので C1セルにはA2セルとA3セルに"上"が無いときだけ"上"が表示されるように =IF(OR(A2="上",A3="上"),"","上") のような関数が入ると思います。 同様にC2セルには =IF(OR(A2="中",A3="中",A2="上",A3="上"),"","中") になると思います。 このようにリスト内にA1、A2、A3セルの組み合わせで必要な文字がリスト上に出るような関数を設定すればよいです。 A2セル用、A3セル用のリストも別のセルに作る必要が あります。 それと、全リストの計算式を考えようとしましたが結構大変で、重複のみリストで制御して、(2)の条件は別セルにエラーメッセージでも良いのでは?と思いました。

参考URL:
http://www.officetanaka.net/excel/function/tips/list.htm
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 論理的矛盾していませんか? Excelの言葉で言うなら、循環参照ですね。 入力した結果として、エラー表示を出すだけであって、入力の規則としては成り立ちません。 (1) で、A1 で、次のセルが決定されるのに、(2) で、A2 が、A1 の決定をつかさどることは出来ませんね。つまり、3つのセルが入力されるまでは、その3つの決定が出来ないということは、ワークシート上では不可能ではないか、と私は思います。

回答No.1

条件付き書式か、IF文で、できそうな気がします。

関連するQ&A