• 締切済み

オートフィルで一定間隔の領域をコピーする方法

データシートとグラフシートの2つがあります。 データシートには5×3セルの塊で縦にデータ(数値)群が入力してあります。 このデータ群毎の最大値や最小値を別シートであるグラフシートに横に連続して並べたい。と考えています。 コピーの規則性としましては、以下のような配列になります。 =MAX(データ!C9:G11)  =MAX(データ!C12:G14)  =MIN(データ!C15:G17) そこで、以前似たような質問【http://okwave.jp/qa/q7589129.html】をした際に得た情報から =index(データシート!$A:$A,9+3*(column()-column($A1))) を活用しようと試行錯誤しましたが上手くいきません。どのように変更または、別の関数を使用すれば良いでしょうか? よろしくお願いします。

みんなの回答

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

邪道な方法ですが 最初のセルに ="#=MAX(データ!C"&COLUMN(C1)*3&":G"&COLUMN(C1)*3+2&")" として横にオートフィル(コピーでも可) オートフィル範囲が選択状態のまま Ctrl+C でコピー その場で Alt+E、S、V、Enter で「形式を選択して貼り付け」の「値」で貼り付け セル範囲が選択状態のまま続けて Ctrl+H で「置換」ダイアログを表示 #= を = に Alt+A で「すべて置換」 縦の場合は最初のセルに ="#=MAX(データ!C"&ROW(A3)*3&":G"&ROW(A3)*3+2&")"

aPokerFace
質問者

お礼

回答ありがとう御座います。 しかしながら、この方法ですと、任意の列幅もしくは行幅の範囲に限られ、行と列の範囲には対応出来ないのではありませんか?

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

=MAX(OFFSET(データ!$G$6:$G$8,COLUMN(A1)*3,0)) =MIN(OFFSET(データ!$G$6:$G$8,COLUMN(A1)*3,0)) をそれぞれ右にコピーしてみるなどで。

aPokerFace
質問者

お礼

早速の回答ありがとう御座います。 データ!$G$6:$G$8 ↓ データ!$C$6:$G$8 と訂正して、正しい値が表示されました。 ただ、この式ですと、A1セルと同じ行が空白であることが必要条件となるようなのですが、これは避けられませんか?  また、データ!C9:G11からデータは開始するのですが、ご教授戴いた式ですとデータ!C6:G8から始まっているせいか、DEVSQを使用した場合、異なる値が出てしまうようです。MAXやMINの部分を変えただけなのですが…不思議です。因みに、C6:G8のセルは空白ではなく、数値と文字列で使用されています。

aPokerFace
質問者

補足

=MAX(OFFSET(データ!$C9,3*(COLUMN()-COLUMN($D30)),,3,5)) =MIN(OFFSET(データ!$C9,3*(COLUMN()-COLUMN($D30)),,3,5)) =DEVSQ(OFFSET(データ!$C9,3*(COLUMN()-COLUMN($D30)),,3,5)) で、出来ました。お世話様でした。

関連するQ&A