- ベストアンサー
EXCELでのデータ処理範囲の動的切替
EXCELでデータを関数で処理する場合に、例えば1行から1000行までデータが入力されているケースで、関数で処理する範囲を1行~100行、2行~101行、5行~105行のように任意の範囲のデータを処理したい。 (処理する範囲を動的に切り替えたい)場合はどのようにすればいいのでしょうか?できればマクロ等を使用せずに 関数などの処理でできればと思っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
質問の意図がはっきりしないが、 「動的にきりかえる」って「切り替える前」の「状態」と 「後」の状態は、手動の範囲指定ですか。 それだと難しそう。 文字で変動させるなら、下記の例などあります。 下記の問題と一脈通ずるところありますか。 A1:A8に 1 1 2 1 2 3 4 5 B1にA3、C1にA8と文字が入っているとする。 =SUM()の例なら、答えを出したいセルに =SUM(INDIRECT(B1&":"&C1))のようにINDIRECT関数を使うと=SUM(A3:A8)が計算されて17になります。 B1やC1の値を適当に変えると、それに合わせて集計される。
その他の回答 (2)
- jindon
- ベストアンサー率43% (50/116)
簡単に A1, A2にそれぞれ開始セル、最終セルを入力して 例えば:A1にB1, A2にB10で =sum(indirect(A1&":"A2)) でB1:B10の範囲指定ができます。
- mshr1962
- ベストアンサー率39% (7417/18945)
普通に考えれば相対参照なら B1=SUM(A1:A100)としてB2以降にコピーすれば B2=SUM(A2:A101) B3=SUM(A3:A102) と変化しますが.... 別の方法としてB1にA1と入力 C1=SUM(OFFSET(INDIRECT(B1),0,0,100,1)) B1の内容で開始セルが変わります。