• 締切済み

エクセル 関数 データベエース関数

製品により単価系列が違います。また缶数により(数量)単価が変動します。  関数の使い方がよくわからず出来ません。(Vlookup IF 缶数など) 製品11の場合 3缶では、単価675円 52缶では、単価350円の ようにしたいのですが宜しくお願いします。   製品 1~2缶3~5缶6~10缶11~30缶31~50缶51缶以上 11  830  675   550   500     385   350 12  800 600 500 450 300 380

みんなの回答

回答No.3

たぶん違うと思うけど、累進課税的な みたいな C2セル =IF(B2<$G$1,0,SUMPRODUCT(($G$1:INDEX($G$1:$K$1,MATCH(B2,$F$1:$K$1)-1) -$F$1:INDEX($F$1:$J$1,MATCH(B2,$F$1:$K$1)-1))*$F$2:INDEX($F$2:$K$3,1,MATCH(B2,$F$1:$K$1)-1))) +(B2-LOOKUP(B2,$F$1:$K$1)+1)*INDEX($F$2:$K$3,MATCH(A2,$E$2:$E$3,0),MATCH(B2,$F$1:$K$1)) 添付図参照

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

回答No.1と別の解法になりますが以下の式で単価を算出できます。 =IF(OR(A2="",B2=""),"",INDEX(Sheet2!A$1:G$4,MATCH(A2,Sheet2!A:A),MATCH(B2,Sheet2!$1:$1))) 品名(A列)または数量(B列)の何れかが空欄のとき単価(C列)は空欄とします。 INDEX関数とMATCH関数で品名と数量ランクの交点から単価を抽出する手法です。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 一例です。 ↓の画像のように別Sheetに対応表を作成しておきます。 画像では下がSheet2です。 実際は2行目は「未満」の行になり不要なのですが、判りやすくするために敢えて表示させています。 (色付きセルのみでOK) (製品12の「300」と「380」が逆のようですので、勝手に入れ替えています。) Sheet1のC2セルに =IF(COUNTBLANK(A2:B2),"",VLOOKUP(A2,Sheet2!A:G,MATCH(B2,Sheet2!$1:$1,1),0)) という数式を入れオートフィルで下へコピー! これで画像のような感じになります。 ※ 実際は製品数がもっと多いと思いますので、Sheet2の表に随時追加すれば 他の製品でも対応できるはずです。m(_ _)m