• ベストアンサー

エクセルで、2つの条件に合う結果を自動で入力したい

お願いします。 下記のような商品の価格一覧表があります。 A列に、商品名 B列に、大きさ C列に、単価 別表で売り上げ入力していますが、 Aの商品名と、Bの大きさは、リストから選択入力していますが、 AとBの組み合わせでCの単価は決まっているのに、毎回リストから同じように選択して入力しています。 このCの単価を、AとBを入力したら、自動的に出てくるようにしたいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.4

「大きさ」が「商品を問わずに固定パターン」であるなら、 図のような単価表を別表で持っておくのもやりやすいですよ。 図の場合、C列には     =VLOOKUP(A2,$E$2:$H$4,MATCH(B2,$E$1:$H$1),FALSE) こんな式を入れてあります。 VLOOKUP関数はおなじみでしょうから割愛。 MATCH関数についての詳細は別途お調べ頂きたいのですが、 この場合は「検索値が、指定範囲の中の、何列目か」を見るために使っています。 なので、VLOOKUP関数の第3引数として活用できる、というカラクリです。 図の場合、     =IF(COUNTA(A2:B2)=2,VLOOKUP(A2,$E$2:$H$4,MATCH(B2,$E$1:$H$1),FALSE),"") とでもしてやれば、AB列のデータが揃ったときだけ表示してくれます。 (=ABどちらかが空白だったら、Cも空白。) 考え方の一つとして、参考までに。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

ご利用のエクセルのバージョンがご質問に書かれていませんが、Excel2007以降を利用しているのであれば E1にAの商品名 F1にBの大きさ を記入し G1に =SUMIFS(C:C,A:A,E1,B:B,F1) のように計算します。

  • ayayakko1
  • ベストアンサー率25% (12/48)
回答No.3

気になったのでコメントします。 数式で対応出来て業務に支障なければ構わないのですが・・・ 商品管理には商品マスタというものを使うのが一般的です。 例題では、商品名=商品名&大きさ とするべきです。 そうしたほうが後々管理が楽ですよ。 りんごS 100円 りんごM 110円 りんごL 120円 もっと言うと、 商品コード 商品名&情報    単価  AB-1234  りんごS○○産△△ 100円 BC-2345  りんごM○○産△△ 110円 DE-3456  りんごL○○産△△ 120円 などとするのが一般的です。 商品種類が多数あるなら、多くなり過ぎないうちに整備されたほうが良いと思います。

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

価格一覧表リストがSheet2にあり、A2セルに商品名、B2セルに大きさが入力されているなら、以下の式を入力すれば対応する価格の値が表示されます。 =INDEX(Sheet2!C:C,INDEX(MATCH(A2&B2,Sheet2!$A$1:$A$100&Sheet2!$B$1:$B$100,0),)) #ご使用のエクセルのバージョンが例示されていませんので、エラー処理などを省略しましたが、Officeソフトはバージョンによって使用できる関数や機能あるいは操作法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

シート1がお示しの表としてシート2はデータベースとして次のようにします。 なお、大きさについては例えば大、中、小が有るとします。 A2セルから下方には商品名を入力します。B1セルには大、C1セルには中、D1セルには小と入力してそれぞれの下方の行には商品目に応じた単価を入力しておきます。 そこでシート1ですがA2セルから下方に商品名がB2セルから下方には大きさが入力されるとしたらC2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",INDEX(Sheet2!$A:$C,MATCH(A2,Sheet2!$A:$A,0),MATCH(B2,Sheet2!$1:$1,0)))

関連するQ&A