• ベストアンサー

空欄を抜いた平均

エクセル2000です。 日にちごとに縦に入力したデータがあります。 休日は空欄です。 3日平均を出したいのですが 休日にあたる空欄抜きで3日平均を出したいです。 横に書きますが 10,10,7,  ,4,7・・・・ とあれば まず、10,10,7の平均で9 次は10,7そして空欄を飛び越して4の平均で7 次は7、空欄を飛び越して4,7の平均で6 を出したいです。 どうかお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。前回の式は次のような式でよいですね。 =IF(A2="","",IF(COUNTIF(D:D,D2+2)=0,"",AVERAGE(A2:INDEX(A:A,MATCH(D2+2,D:D,0))))) また、上の式では平均を出すのに先の(下方の)データが使われていますが、過去のデータを平均するのが普通かもしれませんね。その場合には次のような式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNTIF(D:D,D2-2)=0,"",AVERAGE(A2:INDEX(A:A,MATCH(D2-2,D:D,0)))))

yuukiyuuki
質問者

お礼

うまくいきました。ありがとうございました。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 一例です。 ↓の画像のようにA2セルからデータがあるとします。 >3日平均を・・・ とありますので、データの3行目に数式をいれます。 画像でB4セルに =IF(OR(A4="",COUNT(A$2:A4)<3),"",AVERAGE(INDIRECT("A"&LARGE(IF(A$2:A4<>"",ROW(A$2:A4)),3)&":A"&MAX(IF(A$2:A4<>"",ROW(A$2:A4)))))) これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合はB4セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーで画像のような感じになります。m(_ _)m

yuukiyuuki
質問者

お礼

うまくいきました。ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えばA2セルから下方にデータが入力されているとします。 作業列を作って対応するのが最も簡単です。 例えばD2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",COUNT(A$2:A2)) その上で、お求めのデータをB列に表示させるとしたらB2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNTIF(D:D,D2+2)=0,"",AVERAGE(INDEX(A:A,MATCH(D2,D:D,0)):INDEX(A:A,MATCH(D2+2,D:D,0)))))

yuukiyuuki
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう