システムメンテナンスのお知らせ

はじめまして、初めて質問をさせていただきます。
以下のような処理を行いたいのですが教えてください。

   シート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に一致する品目がないので変化無し

としたいのですが、どのような記述の式にすればよろしいでしょうか?
よろしくお願いします。

gooドクター

A 回答 (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を利用することになります)
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/28 08:56

=IF(ISNA(VLOOKUP(A1,Sheet2!A:B,2,FALSE)),B1,VLOOKUP(A1,Sheet2!A:B,2,FALSE)+Sheet2!B1)


ではどうですか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/28 09:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

人気Q&Aランキング