• ベストアンサー

エクセルで見積書を作成したいのですが

エクセルで見積書を作成したいのですが 商品名  個数(単位)  単価  金額 1     A      ア   10000 2     B      イ   10000 3     C      ウ   10000 4     D      エ   10000 のようにリストを作成して、 実際には 商品名  個数(単位)  単価  金額 2     B      イ   10000 1     A      ア   10000 3     C      ウ   10000 1     A      ア   10000 のように、リストの中から選択できるように したいのです。 ネットや本を見ながらやってみましたが、 初心者の為、上手くいきません。 詳しい方、教えてください。 宜しくお願いします。

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

  • ベストアンサー
  • CMLT
  • ベストアンサー率40% (143/357)
回答No.7

追加質問への回答 請求書の例をみると検査値である商品名はB列なのにIF文ではC列を条件式にしているようですが?とりあえず例の通り商品名がB列、一行目はタイトルとすると、C2セルに =VLOOKUP(B2,商品リスト!A:B,2,0) と入れて、下方へコピー。 商品名が一致しないと#N/Aになります。スペースや半角全角の違いもNGです。 空白のエラー表示は、印刷されなければ良いなら、ページ設定のシートタブのセルのエラーを<空白>にしてあげればよい。 シート上で消すなら=if(B2="","",~か、条件付き書式で白い文字に。

mt1107
質問者

お礼

あっB列の間違いですね(^^; 回答ありがとうございます。 上記の通り入力してみます。 ありがとうございました。

mt1107
質問者

補足

遅くなりました。 ようやく思い通りのものができそうです。 皆様に、ポイントをつけれないのが残念ですが 本当にありがとうございました。

その他の回答 (6)

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.6

まず訂正から 商品名の選択がA列でない場合は =IF($A2="","",VLOOKUP($A2,LIST!$A:$D,COLUMN(B1),0)) としてしまいましたが、A2の部分は変更する必要があります。 ドロップダウンリストですが、,で区切って直接選択項目を入力していく方法と範囲指定する方法とあり、範囲してする場合は同一シート内に必要です。その為、データを別シートに置いた場合はシート内に=で引っ張っておくとよいでしょう。 ドロップダウン自体はデータの入力規則を開いて入力値の種類をリストにし、元の値に直接入力か範囲をドラッグで指定します。 場所はメニュー-データ-入力規則、2007ならデータタブ内のデータの入力規則にあります。

mt1107
質問者

お礼

追加質問です。 IF関数はようやく、理解することが出来ました。 現在商品名をドロップダウンリストで選択できるようにしています。 請求書 1  A列   B列   C列  D列 E列 2 追加工事 商品名  単価 数量 価格 3  和室  AAAAAAA  100 40m2 SUM 4  和室  BBBBBBB  400 50m2 SUM 5  和室  CCCCCCC  200 50m2 SUM 6  洋室  CCCCCCC  200 80m2 SUM 7  洋室  GGGGGGG  500 10m2 SUM 商品リスト   A列   B列 1 商品名  単価 2 AAAAAAA  100  3 BBBBBBB  400 4 CCCCCCC  200 がある場合、 請求書でドロップダウンリストから商品名選択、同時に単価表示 させるのは無理でしょうか? =IF(C2="","",IF(C2=商品リスト!A2,商品リストB2,IF(C2=商品リスト!A3,商品リスト!B3,IF(・・・・・・ のように4~5商品まで、IF関数だけで連動?させることは出来たのですが、数が50くらいあるので、大変かなと…。 ※皆さんにご指示いただいたVLOOKUPはなぜかエラーがでます。 入力ミスでしょうか…。 物覚えが悪くすいません。 再度、お力をお貸しください。 お願いします。

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.5

No.4氏 >VLOOKUP関数を使うには、商品リストで商品番号を設定して 数値でなくても文字列でもOKです。つまり重複がなければ商品名でも大丈夫です。 >リストのほうは、番号順に並んでいる必要があります。 検査値がTRUEか1か省略の場合は確かにそうですが、0かFAULSEの場合はこの限りでは無く、一致しなければエラー値を返すだけなので、昇順に並び変える必要はありません。その為、他の回答者はみな省略せずに0としています。 質問者は初心者と言っておられます。マクロの作成をすすめるなら、実例を提示、もしくは参照URLを張り付けましょう。自信ありの割に後半は回答になっていません。

回答No.4

補足しますが、VLOOKUP関数を使うには、商品リストで商品番号を 設定して、これが、リストのほうは、番号順に並んでいる必要があります。 請求書作成用セルに、関数を入れておいて、請求書ができたら いったんこれを、別の場所に数値のみコピー貼り付けして 別の場所に保存し、入力欄をクリアするようにマクロを作成したほうがいいでしょう。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

見積書を作るとすると VLOOKUPで画像のような見積書はいかが(ご参考) リスト及び見積書 B3=VLOOKUP($A3,$G$2:$I$6,2,0) D3=VLOOKUP($A3,$G$2:$I$6,3,0) E3=C3*D3 上記それぞれを下方にオートフィル E7=SUM(E3:E6)

mt1107
質問者

補足

皆様わかりやすい回答ありがとうございます。 ここで、追加質問させていただきます。 上記の形で作成した場合、 「あ い う え」をドロップダウンリスト? のように▼の中から選択できるように できますか??

  • subaru130
  • ベストアンサー率20% (66/326)
回答No.2

数字は商品名ですか? ABCDは個数ですか? アイウエは単価ですか? 10000は金額ですか?

mt1107
質問者

補足

はい。その通りです。

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.1

別シート(LIST)のA列~D列にデータがあるとします。 A2で商品名を選択し、B2、C2、D2に固定値を反映させるとします。 vlookupを使う場合の例 B2セル: =IF($A2="","",VLOOKUP($A2,LIST!$A:$D,COLUMN(),0)) として、C2、D2、及び下方へコピー 商品名の選択がA列でない場合は =IF($A2="","",VLOOKUP($A2,LIST!$A:$D,COLUMN(B1),0)) として下さい。 他にoffset、matchを使ったりデータベースを使ったりという方法もあります。

mt1107
質問者

お礼

回答ありがとうございます。 まずこの方法で、チャレンジしてみます! ありがとうございました。

関連するQ&A