プロが教える店舗&オフィスのセキュリティ対策術

下記のようなデータがシートにあった場合

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を選ばれた場合は、品番のリストが無いのでエラーとする方法も
あわせて教えてください。

A 回答 (3件)

2段式入力規則の問題ですね。

定番の方法があります。
A2:D9に表を作る
AAの場合はA1-A5の中から選択したい。
CCの場合はC1-A6の中から選択したい。
数が不規則でもかまわない。AAやA5などは何でも普通の文字列でよい。
2次元構成になっていることが大事。
A列  B列   C列  D列        F列  G列
AABBCCDDDDD2
A1B1C1D1CCC3
A2B2C2D2BB3
A3B3C3D3DD2
A4B4C4D4CCC2
A5B5C5CCC4
B6C6
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列はやむをえず、作業列として必要。
    • good
    • 0

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」が選ばれることがないから。
    • good
    • 0

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列の同一の商品コードは隣接していることが条件です。
    • good
    • 0

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