ドロップダウンリストA【選択肢:あ、い、う】で【あ】を選択した場合に、隣セルのドロップダウンリストBでは【あ】を除く選択肢を表示させる方法はありますか?
Aで”あ”を選択すればBの選択肢は【い、う】になるといったものです。

どうか、アドバイスをよろしくおねがいいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

「まさしくそれ!!」なものがありますのでURLを貼り付けておきますね。


ここのサイトは他にも色々面白い技を書いていますので何かと勉強になりますよ。オススメです。

参考URL:http://officetanaka.net/excel/function/tips/tips …
    • good
    • 0
この回答へのお礼

解答ありがとうございます。
まさしくそれです!!!嬉
知恵袋も探したのですが検索方法が悪いのか見つけられず、
非常に気になっていました。
関数を使っての方法を知りたかったので、まさに!です。
かなり助かりました!ありがとうございました~^^

お礼日時:2009/05/16 12:53

>応用が可能なのでしょうか?



データの作り方を工夫すればいいのでは?

名前__項目
--------------------
全体__あいう  
あ___いう
い___あう
う___あい

組み合わせを全て作ればいいですよね。
ただ、数が多いときはマクロになるでしょうが。
 
    • good
    • 0
この回答へのお礼

解答ありがとうございます。
そうです、数が多いというのを書き忘れていました。
今回は他の方に関数での方法を教えていただきましたので、
そちらを活用したいと思っています。
どうもありがとうございました^^

お礼日時:2009/05/16 12:56

調べさえすれば、過去の質問に同様のものがたくさん出ています。



http://www.relief.jp/itnote/archives/000822.php
http://www.kenzo30.com/ex_kisopoint/onepoint_son …

この回答への補足

回答ありがとうございます^^
ご提示いただいた方法は存じているのですが、
今回はそれとは異なる質問をしたつもりでした。
2つのドロップダウンリストの選択肢が同等の内容で
片方の選択によってもう片方の選択肢が1つ減る・・・
【い】を選ぶと【あ、う】が選択肢に並ぶ、
としたいのですが、応用が可能なのでしょうか?

補足日時:2009/05/15 16:23
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルにプルダウンメニュー

エクセルにプルダウンメニューの作成方法を教えて下さい。

Aベストアンサー

メニュー[データ]-[入力規則]-[リスト]で設定できます。

参考URL:http://www2.odn.ne.jp/excel/waza/validation.html#SEC1

Q【Excel】 数階層のドロップダウンリストを設定

Excel2007を使っています。

B3を分類の「A、B、C」のドロップダウンリストから選択します。
※別表のG3:G16を元にしますが、「A、A、A、A、A、A、B、B、B・・・」とならないようにしたいです。
また、B3に「A」を選んだ場合、C3に「DDD、EEE、FFF」のドロップダウンが表示され、
C3に「DDD」を選んだ場合、D3に「1001、1002」のドロップダウンが表示され、
いずれかを選択します。

このような入力規制を設定したいのですが、
B3、C3、D3をどのように設定したらよいのか教えて下さい。

宜しくお願いいたします。

Aベストアンサー

#1、2、4、6、7、8、cjです。
#8補足欄へのレスです。

言われてみれば、別シートにある方が自然ですよね。
対応が遅れた感はあります。

変更点を■■で示しました。

入力規則設置するシートのシートモジュール、
まるまる差し替え、です。

' ' ==============================
Option Explicit

' ' ------------------------------

Const イベント範囲 As String = "C9:D20"  '  下位の入力規則を変更するイベント処理対象範囲の参照(2列)■要指定
Const マスタシート名 As String = "Sheet1"  '  マスタテーブルのシート名■■要指定
Const マスタ左上 As String = "V9"  '  マスタテーブル範囲の参照(データ部左上の単セル)■要指定
        ' ' ユーザー設定 ↑
' ' ------------------------------
        ' ' 固定 ↓
Const SHOGE As String = "分類"
Const SCOMMA As String = ","
            ' ' 参照設定する場合◆ : Microsoft Scripting Runtime
Private oDict(0 To 2) As Object  '  As Scripting.Dictionary ' ◆

' ' ------------------------------

Sub 初期設定()  '  マスタ変更時の更新も
  Call SetValid
End Sub

' ' ------------------------------

