• ベストアンサー

エクセル SUM関数の範囲を変数に

A1からA20まですべて1が入力されているとします B1に数値が入力されて、その中身は変化します C1に =SUM(A1:A10) と入力されるとC1は、10となります。 ここで、B1の数値が 5の時は C1の内容を =SUM(A1:A5) 12の時は C1の内容を =SUM(A1:A12) としたいのです。 どのようにすればいいのでしょうか?

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

=SUM(OFFSET(A1,0,0,B1,1)) でいかがでしょうか。

kidag
質問者

お礼

すばやいご回答ありがとうございます 出来ました。

その他の回答 (2)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

=SUM(A1:INDEX(A:A,B1)) または、 =SUM(OFFSET(A1,,,B1)) または、 =SUM(INDIRECT("A1:A"&B1))

kidag
質問者

お礼

ありがとうございます 出来ました 内容を勉強して理解したいと思います。

noname#58440
noname#58440
回答No.2

  命題の通り..... =if(B1=5,SUM(A1:A5),if(B1=12,SUM(A1:A12),""))  

kidag
質問者

お礼

言葉足らず申し訳ありません。 B1には、何が入力されるのかわかりません 何が入っても対応できる解が欲しかったです 可能性の分だけifを書けばいいのでしょうが・・・

関連するQ&A