• ベストアンサー

こんな時の関数(検索条件、絶対値)

A 1 C -38 C 2 B 89 A -22 D 4 上記の数字のうち、Aの絶対値計、Bの絶対値計・・・と算出するにはどうすると良いでしょう? B7=SUMIF(A1:A5,A7,ABS(B1:B7))かと思ったのですが、エラーになってしまいます。

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

  • ベストアンサー
  • rio_d
  • ベストアンサー率47% (71/149)
回答No.3

こんにちは。 配列数式で別解を作ってみました。 なお、セル範囲の表記は見やすいように$付けしていません。 =SUM(IF(A1:A6="A",ABS(B1:B6))) と入力してから、[Ctrl]+[Shift]+[Enter]を押してみてください。 {=SUM(IF(A1:A6="A",ABS(B1:B6)))} と両脇に{}を付けた表示になり、望み通りの結果が表示されます。

dra96
質問者

お礼

[Ctrl]+[Shift]+[Enter]を押しても、“{”は付与されません(/_-)

その他の回答 (5)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

#5 rio_d さんのフォロー >[Ctrl]+[Shift]+[Enter]を押しても、“{”は付与されません(/_-) この書き方は、マイクロソフト独特の書き方ですね。本当は、ヘルプで[配列]と検索してヘルプを見ていただければ、  「配列数式とその入力方法について」 なんて出てきますからね。 私は、その書き方を、ここで書くようになってから、  一旦入力したら、目的の式にF2を押して、『ShiftとCtrlを押しながらEnterキー』を押す と書くように改めました。配列数式の確定の仕方を知らない人も大勢いますからね。

  • rio_d
  • ベストアンサー率47% (71/149)
回答No.5

#3ですが、あれれー? ちょびっと悔しいですw 一応確認なんですが、 =SUM(IF(A1:A6="A",ABS(B1:B6))) ^^^^^^ ここを「SUMIF」にしていませんか?

dra96
質問者

お礼

セルをアクティブにしてからキーを押したらできました! ありがとうございました。

  • taocat
  • ベストアンサー率61% (191/310)
回答No.4

こんにちは。 折角、ABSを使ってますので。  =SUMPRODUCT( (A1:A6=E1) * ABS(B1:B6) )  E1 に検査値があるとした場合です。 以上です。

dra96
質問者

お礼

できました! 諦めかけていただけに、感激です!! どうもありがとうございましたm(__)m

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

例の式だとB7で循環関数(自分を計算している)になります。 また、A1:A5に対してB1:B7と相対する範囲が合いません。 B列の絶対値の合計なら =SUMPRODUCT($B$1:$B$5*SIGN($B$1:$B$5)) A列がA7の値の絶対値の計なら =SUMPRODUCT(($A$1:$A$5=A7)*$B$1:$B$5*SIGN($B$1:$B$5))

dra96
質問者

補足

AやBは列ではなく、検索値です。 A列のうちCの絶対値の合計・・・と云った具合に算出したいのです。

回答No.1

こんにちは。 sumif関数の3つめの引数って、範囲指定ですよね。 そこに関数いれているからエラーなんじゃないかなぁ・・・・。私もやってみましたが、どうも だめです。 一発ではなく、C列に=abs(a1) で絶対値を入れておいて、 C7で SUMIF(A1:A6,A7,C1:C6) ではダメでしょうか? 一発でやる方法あるのかなぁ・・・・。

関連するQ&A