• ベストアンサー

vlookup関数で求めた数値の合計

excelで20行まで入力できる発注書を作っています。 vlookup関数で商品コードを入力すると、商品名と単価は自動で表示されています。 単価×購入数量で商品毎に購入金額を求め、総合計を自動計算させたいのですが、、、 発注書には必ず20品目入力されるわけではありません。 この入力されない商品行の合計金額は#valueとなっています。 結果として総合計も#valueとなってしまいます。 どなたか総合計を求める方法をご教示ください。 宜しくお願いいたします。

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

  • ベストアンサー
  • maac777
  • ベストアンサー率50% (43/86)
回答No.2

VLOOKUP関数で検索しているとの事ですので、商品マスターとなる表があると思います。 その表に商品コード 0  商品名 0 単価 0 となる一行を追加 これでとりあえず#valueは出なくなると思います。 発注書とのことで、0 を印刷したくなければ条件付書式でセルの値が0に等しいときにフォントカラーを背景と同じになるようするってのでいかがでしょう?

zep1173
質問者

お礼

なるほど。 >条件付書式でセルの値が0に等しいときに・・・・・ そこまで思い浮かばなかったです。 ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

質問者が、セルにどういう式を入れているかを質問に書かないで、うまくいかないと訴えてみても、どうしようもない。結局回答者まる抱えの回答を求めるタイプになっている。良く考えること。 私の回答は関数の質問の回答はほとんど模擬実例を入れてますよ。 質問者が手を抜いてどうする。 ーー 下記が良いかどうかは色々方法があると思うが 例データ H1:J5 に検索表 コード 商品名 単価 1 a 3 2 b 2 3 c 1 4 d 4 5 e 5 ーー A1:E11 商品コード 商品名 単価 数量 金額 2 b 2 1 2 5 e 5 3 15 第4行ー第10行は略 E11に17(式の結果) A列 式なし B列B2に =IF(A2="","",VLOOKUP(A2,$H$1:$J$5,2,FALSE))    B10まで式複写 C列C2に =IF(B2="","",VLOOKUP(A2,$H$1:$J$5,3,FALSE))    C10まで式を複写 D列に 式なし F列に =IF(OR(C2="",D2=""),"",C2*D2)    F10まで式を複写  ここはやり方で分かれそう。 ーー F11は=SUM(E2:E10) これでA1:E11のセルに、エラーや、0や、合計が出せないなどというのは、起こらないようだが。 上記で何か難しい細工や関数を使ってますか。使ってないですよ。

zep1173
質問者

お礼

教えてGOOへの質問が初めてだったもので。。。 ごめんさない。今後もっと詳細に記述します。 にもかかわらず丁寧なご教示ありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

一種のエラー処理ですが、Vlookup関数の部分に =IF(”商品コード”="","",”今のVlookup関数”) と、商品コードが空白であれば空白、空白でない時に関数を実行 するように、IF文で置き換えてみてください。

zep1173
質問者

お礼

なるほど、こんな手もあるんですね? 勉強になります。 ありがとうございました。

noname#204879
noname#204879
回答No.1

「購入金額」の式を =単価*購入数量 でなく、=PRODUCT(単価,購入数量) とすればOKでは?

zep1173
質問者

お礼

ご教示の通りにやったらできました。 ありがとうございました。

関連するQ&A

  • vlookupにつきまして

    こんにちは、教えてください。 以下のような表をつくっています。     A     B      C      D       E 1 商品コード 商品名  100枚   1000枚 10000枚 2  1      赤      10       9       8 3  2      青      11       10        7 4  3      黄       12       11        6 赤という商品を100枚発注すると単価は10円ですが、1000枚発注すると9円になるという表です。 現状はvlookup関数を使用して「1」という商品コードを入力すると「赤」と表示 させ、その後に「1」と「1000枚」という情報を入力 すると 「9円」という単価まで自動表示させてしまう表を作成 したいと思っています。 もし縦横読む関数がありましたら教えてください。 =IF(A29="","",VLOOKUP(A29,sheet1!$D$5:$E$154,2,FALSE)) 現状はこの関数を使用しています。この関数だと単価は手入力と なってしまい作業効率が悪く、金額齟齬のおそれがありますので是非 宜しくお願いします。

  • エクセル 表検索した合計の出し方について

    既出でしたらすいません。 いろいろ検索していみたのですが見つかりませんでしたので、教えて下さい。というかできないのですかね? エクセル2007を使っているのですが、商品、単価、入り値を一覧の表にしてVLOOKUPでその一覧の番号から表検索して別の一覧を作れるようにしました。その新しい表の最後の行に単価と入り値の合計を出したいと思っています。ただ、その最後の行は一定ではなくどこになるかわかりません。(違う場所に合計用のセルを作るのではなくすでに関数がある場所に付け足したいのですが。。。) 以下がそのセルに入っている関数の例です。 =IF(I6="","",ROUNDDOWN(I6*F6+I6*IF(G6<10,G6/10,IF(G6<100,G6/100,G6/1000)),0)) I6にVLOOKUPで検索した単価が入るように関数を入れてあります。 F6、G6は数量を入力するようにしてあります。単価と数量の合計 この関数に付け加えるか、もしくは新しい関数でもいいので 「もし、A6に合計の文字列が入れば、I1~I5(合計の文字列が入る前のセル)までを足す」 というようなことができますでしょうか?

  • エクセル 表の自動追加

    エクセルで見積書を作成しています。 単純化して書きますと    A      B        C    D   E 1 商品コード 商品名    単価   数量  金額               合計¥~~ vlookup関数を使ってA列に商品コードを入力B列に商品名、C列に単価が引用され、後はD列の数量を入力すればE列の金額および合計金額が出るというようにしているのですが、 A~Eが埋まれば自動的に2行目が合計との間に挿入されるような関数?などはあるのでしょうか。現在では15行程度の表があるのですが、もっと数が増えたときや、数が少ないときに〆の線を引くのが面倒なのです。  私自身はエクセルはネットで独学程度で学んでいるので詳しくありません。自分でいろいろ調べたのですが(と言ってもネットで調べただけですが)VBAを使用しなければ難しいでしょうか? 拙い文章で申し訳ありませんが、ご教授のほどよろしくお願いいたします。

  • VLOOKUP関数の使い方について

    以前コード番号を入力すると自動的に商品番号が出るようにしたいと質問させていただきました。 教えていただいた方法を使い おかげさまでコード番号を入力すると隣のセルに商品番号が出るようになりました。 ただ一緒に単価も入力させたいのですがそれができません。 入力本体は(シート名 「仕入れ表」) E列 コード番号 F列 商品名 G列 数量 H列 単価 I列 小計(G*H) という構成になっています。 (A~C列は他の項目が入っています) 参照するシート名「cade」 同じブック内にあります。 A列コード番号 B列商品名 C列単価 が入っておりA~C列までを名前の定義で 「cade表」としてあります。 「仕入れ表」のI列(小計) の二行目より =IF(E2<>"",G2*H2,"") の数式がコピーしてあります。 同じく 「仕入れ表」のF列には =IF(E2<>"",VLOOKUP(E2,cade表,2,FALSE),"") と数式を入れました。 結果コード番号を入力すると商品名は出ますが 単価は入力されません。 単価も同時に入力する為にはどのようにしたらよろしいでしょうか? どなかた教えていただけると助かります。 宜しくお願い致します。

  • access 関数で出した合計に文字を挿入

    初心者です、よろしくお願いします。 仕様環境 WinXP Access2002 レポートで請求書を作っているのですが、 [商品][数量][単位][単価][金額]とあり、 商品が複数あった場合の小計は =sum([数量]*[単価])となりますが、 更に消費税をつけると =sum([数量]*[単価])*0.05を足して 合計金額は=sum([数量]*[単価])+sum([数量]*[単価])*0.05 で出て来ます。 ちなみに書式は「通貨型」です。 そこで、合計金額を\10,500だとして それを”税込み合計金額 \10,500-”と表記できるようにしたいと思っています。 つまり関数で出した合計の前に”税込み合計金額”を そして最後に"-"をつけたいのです。 ラベルを貼ってしまえば出来ますが、 金額が千円台から百万円台まで対応させたいため 体裁をよくする上でラベルを貼るのは避けたいです。 請求書の定型の都合上で申し訳ないのですが、 こういうことは出来るのでしょうか? お知恵をおかしください。

  • 任意のセルに小計、合計と入力したら自動計算してくれ

    エクセル2007でVBAを何度も挫折しています 任意のセルに小計、合計と入力したら自動計算してくれるVBAの方法を教えてください セル G21 商品名 L21 詳細 V21 数量 X21 単位 Z21 単価 AD21 金額(V21:数量*Z21:単価) の何処にでもある見積書なのですが 任意のG行に小計・合計と入力すると AD行に金額が自動で入力させるVBAの仕方が知りたいです。 3行ほどの見積もあれば100行を超える見積もあります 教えてください。

  • 入力した合計数値を振り分けたい

    関数とかマクロなど理解していない初心者でエクセル2003を使用しいます。 例えば 1Aのセルに1~10個(単価50円)と入力済 2Aのセルに11~20個(単価40円)と入力済 3Aのセルに21~30個(単価30円)と入力済 1B~3Bのセルに個数欄未入力 1C~3Cのセルに金額自動計算式入力済 4Bのセルに合計個数欄未入力 4Cのセルに合計金額自動計算式入力済 とした場合、例えば4Bの合計個数に29個と入力すると、自動的に1Bに10個、2Bに10個、3Bに9個と個数が振り分けられる様にしたいのですが、できるのでしょうか?

  • エクセルのVLOOKUP関数について。

    エクセルのVLOOKUP関数について。 教えて頂きたいです。 sheet2に商品マスターがあり、タイトルとしてセルA1に品目コード、B1に品名、C1に会社名、D1に県名、E1に個数と入力してあります。 sheet2のA2には111、B2にはいちご、C2にランド、D2に埼玉県D3に山梨県、E2に100個、E3に200個、E4に300個 と入力してあります。 sheet1のA2に111と入力し、B2にいちご、C2にランド、D2に埼玉県、D3に山梨県、E2に100個、E3に200個、E4に300個と表示させることは可能でしょうか? 県名に対して2個、個数を3種類持っているのです。出来ればVLOOKUP関数でお願いしたいのですが、他の関数でも構いません。 自分で色々検索し、下の行のセルの値を返す等の記事を見たのですが、いまいち理解できずにいます>< 尚、sheet2の商品マスターは作り直せず、手をつけることも出来ません。(私には権限がない為) sheet2の商品マスターのデータは膨大(約1400行)である為。 222(品目コード)、ぶどう(品名)、遊園地(会社名)、東京(県名)、50個(個数)、 333(品目コード)、みかん(品名)、ドーム(会社名)、千葉(県名)、100個(個数)、200個(個数) と、ぶどうは個数が1種類 みかんは個数が2種類 など、ランダムに商品マスターが作成してあります。 説明が下手ですみません><

  • VLOOKUPでもう一工夫必要なのですが・・・

    VLOOKUPでもう一工夫必要なのですが・・・ 表1のデータを元に、表2を作成したいのです。 (実際の表1は500行くらいあり、表2には表1の食品名が全てあるとは限りません) 表2に単価を引っ張ってきたいのです。そして最終的に数量と掛け合わして合計金額を求めます。 表1に単価1と単価2がありますが、基本的に単価1を引っ張ってきますが単価2に「0」以外の金額が入っているときは単価2の金額を引っ張ってきたいのです。 IF文を使うと出来そうな気はしてるのですが・・・ 絶対にVLOOKUPを使わなければいけないという訳ではありません。 他に良い方方がありましたら教えてください。 よろしくお願いいたします。

  • ファイルメーカー6のif関数について

    ファイルメーカー6、MacOS9.2を使ってる初心者です。 ファイルメーカーの事で前も教えて頂きましたが、またお願いします。 商品名、数量、単価、合計という4つのフィールドがあります。 合計フィールドは数量フィールド×単価フィールドという計算式で出していて これ自体は問題ないんですが、 商品名を値一覧から(約10品名)選び、選んだ品名から自動で 単価を入れたいんですがやり方が分かりません。 例えば商品名にみかんを選んだ場合は単価に50を、 リンゴを選んだら70を バナナを選んだ90を・・・・ こんな感じで10品目分を設定したいんですが出来ません。 ひとつだけならif関数で出来たんですが・・・ もちろん、設定が出来るならif関数じゃなくても良いんです。 よろしくお願いいたします。

専門家に質問してみよう