• 締切済み

【Excel】SUMIFSの式を絶対値にするには

添付した画像のセルB2には以下のとおりのSUMIFSの式が入っているとします。 =SUMIFS(E:E,B:B,Q2,C:C,Q3,G:G,R2) セルC2にこの式をコピーしたいのですが、 =SUMIFS(F:F,C:C,R2,D:D,R3,H:H,S2) このようになり、合計対象範囲から条件まで、すべてズレてしまいます。 逆にB2の下のセルB3にB2の式をコピーすると条件それぞれの位置がこのように =SUMIFS(E:E,B:B,Q3,C:C,Q4,G:G,R3) ズレます。 表マトリクスの数値の合計をだすために、どの位置にセルB2の式をコピーしても正確な結果がでるようにセルB2を絶対値としたいのです。セルB2に入れる正確な式を教えてください。 また式だけではなく絶対値となる理由もご説明していただけると幸いです。

  • frau
  • お礼率54% (2370/4367)

みんなの回答

  • miso_kasu
  • ベストアンサー率60% (6/10)
回答No.4

>また式だけではなく絶対値となる理由もご説明していただけると幸いです。 Excelの数式で参照するセルを絶対番地にするには列記号(A、B等)の前に$マークを付ける($A、$B等)と数式を他のセルへコピーしたときに変化しなくなります。 また、行番号(1、2等)も列記号と同様に$マークを付けることで絶対番地の指定になります。 提示の数式で集計範囲の列がE列全体のとき他のセルでもE列全体が集計範囲であれば$E:$Eのように指定するとB2セルの数式の集計範囲はC2セルへコピーしても$E:$Eになります。 比較範囲1のB:Bと比較値のQ2については例の数表が提示されていないので質問文だけではB:Bを絶対番地にしたいのかQ2セルを絶対番地にしたいのかがわかりません。 列記号が可変で行番号が絶対番地の場合はQ$2とし、列記号が絶体番地で行番号が可変の場合は$Q2とすれば良いでしょう。(範囲のB:Bには行番号が無いので1~最大行番号であり省略されています) B2の数式をC2へコピーしたときどのように変化してほしいかを提示して頂ければ具体的に数式を提示できます。 また、同様にB2の数式をB3へコピーしたときの数式を提示頂ければあなたの希望通りの数式を提示できると思います。 絶対番地の指定は他のセルへコピーしたときに指定した番地が変化しないことです。 可変(相対番地)の指定では数式を設定したセルと対象のセルが隔たった位置をコピー先へ引き継ぎますので数式のセルと対象のセルの位置関係を観察してコピーの可否を判断してください。

  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.3

> B2とC2セル(店舗)に対して共通項である商品を絶対値とし、店舗間だけ相対値とすることはできないのか?というのが質問の主旨でした。 ですから、エクセル絶対参照を検索して絶対的に変化させたくないセル指定をご自身で指定してください。ということです。とにかく絶対参照を理解しなければ「絶対値となる理由」もわからないのです。 それとも、ネットに情報が山ほどあるのにそれをいちいち私が説明しろとでもいうのでしょうか?

frau
質問者

お礼

前のお礼で成功したと言ってますよね? ネットで調べてみたところ、複合参照というものだとわかったからです。 >エクセル絶対参照を検索して絶対的に変化させたくないセル指定をご自身で指定してください そう、最初に言ってもらえばわかりやすかったです。補足しても質問の意味がわかってないようですね。

frau
質問者

補足

>いちいち私が説明しろとでもいうのでしょうか? というのなら最初から回答しないでください。 質問の意味がわかってないようなのに憶測での回答されて逆に混乱しました。

  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.2

> 数式がそのままコピーされただけ(つまり答えも同じ)でしたが…。 はい、そのようにしてます。 E:E, Q2, Q3 G:G R2 何がどうなっているのか不明ですから。全てB2絶対値にしてます。 エクセル絶対参照で調べて自身で変更したくないセルの指定先を設定してください。だから検索してくださいと回答しています。

frau
質問者

お礼

回答いただいた式を編集し、絶対値として固定したくないセル(つまりコピーしたとき相対値となるセル)については、絶対値の記号$をとりましたところ、成功しました。

  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.1

=SUMIFS($E:$E,$B:$B,Q$2,$C:$C,$Q$3,$G:$G,$R$2) でいいと思います。エクセル絶対参照で検索してください。

frau
質問者

お礼