Private Sub SetValid(Optional ByVal Target As Range)
  Dim sKey As String
  Dim sList As String
  Dim nFldPos As Long
  Dim nOffset As Long
  Dim i As Long

  If Target Is Nothing Then
    Set Target = Range(イベント範囲)
    sKey = SHOGE  '  "分類"
'    nFldPos = 0& : nOffset = 0&
    Range(イベント範囲)(1).Select ' ' ●●
  Else
    sKey = Target.Value
    nFldPos = Target.Column - Range(イベント範囲).Column + 1
    nOffset = 1&
  End If

  Application.EnableEvents = False
  On Error GoTo Exit_

  If oDict(0) Is Nothing Then Call SetDict

  With Target
    For i = nFldPos To 2
      nOffset = nOffset + 1&
      sList = oDict(i)(sKey)  '  ",A,B,C"  ",DDD,EEE,FFF"  ",1001,1002"
If sList = "" Then ' ' ●
MsgBox Split("分類: 品名:")(i) & sKey & " マッチしません" ' ' ●
Application.EnableEvents = True ' ' ●
Exit Sub ' ' ●
End If ' ' ●
      With .Columns(nOffset)
        With .Validation
          .Delete
          .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=sList
'          .IgnoreBlank = True
'          .InCellDropdown = True
        End With
        sKey = Split(sList, SCOMMA)(1)  '  "A"  "DDD"  "1001"
        .Value = sKey
      End With
    Next i
  End With

Exit_:
  Application.EnableEvents = True
  If Err Then MsgBox Err & Err.Description, vbExclamation
End Sub

' ' ------------------------------

Private Sub SetDict()
  Dim mtxT()
  Dim i As Long

'  With Range(マスタ左上)  '  (1/2択)マスタが同一シート上にある場合■■要指定
  With Sheets(マスタシート名).Range(マスタ左上)  '  (2/2択)マスタシート名を指定する場合■■要指定
    mtxT = .Resize(.End(xlDown).Row - .Row + 1, 3).Value
  End With
 
  For i = 0 To 2
    Set oDict(i) = CreateObject("Scripting.Dictionary")
'    Set oDict(i) = New Scripting.Dictionary ' ◆
  Next i

  For i = 1 To UBound(mtxT)
    If Not oDict(1).Exists(mtxT(i, 1)) Then
      oDict(0)(SHOGE) = oDict(0)(SHOGE) & SCOMMA & mtxT(i, 1)
      oDict(1)(CStr(mtxT(i, 1))) = oDict(1)(mtxT(i, 1)) & SCOMMA & mtxT(i, 2) ' ' ▲
    ElseIf Not oDict(2).Exists(mtxT(i, 2)) Then
      oDict(1)(CStr(mtxT(i, 1))) = oDict(1)(mtxT(i, 1)) & SCOMMA & mtxT(i, 2) ' ' ▲
    End If
    oDict(2)(CStr(mtxT(i, 2))) = oDict(2)(mtxT(i, 2)) & SCOMMA & mtxT(i, 3) ' ' ▲
  Next i
  Erase mtxT()

'' ' ツリー確認用コード
'  Dim k1, k2, s2, v0, v1
'  Debug.Print SHOGE, oDict(0)(SHOGE)
'  k1 = oDict(1).Keys
'  For Each v0 In k1
'    Debug.Print , v0, oDict(1)(v0)
'    k2 = Split(oDict(1)(v0), SCOMMA)
'    For Each v1 In k2
'      If v1 <> "" Then Debug.Print , , v1, oDict(2)(v1)
'    Next
'  Next
End Sub

' ' ------------------------------

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  If Target.Value = "" Then Exit Sub
  If Intersect(Range(イベント範囲).Resize(, 2), Target) Is Nothing Then Exit Sub

  Call SetValid(Target)
End Sub

' ' ------------------------------

Private Sub Worksheet_Deactivate()
  Erase oDict()
End Sub

' ' ==============================

#1、2、4、6、7、8、cjです。
#8補足欄へのレスです。

言われてみれば、別シートにある方が自然ですよね。
対応が遅れた感はあります。

変更点を■■で示しました。

入力規則設置するシートのシートモジュール、
まるまる差し替え、です。

' ' ==============================
Option Explicit

' ' ------------------------------

Const イベント範囲 As String = "C9:D20"  '  下位の入力規則を変更するイベント処理対象範囲の...続きを読む

Qエクセルのプルダウンで数字の後ろの英語を入れて・

