dポイントプレゼントキャンペーン実施中!

Excel2003を使っているのですが、関数について質問させて下さい。
Sheet1に家計簿の様な表があり、Sheet2に集計表を作ろうと考えています。
Sheet1のACEGIKM列に商品名、BDFHJLN列に価格の入力されている表があります。
Sheet1全体の中から商品aというセルを検索し、その右隣のセルの値を合計させたいと思い、COUNTIFやOFFSETやSUMIFなどを組み合わせてみたのですが、組み合わせ方が悪いのか、このような条件が関数としては無理なのか、どうしても上手くいきません。
どうしようもなくご質問させて頂きました。
他の方法でも構いません。Sheet1全体の中から商品aの価格を合計するにはどうしたらいいのでしょうか?
何方かお知恵をお貸し下さい。宜しくお願い致します。

A 回答 (4件)

以下のような範囲を1つずらして指定したSUMIF関数を使うのが簡単です。



=SUMIF(A1:M100,"商品a",B1:N100)

この回答への補足

この通りにしたら出来ました。これ位簡単なら私にも理解できます。
有難うございました。
それで申し訳ないのですが、もう一つ質問させてもらってもいいでしょうか?
最初の質問では、この回答で十分なのですが、
=SUMIF(A1:M100,"商品a",B1:N100)
での検索条件の商品aを商品aという文字を含むというように変える事は可能でしょうか?
つまり、商品名の中に商品aaや商品abや商品acなどが存在し(幾つ存在するか分からない)、その隣の値も合計したいのです。
追加での質問、本当に申し訳ないのですが、どうかお力をお貸し下さい。
宜しくお願い致します。

補足日時:2010/12/21 11:47
    • good
    • 0
この回答へのお礼

追加での質問などしてしまい申し訳ありませんでした。
こちらの回答は最初の質問でのベストアンサーとして選ばせていただきます。
有難うございました。

お礼日時:2010/12/21 14:14

No.2 MackyNo1さんの回答の返答より


>検索条件の商品aを商品aという文字を含むというように変える事は可能でしょうか?
追加質問は新たにスレを立ち上げ、このページへのリンクを立ち上げたほうが
ポイントシステムの上でよいと思います。

で、そのまま解答を書いても勉強にならないと思うので、
参考となるページをリンクしておきます。
キーワードは「ワイルドカード」
COUNTIF
http://office.microsoft.com/ja-jp/excel-help/HP0 …
例 2: ワイルドカード文字を使用し、空白の値を処理する COUNTIF 関数の数式

SUMIFも同様です。
    • good
    • 0
この回答へのお礼

CoalTarさん、
ワイルドカードですね。とても参考になりました。有難うございます。
>追加質問は新たにスレを立ち上げ、このページへのリンクを立ち上げたほうがポイントシステムの上でよいと思います。
こちら、確かにその通りでした。
そのせいで今回ベストアンサーに選ぶ事が出来ず本当に申し訳ありません。
どうかお許し下さい。
すみませんでした。そして有難うございました。

お礼日時:2010/12/21 14:07

基本的にはNo.1さんの回答の方法(1列ごとに計算する)で良いと思います。



ただ、その他にも色々したいとか、もっとややこしい表を扱うだとか、関数の式を見やすくしたいということであれば、
Sheet3に関数用の踏み台となるシートを作ってやることで、関数式を見やすく書くことができます。

例)Sheet1が20行の表だとして
 Sheet3の
 A1に =Sheet1!A1
 A2に =Sheet1!A2
 …
 …
 A20に =Sheet1!A20
 A21に =Sheet1!C1
 A22に =Sheet1!C2
 …
 …
 A40に =Sheet1!C20
 A41に =Sheet1!E1
 A42に =Sheet1!E2
という形

 この踏み台のシート(Sheet3)を対象にすれば、普通にSheet2ではSUMIF関数で集計できます。
 (今回の質問では関係有りませんが、ややこしい表を作って複数の条件で集計する場合はDSUMを使用します)

 あ、但し、この方法を取ると関数が見易くなるかわりに、ファイルサイズが大きくなりますのでご注意下さい。
    • good
    • 0
この回答へのお礼

他に参考になる回答があったものでこちらは試しておりませんが、ご伝授有難うございました。
今後の参考にさせて頂きます。

お礼日時:2010/12/21 14:12

式を簡略化しようとしないで単純に列ごとに足し算をします。


例えばシート2のA1セルから下方に商品名があるとしたら、A1セルに次の式を入力し下方にオートフィルドラッグします。

=SUMIF(Sheet1!A:A,A1,Sheet1!B:B)+SUMIF(Sheet1!C:C,A1,Sheet1!D:D)+SUMIF(Sheet1!E:E,A1,Sheet1!F:F)+SUMIF(Sheet1!G:G,A1,Sheet1!H:H)+SUMIF(Sheet1!I:I,A1,Sheet1!J:J)+SUMIF(Sheet1!K:K,A1,Sheet1!L:L)+SUMIF(Sheet1!M:M,A1,Sheet1!N:N)
    • good
    • 0
この回答へのお礼

他に参考になる回答があったものでこちらは試しておりませんが、ご伝授有難うございました。
今後の参考にさせて頂きます。

お礼日時:2010/12/21 14:11

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