• 締切済み

2段階リストをOFFSET、MATCH関数で作る

watabe007の回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

見落していました、A2:B10の全てでプルダウンリストを使うのですね 大項目は、A2:A10を選択後 [データの入力規則]⇒[リスト]⇒元の値 =■2段階リスト用!E$1:H$1 小項目は、B2:B10を選択後 [データの入力規則]⇒[リスト]⇒元の値 =OFFSET(■2段階リスト用!D$1,1,MATCH(A2,■2段階リスト用!E$1:H$1,0),COUNTA(OFFSET(■2段階リスト用!D$1,1,MATCH(A2,■2段階リスト用!E$1:H$1,0),9,1)),1)

frau
質問者

補足

その前に・・・ 昨日から式をデータのリストに入れようとすると 「条件 データの入力規則で他のブックへの参照を使用することはできません」 と何度やってもこのエラーがでます。 その前は「この式使えません」とでましたが、いきなりこのエラーに変わりました。 もちろん他のブックなんて開いてないですし、シートは同じブック内にあります(泣)。

関連するQ&A

  • OFFSET関数で2段階リストを作りたいけれど難解

    添付した画像は例です。「データ」のリストで2段階リストを作ることを目的とします。 B列の1段目リストで「関東」を選ぶと、2段目には「東京」「千葉」・・・のリストが、同様「東海」を選ぶと、2段目には「静岡」「愛知」・・・というようにリスト化されます。 しかし問題がありました。最後の「-」についてです。 これまでINDIRECT関数を使ってきましたが、「名前の定義」をするとき、「-」などの記号が登録できません。そのため1段目の「-」と対応させることができませんでした。これを解消するのがOFFSET関数だそうですが、関数素人の当方としては一応調べましたがカウンタ関数やマッチ関数も混合されるので難しいです。 この例を使い、構文を説明しながら優しく教えてください。よろしくお願いします。

  • エクセル2007 OFFSET関数 INDIRECT関数

    エクセル2007でOFFSET関数とINDIRECT関数を用いてセルの入力規則をして、リスト表示したいと思っています。 入力規則のリストは動的な値を設定したいと思っています。  ABCDE 1あいうえお 2かきくけこ 3さしすせそ 4たちつてと 5なにぬねの というシートA列に”データベース1”B列に”データベース2”・・・といった具合に名前を定義します。このデータベースは行がどんどん増えていく可能性があるため、名前の定義の参照範囲欄に (1)=OFFSET($A$1,0,0,COUNTA(A:A),1)  としました。 別シートに 表示したいセルで入力規則→設定タブ→入力値の種類→リストを選択。 元の値の欄に (2)=INDIRECT(A2&"1",FALSE)  としました。  ※A2は”データベース”と入力してあるセルです。 ここからがわからないのですが 上記式(1)、(2)の両方とも単独で使用した場合は欲しい値が得られるのですが、組み合わせて使用した場合はリストが出てこなくなってしまいます。 1)組み合わせて使うことはできないのですか 2)ほかにいい方法はありますか ということを質問します。 よろしくお願いします。

  • EXCEL2000で関数INDEXとMATCHを使った際の表示について

    EXCEL2000で関数INDEXとMATCHを使った際の表示について お聞きしたいのですが、別シートでリストが有りそのリスト内のリストNoを別シートで入力すると項目が自動表示される様に関数を入力したのですが、リストでは1行に2段表示にして作成しているのですが別シートに自動表示した際1行で表示されます。リストと同じ表示するにはどうすればよいのでしょうか、わかる方宜しくお願いします。 ちなみにわかりずらいかもしれませんが現在下記の様に表示されます。 現在の関数式 =INDEX(**リスト!$B$4:$B$50,MATCH(**データ!D2,**リスト!$A$4:$A$50,0)) 表示例 (リスト側)        (データ側)     A(列)           A(列)  1(行) あああ    1(行) あああいいいいい   いいいいいい 

  • 【Excel】リストの追加項目関数式でエラーばかり

    セル範囲に名前を付けたグループを指定し、入力規則でリストを使って、コンボボックスから選択できるように設定する。 たとえばシート2のA1セルに「練習」という名前を付けた項目すべてをコンボボックスから指定したい。 しかし、このリストは追加される可能性があるが、範囲指定を繰り返すのは面倒なので関数にしたい。というケースです。 質問(1)シート1のリスト一覧に項目が増えた場合でオフセット関数を使う場合、以下の式でよいらしいのですが… まずは式の読み方についてです。 =OFFSET($A$1, 0, 0, COUNTA($A:$A), 1) OFFSETは =OFFSET(基準,行数,列数 [,高さ,幅]) 『基点のセルから○行△列移動し、そこから高さと幅の分だけ範囲選択します。 基点のセルを動かす必要がない場合は、行と列は0を指定します。』 上の例の場合ですとこの式は 起点のセル→$A$1(A1を絶対参照とする) 行数→0 列数→0 しかし COUNTA($A:$A), 1 については、($A:$A)はA列を絶対参照ということなのでしょうか? またこの1はどのような意味なのでしょうか? 質問(2) 実際この関数を定義する場合「データ」の「名前の定義」の「参照範囲」に入力するそうですが…エラーとなってしまいます。 質問(3) また、(2)の「名前」についても、元のリスト候補となるグループと同じ名前にした場合「別の名前を指定してください」とエラーがでます。 このエラーにより「データの入力規則」から指定する範囲も、「名前の定義」から指定する関数も「名前の管理」一覧に登録されることがわかりますが、テキストによっては同じ名前で登録できている説明もあるのです。 何が間違っているのでしょうか? いろいろ調べたりしましたが、いろいろな例示があるので、逆に混乱してきます(お手上げ状態)。 関数は学び始めたばかりですので、アバウトな解説よりも具体的にご指導いただるご回答をお願いいたします。

  • 2段階リストで記号は使えない?

    2段階リストを作成するための、1段目のリストに「-」という記号を含めるのが目的です。 1段目のセルはA1とします。 2段目はA2とし、1段目のセルを指定することで (たとえば「=INDIRECT(A1)」) 2段目のリストを作ります。 このやり方で、リストを呼び出すための「名前の定義」を作ります。 1段目のリストは、たとえば「あ行、い行、-」とします。 1段階目で「あ行」を選択すると、「あ」から始まる住所が2段目のリストに並びます。以下同様ですが、住所がない場合には記号「-」を対応させます。 しかし実際、上記のやり方で2段階リストを作りますと、「あ行」他については成功したのですが、「-」の場合、2段目には何もリストが表示されません。 この解決方法を教えてください。 Excel2019利用です。

  • 【2段階リスト】コピーするとリストが表示されない

    2段階リストを設定したセルをコピーして使ったとき、1段目は絶対値、2段目は相対値にして関数式を入れました。 しかしなぜかリストが入っているセル(列)をコピーしたとき、3列目で一部の2段階リストの2段目のリストが表示されなくなりました。 そこで1段目リストの絶対値を相対値にしてみましたが、それでもこの現象?は変わりません。 対策を教えてください。

  • オフセット関数を用いた2段階プルダウンリスト

    オフセット関数関数を用いて2段階プルダウンリストを作ったのですが、ずれて表示されます。 Y20に =$AM$36:$AQ$36 K13に =OFFSET($AM$37,0,MATCH($Y$20,$AM$36:$AQ$36,0),COUNTA(OFFSET($AL$37,0,MATCH($Y$20,$AM$36:$AQ$36,0),10))) でプルダウンリストを入れているのですがうまくいきません。

  • Excel 入力規則でOFFSETを使用した定義の使用

    Excel 入力規則でOFFSETを使用した定義の使用 お世話になっております Win2000 Excel2000 A列に入力した値に関連するデータを「B列~ある列」までを定義し入力規則内でINDIRECTを 使用して表示させようとしています 「B列~ある列」は可変で最終列に入力されている列までを参照の対象にしたいので 定義内の参照範囲をOFFSET関数を使用して定義しております Ex: A    B     C    D    E    F   種類1 犬    猫    牛   豚 ・・・・ 種類2 東京  神奈川 埼玉   ・・・ 種類3 ビール 焼酎   ワイン ・・・ とデータがあったときに、別シートのA1に入力規則でA列のデータを表示するようにします B1にA1で表示されている種類に関するB-任意の列までのデータを表示しようとしています 「B-任意の列」の定義をB列からF列まで決め打ちした場合はデータが表示されるのですが OFFSET関数を使用した場合は表示されません OFFSET関数を使用した場合でもデータを取得する方法はあるのでしょうか? 宜しくお願いします

  • 2段階のドロップダウンリストについて

    2列に渡って、2段階のドロップダウンリストを作成します。 1列目である項目をリストから選び、2列目に移ったら1列目で選んだ 項目に匹敵する項目のリストから選べるようにしたいと思っています。 名前の定義とINDIRECTを使って作成している所です。項目には頭に数字 をふりたいのですが、名前の定義は数字が使えず、丸数字を使おうとも 思ったのですが21個では足りません。アルファベットも数が足りませ ん。 何か良い方法があったらヨロシクお願い致します。

  • エクセル MATCH関数について

    エクセル2013の練習でMATCH関数とINDEX関数を利用した データを作っていました。 添付した画像のD79でMATCH関数を使って番号を表示しています。 D79に入力した式は=MATCH(C79,B73:B76)です。 指定の行はB73~B76までの4行で、春、夏、秋、冬の順番で並んでいますが C79に春と入力すると、順番としては1番目の春が何故か3と表示されます。 他の夏、秋、冬は順番通り2,3,4と結果が表示されます。 シートの設定を変にしてしまったのかもしれないと新規で開いて試しましたが結果は同じでした。 MATCH関数の検索を行ではなく列側に変えて試しもしましたが、結果は同じでした。 春以外の言葉や数字だとこのようなことは起こりません。 また、リストにしても直接打ち込みにしても同じ結果でした。 この現象を春を使用しない以外に回避する方法がありますでしょうか? 宜しくお願い致します。