ご回答者様に質問の意味が伝わってないようですので改めて。 B2を絶対値にという言い方が間違っていたと思います。 質問で述べたとおり、B2に入れた式をC2にコピーしたとき、B1を相対値にしたままの状態のときにすべてのセル位置がひとつづつズレてコピーされてしまうが、B2とC2セル(店舗)に対して共通項である商品を絶対値とし、店舗間だけ相対値とすることはできないのか?というのが質問の主旨でした。 それとも、相対値をコピーしたら、合計対象範囲から条件まで、すべてズレてしまうのは仕方なく、条件が変わるのなら、ひとつづつ手動で関数式を設定しなければならないのでしょうか?

frau
質問者

補足

ご回答の式で試してみましたが、数式がそのままコピーされただけ(つまり答えも同じ)でしたが…。

関連するQ&A

  • 【Excel】SUMIFSのコピーが連番になる

    条件が複数の場合の関数のSUMIFSについて、作り方は一応わかったのですが、コピーするとどうしてもセルが連番になってしまいます。 条件が一つの場合はSUMIFを使います。 たとえば添付画像の「種目」別の合計をだしたい場合、 =SUMIF(B:B,G6,D:D) という式になりますが、これを複数の条件とする場合にはSUMIFSを使うようですが、各「年」ごと、各「種目」の合計をさらに「店舗」ごと個別計算し、その結果を表2に示す場合、 =SUMIFS(D2:D596,A2:A596,H2,B2:B596,G5,E2:E596,H3) という式でよいかと思いますが、これを「種目」すべてにコピーすると、上の式のセルがすべて連番になってしまうのです。 たとえば =SUMIFS(D3:D597,A3:A597,H3,B3:B597,G6,E3:E597,H4) このようにです。 冒頭に述べた =SUMIF(B:B,G6,D:D) の場合、たとえば下のセルにコピーすると =SUMIF(B:B,G7,D:D) というようにG列だけ変化します。 連番になってしまうと、参照元がまったく別のものになってしまいます。 「合計対象範囲」「条件範囲」はセルの範囲を指定するという説明です。 https://www.becoolusers.com/excel/sumifs.html しかしこれは合計結果がひとつづつの場合ですが、この添付画像のような複数の項目の、複数の条件の場合、同式の内容のみコピーさせるにはどうしたらいいのか困っております。

  • 【Excel】複数条件のAVERAGE

    ある特定したいくつかの要素の合計を、セル「I5」にだすとします。 たとえば表2のH2の「年」、同表のH3の「店舗」、同表のG5以下の「種目」からそれぞれ具体的な条件を、たとえば表1のA列より「2016年」、同表のE列より「店舗(1)」、同表のB列より「アスパラガス」を探し出すようにする場合関数式は以下のような式となりますが、 =SUMIFS($D$2:$D$596,$A$2:$A$596,$H$2,$B$2:$B$596,$G5,$E$2:$E$596,H$3) これを合計ではなく平均値で出す場合、「SUMIFS」のみ「AVERAGE」に入れ替え =AVERAGE($D$2:$D$596,$A$2:$A$596,$H$2,$B$2:$B$596,$G5,$E$2:$E$596,H$3) という式を「I5]に入れると確かに平均値はあっていたのですが、この式をコピー(セルのコピー)しても、正常に反映されず、I5の回答がそのままコピーされてしまいます。 何が原因なのでしょうか?

  • SUMIFS関数の質問

    エクセルで A列のあたいがE1セルに一致し、B列の値が文字列"00"でないC列の数値を合計したい場合、 これまでエクセル2003の時は =SUMPRODUCT((A2:A15=E1)*(B2:B15<>"00")*C2:C15) のように書いてきました。 これをエクセル2010で、SUMIFS関数にしようと思い =SUMIFS(C:C,A:A,E1,B:B,<>"00") としてみました。 ところが、テストでわずか14行でやってみると答えが違うのです。 わたしのSUMIFS関数の理解があやまっているのでしょうか? 教えてください。 テストに使った2行目から15行はこんな感じです。E1セルには文字列 A があり、 =SUMPRODUCT((A2:A15=E1)*(B2:B15<>"00")*C2:C15)  は27を =SUMIFS(C:C,A:A,E1,B:B,"<>00")  は28を返します。 A 00 1 A 01 2 A 02 3 A 03 4 A 04 5 A 05 6 A 06 7 B 07 8 B 08 9 B 09 10 B 10 11 C 11 12 D 12 13 D 13 14

  • 【Excel】SUMIFSで期間内の条件について

    任意の期間内のデータを抽出して合計する場合以下の数式とします。 =SUMIFS(E:E,A:A,">=2019/1/1",A:A,"<=2019/1/27",B:B,B2) 12月まであるのでコピーをしたいのですが、このような場合は手動で月日を入れ替えないとならないですよね?つまりコピペは不可か?ということです。 また、2019年は「うるう年」ではない年ですが、アバウトに2月29日までと入力した場合、正確な結果はでないのでしょうか? また31日がない月も同様でしょうか?

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

    A列に日付、C列に文字列、E列に数値があります。 仮に、日付は2013年4月だけ、文字列は”事務” だけに条件を絞ってE列の数値を合計する場合、エクセル2000では =SUMPRODUCT((C$1:C$1000="事務")*(TEXT(A$1:A$1000,"yyyymm")="201304")*E$1:E$1000) でうまくいきました。 こんどエクセルが2010になったので、あたらしくできたSUMIFS関数でやってみようと思い =SUMIFS(E:E,C:C, ”事務”,TEXT(A:A,"yyyymm"),”201304”) としましたが「数式が正しくありません」とエラーになってしまいます。 SUMIFS関数だと列のセル範囲を指定しなくていいので使いたいのですが・・・。 F列を作業列とし、ここにA列の日付をyyyymm形式の文字列とすれば =SUMIFS(E:E,C:C,"事務 ",F:F,"201304") で出来ますが、ほかにいい方法はないでしょうか?

  • Excelの入力式について

    Excelの入力式について教えてください。 たとえば、A1セル~F1セルに数値が入っていて、G1セルA1+B1の値、H列にC1+D1の値 I列にE1+F1の値としたい場合、 G1セルに数式を入れてH列にコピーするとB1+C1になってしまいます。 上手くやる方法はないのでしょうか。 1列ずつわざわざ空白列を作るのは嫌ですし、たくさんあったら数式を打ち込むのも大変です。。。

  • EXCEL2003で判定式について教えてください。

    仮にA1に12.9、B1に12、C1に11.4、D1に12.5とあるとして F1にはA1-B1の値を、G1にはB1-C1の値、H1にはC1-D1の値を それぞれ10倍して(小数点以下を無くし見易くする為に) 表示するものとします。 その後F1~H1の3つの値(+9、+6、-11)に対し、+5以上が 一つでもあるならなら「A」、+1~+4のみは「B」、 +の値が一つもなく0以下なら「C」と判定させたいのです。 そこで当初J1で =IF(F1:H1>=5,"A",IF(F1:H1<=0,"C","B")) としたところ複数のセルに対してはできないようなので 一旦J1でMAXを使い(+5以上か)を判定し、L1に =IF(J1>=5,"A",IF(J1<=0,"C","B")) と二つのセル、二つの式で結果的には出来たのですが、 なんとかすっきりと一つの関数式で判定させることは 出来ないでしょうか?

  • Kingsoft(Excel)の計算式について

    A B C D E F G -1 -2 3 4 5 6 7 上記A1、C1、E1、G1の各セルを対象に正数という条件で小さいほうから1番目と2番目の合計の平均値を求める式をご教示ください。つまりC1の3とE1の5の合計の平均値ということになります。

  • sumifs関数について

    sumifsで合計を出したいのですが、集計されるセルとしないセルがあり困っています。    A    B    C    D   社名  役職  氏名  vlookupで引っ張ってきた値 1  a 役員   A        2  b    社員   B     3  c    社員   C D列にはそれぞれvlookupでひっぱてきた値が入っているます。 計 10  a   役員   =sumifs(D列,A列,A10,B列,B10) 大雑把な書き方で恐縮ですが、上記の計のように各社の役員、社員でD列の合計をそれぞれ出していきたいのですが、エラー表示ではなく 0 と集計結果で出ます。 きちんと集計結果が出ているセルと出ていないセルとで書式なども確認したのですが、相違点が見当たらず修正に行き詰りました。 どなたか、原因がわかる方がいましたらご教示下さい。 宜しくお願い致します。

  • エクセル2007 SUMIFS

    SUMIFS関数を使用して複数条件の集計をしたいと思ったのですが、 うまくいかず、SUMPRODCT関数で対応しました。 SUMIFS関数について質問ですが、 SUMIFS関数の合計範囲は1列と決まっているのでしょうか? また、合計範囲・条件範囲は同じ行でなければならないのでしょうか? そのように変更するとうまくいきます・・・ うまくいかなかった状況は下記のとおりです。 表1  A   B   C   D   E 1   4月  4月  4月  4月 2東京  5   2   4   1  3東京  1   8   3   2 4神奈川 7   0   3   9 5千葉  8   5   4   2 6千葉  2   1   1   1 7埼玉  4   8   5   2 表2   A    B   10    4月 11東京  26 12神奈川 19 13千葉  24 14埼玉  19 表2のB11に『SUMIFS(B2:D7,A2:A7,A11,B1:E1,B10)』 (絶対参照を省いてい書いています) 仕事上は解決しましたが、SUMIFSでうまくいかなかったことが気になるので、ご教授願います。

専門家に質問してみよう