• 締切済み

エクセル2003 並べ替え

セルA3~A5まではマイナス数値、A6~A8まではプラス数値を入力し、A1にマイナス数値の合計、A10にプラス数値の合計です。 B3~B8には別のプラス数値を入力しています。 これをB列で並べ替えるとA列の並べ換えられます。そのとき、A1とA10の数値が変わらないようにすることは可能でしょうか?

みんなの回答

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.4

3行目~8行目の範囲だけを並べ替えて、A1とA10の位置は変わらないんですよね? その条件でやってみて、A1とA10の値が変わらないのを確かめてから回答したんですけどねぇ・・・ では、式の中の「A3:A8」をすべて「A2:A9」に書き換えるとどうですか?

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.3

#1です。 #2さんのほうが、解りやすいですね。 ちなみに、どちらの回答も0の場合を考えていませんが、0の場合の処理を入れたところで、足しても値は変わらないので、大丈夫です。

Junsbar
質問者

お礼

ありがとうございます。 両方試してみて分かりやすい方で作ってみます。

Junsbar
質問者

補足

申し訳ありません。 私の質問の仕方悪かったようです。違った結果になってしまいました。 「これをB列で並べ替えるとA列の並べ換えられます。そのとき、A1とA10の数値が変わらないようにすることは可能でしょうか?」 と質問に書いていましたが、 「これでB列を並べ替えるとA列も一緒に並べ替えられてしまいます。 そうするとA3~A8も動いてしまうのでA3~A5、A6~A8が混ざってしまってA1とA10の値が変わってしまいます。 そのとき、A1とA10の数値が変わらないようにすることは可能でしょうか? 」 こちらの方が正しい質問だと思いますが可能でしょうか?

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.2

A1とA10での合計値をSUMIF関数を使ってやればできます。 A1=SUMIF(A3:A8,">0",A3:A8) A10=SUMIF(A3:A8,"<0",A3:A8) ようはA1では指定範囲中でマイナス数値のみを合計し、 A10では指定範囲中でプラス数値のみを合計してるだけです。 並び順が変わったところで、指定範囲は変わりませんから、それぞれマイナス数値、プラス数値の合計を出してるだけなので、これだと数値は変わりません。

Junsbar
質問者

お礼

回答ありがとうございます。 早速試してみます。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

A1に、 =SUMPRODUCT((A3:A8)*(A3:A8<0)) A10に、 =SUMPRODUCT((A3:A8)*(A3:A8>0)) と入れてみてください。

Junsbar
質問者

お礼

回答ありがとうございます。 早速試してみます。

関連するQ&A

専門家に質問してみよう