• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストの連動の応用)

リストの連動の応用方法とは?

このQ&Aのポイント
  • Excel 2013を使用している方への質問です。大分類の選択肢によって自動的に他のセルに表示される方法は存在するのでしょうか?具体的な例として、分類が「肉」の場合には品名に自動的に「牛肉」と表示させたいと考えています。分類によって品名が一意に決まるものもあり、手動で選択を省きたいと思っています。
  • Excel 2013のリストの連動について質問です。大分類に応じて自動的に他のセルに表示される方法はありますか?例えば、大分類が「肉」の場合には品名に自動的に「牛肉」と表示させたいです。手動で選択する手間を省くために、分類によって品名が一意に決まるようにしたいと考えています。
  • Excel 2013を使用していて、リストの連動に関して質問があります。大分類の選択によって他のセルに自動的に表示される方法はありますか?具体的な例として、大分類が「肉」の場合には品名に自動的に「牛肉」と表示させたいです。手動で選択する手間を省きたいため、大分類によって品名が一意に決まるようにしたいです。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! >分類によって、品名がただ一つに決まってしまうものまでわざわざプルダウンメニューから その一つを選択する手間を省きたい というコトですので、苦肉の策ですが、VBAでの一例です。 ↓の画像で右側がSheet2でリストの表を作成しているとし、Sheet1のA・B列のリストが連動しているとします。 画面左下の操作したいSheet見出し(Sheet1のSheet見出し)上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Application.Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub With Target If .Value = "肉" Then .Offset(, 1) = "牛肉" End If End With End Sub 'この行まで ※ Excel2013をお使いだというコトですので、Excel2010以降の場合はリストのデータが別Sheetにあっても 名前定義する必要はありませんので、 Sheet1のA列のリストの「元の値」の欄に =Sheet2!$A$1:$D$1 B列の元の値の欄に =OFFSET(Sheet2!$A$2:$A$7,,MATCH(A2,Sheet2!$1:$1,0)-1,,1) という数式を入れておきます。 わざわざ名前定義する必要はなく、INDIRECT関数も使わなくてOKです。 他によい方法があればごめんなさいね。m(_ _)m

jkallnight
質問者

お礼

助かりました。できました!初めてVBAというものを使いました。結合したセルに対しても応用できました。これからはVBAも使えるように勉強します。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えば次のようにすればよいでしょう。 A列で大分類のリスト表示をB列で小分類のリスト表示を設定するとします。 そこでそれらのリストの参照元としてF1セルに肉、G1セルに野菜、H1セルに果物と名前が入力されておりF2セルには牛肉を、その下行には豚肉、鶏肉、などが有るとします。G2セルには白菜が主でしたら白菜、その下行には他の野菜を並べます。H2セルについてもりんごが主でしたらりんご、その下行には他の果物を並べます。 B列の小分類では名前の定義を利用してリストの画面では=INDIRECT(A1)のようにすればリスト表示ができますね。 所A1セルに肉が入力された時、野菜が入力された時、果物が入力されたときに第一優先での名前、すなわち牛肉、白菜、りんごなどをリストを使わずに表示させるためにはB列にリストの表示機能が有る中でB1セルには次の式を入力して下方にドラッグコピーします。 =IF(A1="","",INDEX(F$2:H$2,MATCH(A1,F$1:H$1,0))) これでA1セルでリストから肉が選択されれば牛肉がB1セルに表示されます。しかしながら一旦B1セルでリストの選択からデータが表示された場合にはB1セルに入力した式は消えてしまいますので、その後は自動的な表示がされません。 それを無くしたような操作となりますとマクロによる取り組みが必要となりますね。

jkallnight
質問者

お礼

マクロで入力することにしました。回答ありがとうございます。これからはマクロも勉強します

関連するQ&A