エクセルのプルダウンで数字の後ろの英語を入れて、
プルダウンをすると、数字が増えません。
(例)
83559oewe
83559oewe
83559oewe
83559oewe
83559oewe




そうではなく、下記のようにしたいのですが
(以前のエクセル2003では出来ていた)
83559oewe
83560oewe
83561oewe
83562oewe
83563oewe




どこの設定を変更したら行けますでしょうか?

Aベストアンサー

Ctrlキーを押しながらやってみてください。
だめなら、83559oeweと83560oeweを記入してから、83559oeweと83560oeweを選んで、下にドラッグコピーしてみてください。

Q【Excel】シート上のドロップダウンリストから検索するには

教えてください!

ドロップダウンリストをsheet1にフォームツールバーから描きます。
その右側に同じフォームよりボタンを描き「検索」ボタンとします。

ドロップダウンリストにはsheet2のA1:A5を表示させます。
ドロップダウンリストでA1を選択し、検索ボタンを押すと
sheet3のA1を表示させる記述はどうなるのでしょうか?

A1だけではなくA2・A3・A4を選択し、検索ボタンを押すと
A2はsheet4、A3はsheet5という風に表示させたいのです。

よろしくお願いします。

Aベストアンサー

こんにちは。

>ドロップダウンリストをsheet1にフォームツールバーから描きます。

最初に、ドロップダウンリストというのは何でしょうか?
フォームには、ドロップダウンリストという名前のコントロールがありません。それは、コンボボックスではないでしょうか?

今回の場合は、いずれにしてもマクロが必要ですから、一般的には、コントロールツール側から作ったほうが一般的には分りやすいかもしれません。

いろいろ試行錯誤してみましたが、私ですと、このようなマクロを提示できます。

フォーム側からですと、以下のような設定マクロが必要です。
Visual Basic Editor 画面で、SettingFormButtonのコード上にカーソルを置き、F5 を押せば、設定されます。

なお、以下のマクロは、もしかしたら、Version によって左右する可能性があるので、例えば、2003などでは、うまくいかないかもしれません。

'<Sheet1 モジュールのみ>
Option Explicit
Sub SettingFormButton()
 'フォームのボタンの設定マクロ
 Dim Bt As Button
 On Error GoTo ErrorHandler
 Set Bt = Sheet1.Buttons(1)
 Bt.OnAction = "Sheet1.ButtonAction"
ErrorHandler:
 If Err.Number > 0 Then
  MsgBox "ボタンがありません。", vbCritical
  Else
  MsgBox "設定できました。"
 End If
End Sub

Private Sub ButtonAction()
 'フォームのボタン用マクロ
 Dim i As Integer, myListfill As String
 Dim ret As Variant
 On Error GoTo ErrHhandler
 myListfill = Sheet1.DropDowns(1).ListFillRange
 i = Sheet1.DropDowns(1)
 ret = Application.Evaluate("Index(" & myListfill & "," & i & ",1)")
 If Not IsError(ret) Then
   Worksheets(i + 2).Range("A1").Value = ret
 End If
ErrHhandler:
 If Err.Number > 0 Then
  MsgBox Err.Description, vbCritical
  Else
  Beep '確認用の音
 End If
End Sub

エラーの中で、「Index が有効範囲にはありません」と出たら、それは、シート数が不足しているからです。また、リストの順番とシートの順番に対応しているのであって、Sheet3 という名称に対してではありません。

こんにちは。

>ドロップダウンリストをsheet1にフォームツールバーから描きます。

最初に、ドロップダウンリストというのは何でしょうか?
フォームには、ドロップダウンリストという名前のコントロールがありません。それは、コンボボックスではないでしょうか?

今回の場合は、いずれにしてもマクロが必要ですから、一般的には、コントロールツール側から作ったほうが一般的には分りやすいかもしれません。

いろいろ試行錯誤してみましたが、私ですと、このようなマクロを提示できます。

フォ...続きを読む

Qエクセルのプルダウン設定について

エクセルのプルダウン設定について質問です。
(オートフィルタではなく、入力規則のプルダウン)

例えば、デスクトップからスタート→プログラム→Internet のように
エクセルのプルダウンも2段階(大項目→小項目)にわけて設定することはできるのでしょうか?

どなたか教えてくださーい!

Aベストアンサー

