- 締切済み
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)) ではエラーになってしまいます。 どうか宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- relax_d
- ベストアンサー率40% (8/20)
お話中に申し訳ありません・・・ 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のことですので、その辺りは任意で変更してくださいね。 もし、違った観点のお話でしたら、すみません。
- mshr1962
- ベストアンサー率39% (7417/18945)
#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),""),"") でお試しください。
お礼
たびたび申し訳有りません。 有難うございます。 入力すると#N/Aになってしまい、申し訳有りません。 何度もすみません。お手数おかけいたします。
- nobu555
- ベストアンサー率45% (158/345)
#1さんが指摘しているように、 IF関数の引数が足りないのに加え、 AND関数の論理式2にセルJ3と範囲を比較するのもおかしいです。 >J3<データ!$B$3:$B$14 数式を今一度良く見直してください。
- mshr1962
- ベストアンサー率39% (7417/18945)
第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),""),"")
お礼
有難うございました。初心者でお手数おかけして申し訳有りません。=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)
ぱっと見て思っただけなのですが、IF関数の引数が一つ足りないような気がしますけど。
お礼
ありがとうございます。 品種は他の方も入力するので、変えられないとのことなのです。 すみません、ご丁寧に有難うございました。