プロが教える店舗&オフィスのセキュリティ対策術

こんにちは!

最近エクセル関数を使い出しました。。
学校でも教わったことがなく、
どなたか教えていただきたいのですが、
excelでシート1のA1に〔名前〕と入力するととB1に(田中、須藤、加賀、竹内、栗原)とプルダウンリストで出てくるようにしたいです。他にも〔名前〕だけでなく、〔都市〕と入力すると(神奈川、東京、愛媛、千葉、香川)、同じく〔級〕は(1、準1、2、準2、3)、〔その他〕は(備考1、備考2、備考3、備考4、備考5)それぞれ〔〕内のワードを入力すると()のものをプルダウンリストで表示し、選択できるようにしたいです。

それぞれの〔〕と()内のものはシート2にまとめているのですが、入力規則のリストを作成しましたが、訳がわからない状態です。。

とりあえず、=IF(A1="名前","ここに()内のリストをいれる?",IF(A1="都市","ここ?",IF(A1="級",ここ?",IF(A1="その他","ここ?",""))))とやってみましたが、プルダウンリストを結びつけることはできず、、、
考え方がわからなくなってきています。。

ベストな方法を教えていただきたいです。
長くなりましたが、よろしくお願いいたします(^_^;)

A 回答 (2件)

こんにちは!



↓の画像のように別シートに表を作成しておきます。
そしてSheet1のA列を範囲指定 → メニュー → データ → データの入力規則 → 「リスト」を選択し
「元の値」の欄の右側の四角をクリック → Sheet2の1行目を範囲指定 → もう一度四角をクリック → OK!

B列も同様にリスト設定します。
一般的にはSheet2の各列を「名前定義」し、INDIRECT関数でA列を参照する方法だと思います。

ただ、今後Sheet2のデータ数が増えると「名前定義」した範囲を変更する必要があります。
あらかじめ多めの範囲を名前定義しても良いのですが、リスト表示させた時に空白セルも表示されます。

別案として、今後各列のデータが増えても対応できる方法にしてみました。

B列を範囲指定 → A列と同じようにリスト設定を行いますが、「元の値」の欄に
↓の数式をコピー&ペーストしてください。

=OFFSET(Sheet2!$A$1,1,MATCH(A1,Sheet2!$1:$1,0)-1,COUNTA(OFFSET(Sheet2!$A:$A,,MATCH(A1,Sheet2!$1:$1,0)-1,,1))-1)

これでA列に対応するデータが空白梨にリスト候補に表示されます。m(_ _)m
「excelについて」の回答画像2
    • good
    • 1

A1もプルダウンで作成しましょう。


https://office-hack.com/excel/pulldown-menu-inte …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!