1つ目のセルをプルダウンメニューで選択したら隣のセルのプルダウンメニューの内容が連動して変わる方法だけならわかるのですが、以下の方法を教えていただけないでしょうか?
「購入品」シートで作業します。2枚目以降のシートに各データが入ってます。
A2をプルダウンメニューから選択→B2をプルダウンメニューから選択(内容はA2に連動)→C2をプルダウンメニューから選択(内容はB2に連動)・・・というように、左隣のセルの内容に連動してプルダウンメニューの内容が変わるようにしたいです。(D行目まで)
それが、1列だけではなく2列目以降も同じようにしたいのです。
メニューのリスト内容が変動するので「名前の定義」を使わずにできる方法を教えてください。
よろしくお願いします。
No.1
- 回答日時:
こんにちは
>1つ目のセルをプルダウンメニューで選択したら隣のセルのプルダウン
>メニューの内容が連動して変わる方法だけならわかるのですが
それがわかっているなら、同じことを繰り返して、順に連動させてゆけば良いだけだと思いますけれど、どこがわからないのでしょうか?
添付の選択肢のリストのシート内容を見る限りでは、A列が左側のセルの値で、B列以降が連動して表示する項目になっている点で、全てで共通になっていると思いますけれど??
まぁ、強いて言うなら項目数が多少のばらつきがあるので、一律に処理すると空白の選択肢が入ってしまったりするのを省くのが一寸だけ面倒なことでしょうか?(これも全て共通ではありますが)
>メニューのリスト内容が変動するので「名前の定義」を使わずにできる方法を教えてください。
普通の考えでゆけば、「変動するから(いちいちアドレスを変えなくて済むように)名前の定義を利用する」のだと思いますけれど、どういう意図なんでしょうね??
いろいろと合点がいかないところが多いですが、ひとまず以下の様な感じでしょうか?
単純に連動させているだけなので、すでにご存知の方法と同じかも知れませんが、同じ要領でC、D列も設定すれば良いだけと思いますので、B列の例のみです。
添付図はB列の例で、場所シートは仮に同じシート内にあるものとしていますが、A10:I15にがこれに該当すると仮定しています。
図のA列には、普通に「入力規則」で「リスト」形式で、元の値として「=$A$11:$A$15」の範囲が設定してあります。
これに対して、B列(B2セルをアクティブな状態)には同じく「入力規則」で、元の値として「=OFFSET($A$10,MATCH($A2,$A$11:$A$15,0),1,1,COUNTA(OFFSET($B$10:$I$10,MATCH($A2,$A$11:$A$15,0),0)))」の式を設定してあります。
リストの項目数(最大数)が不明なので、上記はひとまずB~I列までの8項目を対象にした式になっています。
以下同様に、C列には「B列の値に連動したリスト」、D列には「C列の値に連動したリスト」を設定すればすむことと思いますが・・・??
No.2
- 回答日時:
①名前の定義とindirect関数を使用する方法
②offset関数とmatch関数を使用する方法
名前の定義を使いたくないとの事ですので、②を使用すれば可能です。わかりやすい解説があります。↓
https://excelkamiwaza.com/pulldown_rendo.html
No.3ベストアンサー
- 回答日時:
こんにちは!
すでに的確な回答が出ていて、二番煎じになりますが・・・
↓の画像のような配置で「購入品」SheetのA~D列にリスト設定するだけですが、
A2以降範囲指定 → データの入力規則の「リスト」で元の値の欄の数式を
=OFFSET(場所!A$1,1,,COUNTA(場所!A:A)-1)
という数式に!
(「場所」SheetのA列データ数が決まっているのであれば、その範囲を直接指定する方が早いかも)
同様にB2セル以降を範囲指定 → リストの元の値の欄に
=OFFSET(場所!A$1,MATCH(A2,場所!A:A,0)-1,1,,COUNTA(OFFSET(場所!$1:$1,MATCH(A2,場所!$A:$A,0)-1,,1))-1)
C2セル以降を範囲指定 → 同様に
=OFFSET(品目!A$1,MATCH(B2,品目!$A:$A,0)-1,1,,COUNTA(OFFSET(品目!$1:$1,MATCH(B2,品目!A:A,0)-1,,1))-1)
D2セル以降を範囲指定 → 同様に
=OFFSET(品名!A$1,MATCH(C2,品名!A:A,0)-1,1,,COUNTA(OFFSET(品名!$1:$1,MATCH(C2,品名!A:A,0)-1,,1))-1)
という数式を入れるとお望みの表示になると思います。
尚、余計なお世話かもしれませんが、A~C列が変更になる場合もあると思います。
その場合、右隣りのデータも変わってくると思いますので、消去する必要があるのではないでしょうか。
↓のコードを「購入品」シートのシートモジュールにしてみてください。
Private Sub Worksheet_Change(ByVal Target As Range) '//この行から//
If Intersect(Target, Range("A:C")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Row > 1 Then
.Offset(, 1).Resize(, 4 - .Column).ClearContents
End If
End With
End Sub '//この行まで//
※ 「余計なお世話」の部分が不要なら無視してください。m(_ _)m
ありがとうございました!
思い通りのことができました。ついでに、と踏み込んで考えていただいて本当に助かりました。
また、何かありましたら宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのA1~A5の任意のセルを選んだら1、A6~A10のセルなら2と返す設定にしたいと思ってます 6 2023/03/20 18:46
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) エクセルを活用して受注表を作成中ですが関数が分からなく困ってました。 1 2022/07/22 09:14
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) Excelのプルダウンメニューの内容を人によって可変する方法 2 2023/03/28 14:52
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
2枚目のシートです。
3枚目です。
4枚目です。