• ベストアンサー

一括で簡単に計算式を入力したい

3種類のデーターを連続で打ち込んでいます。 そのデーターから(1日~31日あります)"最高""最低""平均"を求めたいのですが(=MAX(A1.A4.A6)など途方も無く長い数式になってしまいます。  3行ごとのデーターを短く、簡略的に求められる関数の組み合わせを教えてください。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 少し考えてみました。配列の確定をせずに出す方法です。 (MOD(ROW(F4:F127),4)=0) の =0 の 0 が1行目、=1 が2行目となります。 F4:F127 までを範囲としました。 最大値 =MAX(INDEX((MOD(ROW(F4:F127),4)=0)*(F4:F127),,)) 最小値 =MIN(INDEX(SUBSTITUTE((MOD(ROW(F4:F127),4)=0)*1,0,10^10)*F4:F127,,)) 平均値 =SUMPRODUCT((MOD(ROW(F4:F127),4)=0)*(F4:F127))/INT((ROWS(F4:F127)+3)/4)

syou_yuu20
質問者

お礼

早速やって解決いたしました。有難うございました。 助かりました。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

A1:A20範囲とした一例です。 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 最高:=MAX(IF(MOD(ROW(A1:A20),3)=1,A1:A20,"")) 最低:=MINX(IF(MOD(ROW(A1:A20),3)=1,A1:A20,"")) 平均:=AVERAGE(IF(MOD(ROW(A1:A20),3)=1,A1:A20,"")) 因みにA5:A20の場合、=MAX(IF(MOD(ROW(A5:A20)-4,3)=1,A5:A20,""))となります。

syou_yuu20
質問者

お礼

早速の回答有難うございます。配列数式という言葉を始めて耳にしました。  勉強します。  助かりました。

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

http://kokoro.kir.jp/excel/name.html ・あらかじめ範囲を作成しておいて、関数で使用する ・表自体の構造を見直す。データ集計用の表は正規化して連続するように並べなおし、表示用エリアとは全く別物として扱う ・VBAを使用する

syou_yuu20
質問者

お礼

早速の回答有難うございます。チャレンジしてみます

関連するQ&A

専門家に質問してみよう