• 締切済み

エクセルで苦戦

現在、会社で購買部に所属しているのですが。周りにパソコンのできる人がおらず悩んでおります。 悩んでいる内容は、注文書です。 注文書の書式はできています。が、 そこに入力するのにSEET1にデーターベース的なものを作り、 VLOOKUP関数で選べるようにしたのですが、どうしてもできないことが出てきました。 まず、データーベースの内容が 代理店・品番・品名・メーカー・単価・単位です。 注文書の書き順として (1)代理店の名前を選ぶ(入力規制のリスト作成) (2)メーカーを選ぶ (3)品番(品名を選ぶ) (4)数量を選ぶ 上記4つで、単位や注文金額が出るように(VLOOKUP使用)なっています。 問題は、 (1)代理店で同じメーカーの品物でも値段が違うので注文書に別々に表示できません。  (入力規制のリスト用に必要なリストには名前を付けていてメーカー名が同じになる) 用は、代理店P社の時にメーカーF社の品物を?個注文 同じ注文書に代理店M社の時メーカーF社の品物を?個注文 てな感じです。 ちなみに、データーベース的なところは、毎日増えていきます。 よろしくお願いします。

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>(まず、代理店CB社とAA社はC社のAAを扱っています。 しかし、CB社とAA社では値段が違います。) 確認ですが、別の代理店で同じ会社の同じ商品があっても、特に問題はないのですね。 >入力規則のリストで名前定義にCB社で扱っているA社・B社・C社をまとめてCB社とします。 その中の名前定義で材料をA社やB社やC社にします。 「その中の名前定義で材料をA社やB社やC社にします。」の「その中」とは例えばA社で、「材料」とは「取扱商品」のことでしょうか? >同じようにAB社をするとAB社内にもA社・B社・C社ができダブります。 A社の取扱商品は代理店に関係なく(リストから選択するときは価格の違いは関係ないので)、会社ごとの商品を別リストにして統一すればよいと思います。 >こうなるとCB社を選んでいてもAB社のA社を選んでしまう とこんな感じです。 (AB社の方が上段に表記しているとします) この意味がやはり不明です。 どうしてAB社が選択されるのでしょうか?(すでに例示したシートで説明してください) 普通なら、すでに回答したように3つの条件が合致するセルを見つけてくれば、何も問題がないように思うのですが・・・・

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

う~ん、代理店ごとに価格マスターを作って、その範囲に代理店の名前をつけ、プルダウンリストもVLOOKUPの参照範囲もそこを参照していくようにすればいいだけだと思うんですが… VLOOKUPの参照範囲に名前を使用できることはご存知ですか? =VLOOKUP(A1,代理店名,2,0) みたいに。 で、この範囲の部分を発注書の代理店名を入力する欄のアドレスを入れれば、その代理店名の範囲を参照してくれる訳です。 そうすれば他の代理店の情報は入ってこないですね。 データベースが増えていくということですが、その場合は範囲を可変にすることもできます。 その辺りは、名前定義、可変などで検索するといい方法がいくらでも出てきます。 まぁ、データベースの形を変えたくないという事でしたら、スルーしてください。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

>入力規制のリストではで同じ名前が使えないようです。 >ここが一番のネックになっているのかもしれません 具体的にどの部分が問題になっているのかよくわかりません。 通常なら以下のような操作になると思います。 >(1)CB社を選び 入力規則のリストを利用 >(2)C社を選び 数式と名前定義を使って、上記の代理店に対応する(絞り込んだ)リストを自動表示させる >(3)AAを選ぶと 同様にその代理店で取り扱っている品物だけのリストを表示させる >(4)はAB社のAAの単価と単位と品番を選びます。 のようになってしまいます。 この意味がよくわかりません。 普通なら、(1)~(3)に合致するデータを引っ張ってくれば良いと思うのですが・・・・

tanuki_neko
質問者

補足

すみません。どう説明すればいいのやら。 (まず、代理店CB社とAA社はC社のAAを扱っています。 しかし、CB社とAA社では値段が違います。) 入力規則のリストで名前定義に CB社で扱っているA社・B社・C社をまとめてCB社とします。 その中の名前定義で材料をA社やB社やC社にします。 同じように AB社をするとAB社内にもA社・B社・C社ができ ダブります。 こうなるとCB社を選んでいてもAB社のA社を選んでしまう とこんな感じです。 (AB社の方が上段に表記しているとします) (4)は選ぶではなく表示するでした ちなみに入力規制のリスト(元の値)にはINDIRECT()関数を使っています。 文章で説明するのは難しいですね。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

複数の条件から合致するデータを検索する場合はVLOOKUP関数では対応できません。 例えばSheet3のA列に代理店、B列に品名、D列にメーカー、E列に単価が入力されており、別シートのA2セルに代理店、B2セルに品名、C2セルにメーカーが記載されている場合、D2セルに単価を表示するなら以下のような数式になります。 =INDEX(Sheet3!$E$2:$E$100,MATCH(A2&B2&C2,Sheet3!$A$2:$A$100&Sheet3!$B$2:$B$100&Sheet3!$D$2:$D$100,0)) 配列数式ですので、入力後Ctrl+Shift+Enterで確定してください。 あるいは以下のような数式でも表示できます(必ず該当データがあることが条件です)。 =INDEX(Sheet3!E:E,SUMPRODUCT((Sheet3!$A$2:$A$100=A2)*(Sheet3!$B$2:$B$100=B2)*(Sheet3!$D$2:$D$100=C2)*ROW($A$2:$A$100)))

tanuki_neko
質問者

補足

上記の関数も別のところで役に立ちましたのでありがとうございました しかし、急いで書いたので説明不足があったようです。 問題は、 注文書の方で、 (1)代理店を選ぶ (2)代理店で扱っているメーカーのみ選ぶ (3)メーカーが扱てっている品物のみ選ぶ (4)すべて選んだら単価と単位と品番が出てくる 尚、(1)~(3)はすべて入力規制のリストで選択できるようにする。 (意図は会社のすべての人に間違えず注文書を書いてもらう為です) データーベースには(別のシート) A列   B列   C列   D列     E列   F列    G列 通しID  品番  品名   メーカー名  単価   単位   代理店  1    A-1    AA    A社     13    個     AB社  2    B-1    AB    A社     15    個     AB社 3    C-1    AC    B社     15    枚     AB社 4    A-1    AA    A社     14    個     BB社 5    B-1    AB    A社     17    個     BB社 6    C-1    AC    B社     10    枚     BB社 7    D-1    AD  C社 4 台 BB社 8    A-1    AA    A社     14    個     CB社 9    B-1    AB    A社     17    個     CB社 10   D-1    AA    C社     10    個     CB社 と言う感じで作っています。 入力規制のリストではで同じ名前が使えないようです。 ここが一番のネックになっているのかもしれません (1)CB社を選び (2)C社を選び (3)AAを選ぶと (4)はAB社のAAの単価と単位と品番を選びます。 のようになってしまいます。 上記の関数は別のところですごく役に立ちました。

関連するQ&A