時々出る質問です。
http://okwave.jp/kotaeru.php3?q=670969
の回答などご覧ください。「入力規則」「多段」でOKWAVEを検索しました。
(可変)範囲名を使った、良い回答がありましたが、「入力規則」にプラスするキーワードが判らず、私の回答を参考に上げます。

Q【エクセル】ドロップダウンリスト(入力規則)の参照元を別シートに作るには?

ドロップダウンリスト(入力規則)にて、参照元のデータを別シートに作るにはどうすればよいでしょうか?

ご存知の方、いらっしゃいましたら、ご教授願います。

Aベストアンサー

入力規則のリストで参照元になるデータが別のシートになる場合、例えばシート2のA1セルからA10セルにあるデータを使用するとして、回答1さんのようにA1からA10を選択してエクセル2002などの場合には「挿入」メニューから「名前」の「定義」で「リスト1」のように定義し、入力規則の元の値では=リスト1と入力すればよいでしょう。

名前の定義を使わない方法としては元の値に=INDIRECT("Sheet2!A1:A10")のように入力すればよいでしょう。

Q入れ子のプルダウン?孫プルダウン?を作成したい

入れ子のプルダウン?孫プルダウン?を作成したい
HTMLで画像のようにリストのリスト(入れ子のリスト?孫リスト)
を作成したいのですがどうすればいいのでしょうか
プログラムコードも載せて頂きたいです。

例(プルダウンのプルダウンを作成したい)
 東京
   →渋谷
    新宿
    品川
 大阪
 名古屋
 福岡

Aベストアンサー

参照URLでは、JavaScriptを使わずにクールな多段メニューを紹介しています

参考URL:http://journal.mycom.co.jp/articles/2010/03/24/css/index.html

Q【Excel】入力規則のドロップダウンリストについて

入力規則の入力値のリストでドロップダウンリストにセル範囲を指定せずスペースを追加したいのですが・・・
ドロップダウンリストに1と2とスペースを元の値の欄に直接入力し表示することに例えてご指導頂ければ幸いです。

Aベストアンサー

Excle2000だと普通に「1,2,□(半角の空白)」で出来ましたが、
2003だと全角の空白にしないとダメでした。
ためしてみてください(*^_^*)

Qエクセル プルダウン(入力規則)選択後、ソートする方法

Office2003のエクセルを使用しているものです。

ある商品マスタデータをエクセルで整理する業務を行っております。

あるプルダウンが選択されたら、次のプルダウンには前に選択されたプルダウンのキーワードに紐づく値がソートされたものを表示させることがしたいです。

つまり例を挙げますと、プルダウン
大ジャンル選択後、その大ジャンルに紐づく中ジャンルデータがプルダウンにセットされ、さらにある中ジャンル選択後、大ジャンル-中ジャンルに紐づく小ジャンルがソートされて表示する。

下記URLのことをのセルに記入したデータを使ってエクセル上で行いたいです。
http://www.jkcf.or.jp/bookman/php/usr/usr_group_search.php?lang_type=J

VBAは一応わかります。

よろしくお願いいたします。

Aベストアンサー

こんばんは。

簡単に作る方法は、AdvancedFilter を使えばよいです。
大分類、中分類、小分類 それぞれ列に項目を作っておいて、

ComboBox やダウンリストで、出力し、それを、Criteria に入れて、後は、クリックボタンで、AdvancedFilter を実行すれば出てくるはずです。

最初から、マクロで検索をしたら、かなり面倒だと思います。
ただし、どちらかというと、データベースですね。

Q場合分けをしながらドロップダウンリストから選択したい

題名の意味が良くわからないと思いますが

入力規則の「リスト」入力から入力するとき分類1から1つ選択したら、分類2は1で選択した要素から選択したいのです。

例えば

普通車には
1-22
44-87
99-99
の3種類のナンバープレートがあって

軽乗用車には
2-22
3-33
の2種類があって

以下同じ様な分類があるとして

分類1で普通車を選択したら
分類2では
1-22
44-87
99-99
の3種類から選べるようにしたいのです。

どのようにすれば出来るでしょうか。

Aベストアンサー

少しご希望と違うのかもしれませんが、
同じセルで、入力リストを2段階でリストから選ぶ方法が書いてあるページが存在します。
多分ご希望のものとは違うと思いますが、
下記ページの「44」番めのところです。

参考URL:http://www.city.katano.osaka.jp/kakka/kazei/excel/e_mokuji.htm


人気Q&Aランキング

おすすめ情報