- ベストアンサー
Excelで、ある条件下で表示切替
以下のような条件下で表示の切替ができるかどうかをお教えください。 シート1A1セルに入力された内容を判別して、A2セルに可・不可と表示させたいのです。A1セルは文字列の会社名で規則性はなく、数も100以上。4~5個くらいならばIF文で対応可能でしょうが、以前の経験から個数に限界があったように思います。 容易な改変も考慮して、シート2に会社名をまとめられれば有難く思います。 一例として、シート1A1セルに入力された会社名をシート2のC列1-100行~D列1-100行から検索して、シート2C列にあればシート1A2セルに"可"、シート2D列にあればシート1A2セルに"不可"、無ければ空欄となるようなニュアンスです。 当然、他の方法でもお教えいただければ非常に嬉しいです。ご教授いただきたく、宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=CHOOSE((COUNTIF(Sheet2!C1:C100,A1)>0)+(COUNTIF(Sheet2!D1:D100,A1)>0)*2+1,"","可","不可") 一部計算式(範囲指定)が変でした。
その他の回答 (3)
- hallo-2007
- ベストアンサー率41% (888/2115)
>シート2C列にあればシート1A2セルに"可"、シート2D列にあればシート1A2セルに"不可 この部分を シート2 A B 会社名 状況 A社 不可 B社 可 ・・・ と一列にまとめてしまえば、変更になったときも楽ではないでしょうか。 A2の式は VLOOKUP関数で済みます。 =VLOOKUP(A1,シート2!A:B,2,FALSE) なければ空白というのであれば =IF(COUNTIF(シート2!A:A,A2),VLOOKUP(A2,シート2!A:B,2,FALSE),"") といった具合です。
- web2525
- ベストアンサー率42% (1219/2850)
=CHOOSE((COUNTIF(Sheet2!C1:AC100,A1)>0)+(COUNTIF(Sheet2!D1:D100,A1)>0)*2+1,"","可","不可") こんな感じでも可能かな
- mako_sea
- ベストアンサー率47% (62/130)
Sheet2のC列に「可」の会社リスト、 D列に「不可」の会社のリストと考えて良いのですよね。 以下の式ではどうでしょうか。 =IF(ISERROR(VLOOKUP(A1,Sheet2!$C$1:$C$100,1,FALSE)),IF(ISERROR(VLOOKUP(A1,Sheet2!$D$1:$D$100,1,FALSE)),"","不可"),"可")
お礼
早々の回答をいただきありがとうございます、失礼とは思いますけれども、こちらでまとめてお礼&結果報告させていただきます。 複数人で使用するフォームなため、各個人で会社名を手入力させると、正確に入力していない場合は正しく判別されないことから、リストで選択させるようにしました。会社名一覧に名前を定義して入力規則からリスト選択させ、#3で回答いただいた式を流用して判別結果を表示させるようにしました。 迅速な対応に感謝いたします、本当に助かりました。