• 締切済み

excelのリスト絞り込みで困っています。

下記のようなデータがシートにあった場合 A列         B列         C列 商品コード     商品コード1     品番 AA          AA          A1 AB          AA          A2 AC          AA          A3 ZZ          AB          B1            AC          C1 D列に商品コードの入力規則によるリストを指定。 E列に品番の入力規則によるリストを指定し 選ばれた商品コードに該当する品番を E列のリストに表示したい場合はどうしたらよいのかご教授ください。 D列のリストでAAを選んだら E列の品番のリストにはA1とA2とA3が出るというイメージです。 その際にZZを選ばれた場合は、品番のリストが無いのでエラーとする方法も あわせて教えてください。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

2段式入力規則の問題ですね。定番の方法があります。 A2:D9に表を作る AAの場合はA1-A5の中から選択したい。 CCの場合はC1-A6の中から選択したい。 数が不規則でもかまわない。AAやA5などは何でも普通の文字列でよい。 2次元構成になっていることが大事。 A列  B列   C列  D列        F列  G列 AA BB CC DD DD D2 A1 B1 C1 D1 CC C3 A2 B2 C2 D2 B B3 A3 B3 C3 D3 D D2 A4 B4 C4 D4 CC C2 A5 B5 C5 CC C4 B6 C6 B7 A2:D9を範囲指定 挿入ー名前ー定義ー作成ー「上端行のみ」にチェック F2:F30(F列で任意)を指定 データー入力規則ーリストー(元の値)$A$2:$D$2 G2:G30(G列で任意)を指定 データー入力規則ーリストー(元の値)=INDIRECT(F2) 初めの段の操作でAA,BB、CC、DDという名で縦列の範囲を 指定。 G列については INDIRECT関数で G列G2などの番地の内容(=範囲の名前)ー>範囲の名前ー>上記AAなどの範囲ー>リストに表示ー>その中から選択 となります。F列はやむをえず、作業列として必要。

noname#204879
noname#204879
回答No.2

1.別シートか任意の空いた場所(例えば、範囲 G1:I4)に次のようなリストを作成し   て、範囲 G1:I1 に名前 pcode を付ける。     G  H  I   1 AA AB AC   2 A1 B1 C1   3 A2   4 A3 2.範囲 G1:I4 を選択して、[挿入]→[名前]→[作成]を実行 3.“上端行”だけにチェックを入れて[OK]をクリック 4.お示しのシートのセル D2 を選択して、[データ]→[入力規則]→[設定]を実行 5.[入力値の種類]で“リスト”を選択して、[元の値]ボックスに式 =pcode を入力 6.ステップ4に同じ。ただし、「D2」を「E2」に読み替え。 7.ステップ5に同じ。ただし、「=pcode」を「=INDIRECT(D2)」に読み替え。 》 その際にZZを選ばれた場合は… この心配はご無用かと。なぜなら、[入力規則]の制限により「ZZ」が選ばれることがないから。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

D2に商品コードを入力すると、E2以降に該当する品番をリスト表示する例です。 E2: =IF($D$2=INDIRECT("B"&MATCH($D$2,$B$1:$B$6,0)+ROW()-2),INDIRECT("C"&MATCH($D$2,$B$1:$B$6,0)+ROW()-2),"") E3以降はコピー&ペースト ZZが入力されると、エラー値#N/A値が表示されます。 ただし、B列の同一の商品コードは隣接していることが条件です。

関連するQ&A