『プルダウンで選択した項目によって選択できる内容を変える』(悩みの人)
3段階のプルダウンリストを作成したいのですが、
1段目
・動物
・植物
・魚類
2段目
・1
・2
・3
3段目
・動物の場合
1 ライオン
2 トラ
3 ゾウ
植物の場合
1 バラ
2 カーネーション
3 ひまわり
魚類の場合
1 マグロ
2 サメ
3 アンコウ
A1セルのプルダウンで動物を選択し、B2セルで1を選択したら、C3にライオンと表示させるようにしたいのです。
ポイントは3段階にしたいところで、A1の内容によってB1で1を選んだ場合にC3をライオンやバラやマグロに変化させたいのです。
INDIRECT関数などで色々やってみましたがうまくいきません。
お助け宜しくお願い致します。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
ちょっと確認ですけど、 C3はプルダウンではなくて、A1とB1の組合せの結果の出力をしているのですよね? だとしたら、XLOOKUPで表引きするのが簡単ではないですか。
|[A] |[B]|[C] |[D]|[E] |[F]|[G] [1]|動物| 2|トラ| |動物| 1|ライオン [2]| | | | |動物| 2|トラ [3]| | | | |動物| 3|ゾウ [4]| | | | |植物| 1|バラ [5]| | | | |植物| 2|カーネーション [6]| | | | |植物| 3|ひまわり [7]| | | | |魚類| 1|マグロ [8]| | | | |魚類| 2|サメ [9]| | | | |魚類| 3|アンコウ
A1にデータの入力規則>リスト>元の値>動物,植物,魚類 B1にデータの入力規則>リスト>元の値>1,2,3 C1 =XLOOKUP(A1&B1,E1:E9&F1:F9,G1:G9,"") (知らんけど) 2025/05/03(土) 13:55:44
データ例をシートの別エリアに入力
例えば、Sheet1のZ列〜
Z列 AA列
動物1 ライオン
動物2 トラ
動物3 ゾウ
植物1 バラ
植物2 カーネーション
植物3 ひまわり
魚類1 マグロ
魚類2 サメ
魚類3 アンコウ
Private Sub Worksheet_Change(ByVal Target As Range)
Dim category As String Dim number As String Dim key As String Dim result As String Dim dataRange As Range Dim cell As Range
' A1かB1が変更されたときだけ実行 If Not Intersect(Target, Range("A1,B1")) Is Nothing Then category = Range("A1").Value number = Range("B1").Value key = category & number
' データが入力されている範囲を指定(Z列〜AA列) Set dataRange = Range("Z1:AA9")
result = "" For Each cell In dataRange.Columns(1).Cells If cell.Value = key Then result = cell.Offset(0, 1).Value Exit For End If Next cell
' 結果をC3に表示 Range("C3").Value = result End If End Sub
(暇な人) 2025/05/03(土) 14:00:12
下のように入力し、
F G H 1 ライオン バラ マグロ 2 トラ カーネーション サメ 3 ゾウ ひまわり アンコウ
F1:F3を動物 G1:G3を植物 H1:H3を魚類と、それぞれ名前定義
>B2セルで1を選択したら >B1で1を選んだ場合 B2なのかB1なのか、どっちですか?
B1だとして =IF(OR(A1="",B1=""),"",INDEX(INDIRECT(A1),B1)) (おそ松さん) 2025/05/03(土) 16:19:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.