• ベストアンサー

VLOOKUP関数で取得した数値を加算したい

はじめまして、初めて質問をさせていただきます。 以下のような処理を行いたいのですが教えてください。    シート1     |   シート2   A   B      |   A    B  1りんご        | 1バナナ  10 2バナナ  25     | 2スイカ  3 3みかん  5      | 3みかん  15 4イチゴ  30     | 4ナシ   5 シート1の数量B列に、品目A列を検索キーとして、シート2の品目A列と一致する品目の数量を「加算」する形で入力したいのです。 関数を入力して、式を下にコピーしていきますが、この際に ・一致するものがない場合は、以前入っていた数値をそのままにする。 ・数値が未記入のセルもValueなどのエラーを出さないで空白セルのままにする。 結果として、このような表になって欲しいのです。   A   B    1りんご    ←空白セルは空白のまま 2バナナ  35 ←一致する品目があったので加算 3みかん  20 ←一致する品目があったので加算 4イチゴ  30 ←シート2に一致する品目がないので変化無し としたいのですが、どのような記述の式にすればよろしいでしょうか? よろしくお願いします。

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

  • ベストアンサー
回答No.2

そのままシート1のB列に式を入れるのは不可能だと思います。 式を入れる時点で、既にB列に入っている数値が消えるからです。 C列の前に1列挿入して、#1さまの式を入れ、その後値のみコピーが良いのでは? ちなみにちょっと変更でこうかも↓ =IF(ISNA(VLOOKUP(A1,Sheet2!A:B,2,FALSE)),"",VLOOKUP(A1,Sheet2!A:B,2,FALSE)+B1) オンタイムで更新させたいのであれば、C列が絶対に必要です。(もしくはVBAを利用することになります)

nogupon
質問者

お礼

回答ありがとうございます。 ログインパスワードを紛失してしまって、運営者からのメールが届くまでログインできませんでした。 上の方法で試したところ、うまくいきましたが、やはり新しい列を追加して一時的にそこに入れないとダメみたいですね。 VBAを駆使すればできるのかもしれませんが、VBAを扱うことはまだできないので、この方法で対応したいと思います。

その他の回答 (1)

noname#19676
noname#19676
回答No.1

=IF(ISNA(VLOOKUP(A1,Sheet2!A:B,2,FALSE)),B1,VLOOKUP(A1,Sheet2!A:B,2,FALSE)+Sheet2!B1) ではどうですか?

nogupon
質問者

お礼

回答ありがとうございます。 ログインパスワードを紛失してしまって、運営者からのメールが届くまでログインできませんでした。 yellowtail-さんの関数と両方参考にさせて頂きました。 yellowtail-さんの方にも書きましたが、別の列を追加して値のみをコピーするといいみたいですね。 返事が送れて済みませんでした。

関連するQ&A