• ベストアンサー

Excel: 関数のセル指定に別のセルの数字を使いたい

ある範囲の合計を求める場合「@sum($A5:$A10)」としますが、合計を求める範囲を 簡単に変更できるよう、例中の5と10に相当する部分を別のセルに書いておきたいのです。 例えば、C1のセルに5,C2のセルに10を入れておいて「@sum($A(C1の値):$A(C2の値))」 のようにしておけば、C1とC2の数値を変えるだけで計算範囲を変えられるのでは、と。 このようなことは簡単に(?)可能なのでしょうか? 分かりづらい説明で申し訳ありませんが、御知恵をお貸しいただければと思います。 よろしくお願いします。

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

  • ベストアンサー
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

INDIRECTという関数を使います。( )内はアドレスを示す文字列です。 たとえば、C1のセルに5,C2のセルに10が入っているなら、 =SUM(INDIRECT("A"&C1&":A"&C2")) とかけば、A5:A10の和が求められます。

sarutora
質問者

お礼

早速の回答有難うございます。便利な関数を紹介いただき、何とか使えそうです。 別のワークシートの参照方法も御教示いただければ幸いです。

sarutora
質問者

補足

INDIRECT関数... 知りませんでした。確かに、同一シート内ならばやりたいことができることを確認できました。 が、実は参照するデータは別のワークシートにあるんです... で、INDIRECT関数の引数に"'ワークシート名'!"が入ると、#REFエラーになってしまいます... 何か解決策がありましたら、御教示いただけますでしょうか?

その他の回答 (3)

回答No.4

#1さんの補足で、 >参照するデータは別のワークシートにあるんです... その場合は、例えば、Sheet1のセルC1とC2に範囲が入力されている場合、 =SUM(INDIRECT("Sheet1!A"&C1&":A"&C2)) とすれば、他のシートでも参照できます。

sarutora
質問者

お礼

回答有難うございます。 やりたいことができてスッキリしました。

  • takibo
  • ベストアンサー率57% (116/200)
回答No.3

他シートを参照すのであればSUM関数とOFFSET関数の組み合わせで出来ると思います。 それぞれの引数の意味は参照サイトでご確認ください。 【例】Sheet2のA5:A10の合計   =SUM(OFFSET(Sheet2!A1,4,0,6,1)) これを質問のように「C1=5」「C2=10」と入力するように編集すると   =SUM(OFFSET(Sheet2!A1,C1-1,0,C2-C1+1,1)) となります。

参考URL:
http://www.officetanaka.net/excel/function/function/offset.htm
sarutora
質問者

お礼

回答有難うございます。参考にさせていただきます。

回答No.2

マト外れだったらごめんなさい。 C1とC2に値を直接入力されるのだったら、 =SUM(C1,C2)でよいのでは? カンマで区切れば、離れたセルでも足し算に追加できるので、これでどうでしょうか?

sarutora
質問者

お礼

回答有難うございます。参考にさせていただきます。 こちらの説明が下手ですみませんでした。

関連するQ&A