- ベストアンサー
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に一致する品目がないので変化無し としたいのですが、どのような記述の式にすればよろしいでしょうか? よろしくお願いします。
- みんなの回答 (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を利用することになります)
その他の回答 (1)
=IF(ISNA(VLOOKUP(A1,Sheet2!A:B,2,FALSE)),B1,VLOOKUP(A1,Sheet2!A:B,2,FALSE)+Sheet2!B1) ではどうですか?
お礼
回答ありがとうございます。 ログインパスワードを紛失してしまって、運営者からのメールが届くまでログインできませんでした。 yellowtail-さんの関数と両方参考にさせて頂きました。 yellowtail-さんの方にも書きましたが、別の列を追加して値のみをコピーするといいみたいですね。 返事が送れて済みませんでした。
お礼
回答ありがとうございます。 ログインパスワードを紛失してしまって、運営者からのメールが届くまでログインできませんでした。 上の方法で試したところ、うまくいきましたが、やはり新しい列を追加して一時的にそこに入れないとダメみたいですね。 VBAを駆使すればできるのかもしれませんが、VBAを扱うことはまだできないので、この方法で対応したいと思います。