Excelの関数について

このQ&Aのポイント
  • Excel2003を使用している場合、Sheet1に家計簿のような表があり、Sheet2に集計表を作成しようとしています。
  • Sheet1のACEGIKM列に商品名、BDFHJLN列に価格の入力されている表がありますが、この中から商品aの価格を合計する方法がわかりません。
  • COUNTIFやOFFSETやSUMIFなどの関数を組み合わせてみましたがうまくいきません。他の方法で商品aの価格を合計する方法を教えていただきたいです。
回答を見る
  • ベストアンサー

Excelの関数について

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

  • RRHH
  • お礼率62% (34/54)

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

以下のような範囲を1つずらして指定したSUMIF関数を使うのが簡単です。 =SUMIF(A1:M100,"商品a",B1:N100)

RRHH
質問者

お礼

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

RRHH
質問者

補足

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

その他の回答 (3)

回答No.4

No.2 MackyNo1さんの回答の返答より >検索条件の商品aを商品aという文字を含むというように変える事は可能でしょうか? 追加質問は新たにスレを立ち上げ、このページへのリンクを立ち上げたほうが ポイントシステムの上でよいと思います。 で、そのまま解答を書いても勉強にならないと思うので、 参考となるページをリンクしておきます。 キーワードは「ワイルドカード」 COUNTIF http://office.microsoft.com/ja-jp/excel-help/HP005209029.aspx 例 2: ワイルドカード文字を使用し、空白の値を処理する COUNTIF 関数の数式 SUMIFも同様です。

RRHH
質問者

お礼

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

  • ihyou_P
  • ベストアンサー率35% (50/141)
回答No.3

基本的には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を使用します)  あ、但し、この方法を取ると関数が見易くなるかわりに、ファイルサイズが大きくなりますのでご注意下さい。

RRHH
質問者

お礼

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

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

式を簡略化しようとしないで単純に列ごとに足し算をします。 例えばシート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)

RRHH
質問者

お礼

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

