• 締切済み

EXCEL関数についての質問です

EXCELの関数についてのご質問です。 VLOOKUPを用いて表を数量書を作成しているのですが、 うまくいかないので、宜しくお願い致します。 数量書はシート2に ABCDEF  G  H    I     J   K        品 種 縦の長さ 横の長さ  面積  単価        ABZ 0.9    0.85   0.765               BBZ 1.0    2.2    2.2              BBZ 1.5    1.0    1.5           BBZ 2.0    2.4    4.8        CCA 1.0    1.2    1.2 とあり シート1に データ    A    B    C     品種   面積   単価    ABZ  ~2.00  1000    BBZ  ~2.00  1500    BBZ  ~4.00  1800    BBZ  ~6.00  2000    CCA  ~2.20  3000 シート2 にG列に品種を H,Iに長さを入力して、K列にシート1のデータの金額をよびこみたいのですが、どのようにすればよろしいのでしょうか? =IF(AND(J3>=0,J3<データ!$B$3:$B$14),VLOOKUP(G3,データ!$A$3:$C$13,4,FALSE)) ではエラーになってしまいます。 どうか宜しくお願い致します。

みんなの回答

  • relax_d
  • ベストアンサー率40% (8/20)
回答No.5

お話中に申し訳ありません・・・ VLOOKUPを用いて表を数量書を作成で、 品種と面積の大きさごとに金額をみちびきだしたいとのことですが。 上記例を検証させていただきましたが、 シート2のG列にあるBBZは面積が違っても3種とも同じBBZの項目 なので、VLOOKUP関数でここを検索値とした使用では、 この検索値となるBBZが単価と面積で変わらない項目名だということがエラーになる根本原因かも知れません。 対策としては、まず、単価と面積で項目名を変更でどうでしょうか? 例: シート2 -|----G------ H -------I--------J--------K----- 1| 品 種 -| 縦の長さ | 横の長さ | 面 積--|単 価 2|-ABZ--|--0.9-----| 0.85----| 0.765---|-1000 3|-BBZ4-|--1------| 2.2-----| 2.20----|-1800 4|-BBZ--|--1.5-----| 1------| 1.50----|-1500 5|-BBZ6-|--2------| 2.4-----| 4.80----|-2000 6|-CCA--|--1------| 1.2-----| 1.20----|-3000 シート1 -|-----A-------B--------C---- 1|--品 種--|-面 積-|単 価 2|--ABZ--|-~2.00-|--1000 3|--BBZ--|-~2.00-|--1500 4|--BBZ4-|-~4.00-|--1800 5|--BBZ6-|-~6.00-|--2000 6|--CCA--|-~2.20-|--3000 シート2のK1 =VLOOKUP(G2,Sheet2!$A$2:$C$6,3,0) 実際に使用するデータ範囲では、 データ!$A$3:$C$13のことですので、その辺りは任意で変更してくださいね。 もし、違った観点のお話でしたら、すみません。

ryou2007
質問者

お礼

ありがとうございます。 品種は他の方も入力するので、変えられないとのことなのです。 すみません、ご丁寧に有難うございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

#2です。 すみません。":"がひとつ抜けてました。 =IF(AND(J3>0,COUNTIF(データ!$A$3:$A$13,G3)>0),IF(J3<VLOOKUP(G3,データ!$A$3:$D$13,3,FALSE),VLOOKUP(G3,データ!$A$3:$D$13,4,FALSE),""),"") でお試しください。

ryou2007
質問者

お礼

たびたび申し訳有りません。 有難うございます。 入力すると#N/Aになってしまい、申し訳有りません。 何度もすみません。お手数おかけいたします。

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.3

#1さんが指摘しているように、 IF関数の引数が足りないのに加え、 AND関数の論理式2にセルJ3と範囲を比較するのもおかしいです。 >J3<データ!$B$3:$B$14 数式を今一度良く見直してください。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

第1点 「J3<データ!$B$3:$B$14」 この場合はデータ!B列のABZと対応した行を見たいようですがこれでは駄目です。 第2点 データシートのB列が「~2.00」 B列は数値だけ、もしくは表示形式をユーザー定義で "~"0.00 とでもしているのですか? そうでない場合、「~2.00」は0と見なされます。 第3点 VLOOKUPの範囲 A:C列(3列)を参照してるのに列が4 「~」がB列でA:Dを参照になるか、3列目を表示するのでは? 第4点 「IF(条件,真の結果)」 条件に合わない時に偽の結果がない為、Falseと表示されますが良いのでしょうか? おそらくこうなるのでは? =IF(AND(J3>0,COUNTIF(データ!$A$3$A$13,G3)>0),IF(J3<VLOOKUP(G3,データ!$A$3:$D$13,3,FALSE),VLOOKUP(G3,データ!$A$3:$D$13,4,FALSE),""),"")

ryou2007
質問者

お礼

有難うございました。初心者でお手数おかけして申し訳有りません。=IF(AND(J3>0,COUNTIF(データ!$A$3$A$13,G3)>0),IF(J3<VLOOKUP(G3,データ!$A$3:$D$13,3,FALSE),VLOOKUP(G3,データ!$A$3:$D$13,4,FALSE),""),"")と入力したのですが、エラーになってしまいました。品種と面積の大きさごとに金額をみちびきだしたいのですが。お手数おかけして申し訳有りません。

  • fly_moon
  • ベストアンサー率20% (213/1046)
回答No.1

ぱっと見て思っただけなのですが、IF関数の引数が一つ足りないような気がしますけど。