関連するQ&A

  • エクセルの関数

    エクセルの関数 ですが、 SUMIF を使いたいのです。 シート1の 1行目には 見出しが入っています。 A2~A50に、A店 B店 C店 D店 がランダムに入っています。 B2~B50に、名前が入っています。 C2~C50に、売上の数字が入っています D2~D50に、すべてに 1 が入っています。 E2~E50には、ところどころに 1 が 入っています。 シート2に、SUMIFを使って、E2~E50に入っている 1 の人だけの 各店の合計を出したのですが、どうやったらいいのですか? シート2のA1にはA店 A2にB店 A3にC店 A4にD店 が入っています。 そうすると、シート2のB2には、 =SUMIF(Sheet1!A2:A50,A2,Sheet1!$C$3:$C$50) となるということでいいのですか? ですが、 これは、各店の全体の合計です。 やりたいのは、E2~E50に 1 が 入ってる人のみ 各店の 合計を シート2の B列にだしたいのです。 関数の方法を教えてください

  • エクセル関数で分からない事があります

    文字列の中に特定の文字を含んだものを検索し 検索でヒットしたものと同じ行にある 数字を全て合計した数を返したいのです。 COUNTIFを使って データの中から、文字列の中に特定の文字を含んだセルが 何個あるかは調べられたのですが INDEX、MATCH、IF、SUMIF色々試したのですが どうもうまくいきません・・・。 どなたか関数技を伝授してください(>_<)

  • EXCEL SUMIF関数について

    EXCELのSUMIF関数ですが、マニュアル通り使用すると 思ったとおりの計算ができません。    A   B  C   1  1  10 100 2  2  20 200 3  3  30 300 4  4  40 400 5  5  50 500 の様な5行×3列の表で A列が>3のもののB列C列の合計を求めたい場合 =sumif(A1:A5,">3",B1:C5) とすれば990という合計が欲しいのですが、やってみると 90にしかなりません。(B列しか合計されていない) どうなっているのでしょうか。

  • ExcelのSUMIF関数についてです。

    ExcelのSUMIF関数についてです。 下記のような表を使用して、 商品コードが一致する商品数の合計をD2セルに入力したい。 (※A2,A3,A4...とA列の中でコードが一致したら、その数量の合計を出す)       A        B       C    D 1     商品コード  商品名   数量   計 2     PD0001    AAA     50 3     PD0019    BBB     20 4     PD0009    CCC     150 5     PD0001    AAA     1 6     PD1004    DDD     15 7     PD1027    EEE     50 8     PD0009    CCC     40 9     PD0019    BBB     30 :      :         :       : :      :         :       : sumif関数を使用して、 D2に =SUMIF(A:A,A2,C:C) を入力コピーすると     D     計 2   35 3    1 4   50 5   45 6    0 7    0 8    0 9    0  :    : :    : となってしまいます。     D     計 2   51 3   50 4   190 5   51 6   15 7   50 8   190 9   50  :    : :    : という出力にするにはどうしたらいいでしょうか? ちなみに、コードではなく商品名で D2に =SUMIF(B:B,B2,C:C) を入力コピーするとうまくいきます。 初歩的なことなのかもしれませんが、 商品コード数も数量もかなり膨大なものを計算するので困っています。 宜しくお願いします。

  • 関数がうまくいきません?

    簡単な、関数で恥ずかしいのですが フィールド行が5行目にあり6行目からデータ(データは毎日変更があります)が入力されたシートがあります。 I列からL列に条件が一致するものに○があり、一致しないものは空白となっています。   A B C D・・ I   J  K  L  6        ○ 7          ○   ○  ○ 8        ○ ○ ○ ○ 9            ○ ○ 10        ○ ○   ○  11 12        ○     ○ 13          ○ ○ 14        ○ ○ ○ ○ 15        ○   ○ ○  16            ○ 17          ○   ○ 18        ○ ○ ○ ○ 19          ○ ○ ○ 20        ○ ○ ・ ・ ・ このI列の中で空白になっているセルの合計値をB2へ J列の中で空白になっているセルの合計値をD2へ、K列の中で空白になっているセルの合計値をB4へ、L列の中で空白になっているセルの合計値をD4へ入れるために =COUNTIF(I6:I65536,"<> ○") =COUNTIF(J6:J65536,"<> ○") =COUNTIF(K6:K65536,"<> ○") =COUNTIF(L6:L65536,"<> ○") と関数を設定しましたが、うまくいきません。 また =COUNTBLANK(I6:I65536) でも試してみましたが、データの入力の無い空白セルもカウントして駄目みたいです。 どなたかご教授を!  

  • Excelの関数について

    エクセルの関数で指定列に指定文字があったら、その右隣のセルの内容を別シートの指定セルに表示するというものはありますでしょうか? 参考として画像を添付致しますが、Sheet2のD列に「冷凍食品半額」という文字列があったら、その文字列の右隣にあるセルの内容(売上金額)をSheet1の指定セルに表示するというものです。 別シートの指定セルにIF関数を入れてやれば何とかなりそうな気がしたのですが、出来なかったので質問させて頂きます。 よろしくお願い致します。

  • 「SUMIF」と「AND」関数の組み合わせについて

    2つの表があり、A列の日付が同じでなおかつ表2のB列に「9」が入っているC列の合計数を表1のBに反映し、合計数が「0」なら""空白にしたい場合の関数の組み合わせを教えてください。日付が同じだけなら「SUMIF」と「IF」関数でできたのですが、なおかつ「9」が入っているセルの合計となると上手く反映されません。「AND」関数の使い方が悪いと思うのですが、どうかよろしくお願いいたします。

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

    エクセルのCOUNTIF関数について、というかCOUNTIF関数でよいのかどうかもよく分からないのですが、教えて下さい。 (1)まず、ワークシートのA列の1~100行目までの100マスを範囲として、数値を入力していくときに、仮に同じ数値を入力しようとしても、入力ができないようにしたいのです。 (2)次に、ワークシートのA列とC列のそれぞれ1~100行目までの合計200マスを範囲として、(1)と同じことをしたいのです。(つまりB列はとばして) (1)と(2)のようなことは可能でしょうか? お分かりの方がおられましたら、ぜひよろしくお願いします!

  • Excel関数について

    Excelの関数について困っています。 Sheet1のA列に数種類の記号が入っています。(今回はAとします。) 同シートG列に日付が入っています。(空白もあります。) A列の記号毎の合計は、COUNTIFで求められます。 お聞きしたいのは、A列で出した記号の合計が、G列の日付に何個あるか?をSheet2の「J10」セルに算出したいです。 複数の関数を組み合わせれば出来そうな気がするのですが、皆様のお知恵をお貸し下さい。

  • Excelで数式中に他セルの値

    Excelで数式について、他のセルに書いてある数字を文字列として代入したいのですが、 どうすればよいでしょうか。 具体的には 1  A1に10と入っており 2-1 B2に=COUNTIF(OFFSET(A1:D10, 0, 1), "=【A1】") 2-2 SUMIF(~~~, "=【A1】", ~~~) のような形で、A1の値に応じてCOUNTIFとSUMIFの条件分岐をしたいのです。 よろしくお願いします。

専門家に質問してみよう