• ベストアンサー

EXCELで一行おきの平均を関数で求めたい。

ずばりタイトルに書いたとおりです。

  • oc8
  • お礼率75% (15/20)

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

  • ベストアンサー
  • kbonb
  • ベストアンサー率51% (254/492)
回答No.2

こんにちは ○A1:A10の奇数行の平均 =AVERAGE(IF(MOD(ROW(A1:A10),2),A1:A10,"")) をCtrl+Shift+Enterで入力 ○A1:A10の偶数行の平均 =AVERAGE(IF(MOD(ROW(A1:A10),2)=0,A1:A10,"")) をCtrl+Shift+Enterで入力 でいかがでしょうか?

参考URL:
http://www2.odn.ne.jp/excel/
oc8
質問者

お礼

早速のご回答ありがとうございました。 配列を使用する巧みな方法だと思いました。 途中セルが空白の場合を考えてみました。 1行目 2 2行目 2 3行目 4 4行目 4 5行目  6行目 6 この場合5行目が空白でこのままだと奇数行の平均が3のところ2になってしまいます。 =average(if(mod(row(a1:a6),2)=1,if((a1:a6)>0,a1:a6,""),"")) としてみると空白があっても良さそうです。 どうもありがとうございました。

その他の回答 (1)

noname#4320
noname#4320
回答No.1

10 4 6 8 の場合、一行おきの平均とは、(10+6)/2 = 8あるいは(4+8)/2=6でよろしいでしょうか? 一発で求めるのは、難しい(というより知らない)ので、私ならばこうします。 A1からA10に、元データがあるとします。平均算出に使いたい元データの隣(B列)に、1とかいれておきます。(1以外でも良し) そうするとB1~B10の間には、1行おきに1が入る感じになりますよね。 そして、あるセルに合計を求めます。 =SUMIF(B1:B10,1,A1:A10) これは、B1~B10の範囲で、1が入っているセルがあれば、それに対応するA1~A10の合計を求めるということです。これを、データ個数で割れば、平均が求まります。データ個数は、COUNTIFという関数で求めることができます。 =COUNTIF(B1:B10,1) B1~B10の間で、1が入っているセル数を数える。 今回B列には1を入れましたが、それ以外の数や文字を使って、いくつかのグループ化をして、それぞれのグループ毎の平均が求められるのでは。

oc8
質問者

お礼

ありがとうございました。 別なセルを使用する方法では私もなんとかできたのですが、sumifという関数は 知りませんでした。参考になりました。

関連するQ&A

  • 一行おきの平均

    open office calc 3. で表記の数式を「=AVERAGE(IF(MOD(ROW(A2:A7);2)=1;A2:A7))」と入力しましたが、正しい答えが返ってきません。どのような数式を書けばよいのか教えて下さい。mac osX使用。

  • エクセルの関数に関して

    タイトルの通り、エクセルの関数に関しての質問です。  A     B    増減比 55000  52500    ★ というセルがあったとします。この場合、 Bを基準にしてAとBの増減比を★の部分に求めたいのですが、 どのような関数を使えばいいのか分かりません。 教えていただけないでしょうか。

  • Excelの関数について

    タイトルの通りなんですがExcelで 例:A1に 2014/8/1   B1に =NOW()  で C1に  B1がA1より大きくなったら"期限切れ"      B1がA1より1ヵ月前になったら"注意"      上記以外は空欄 この条件を自分なりにIFでやったのですが、できませんでした。 どなたかお教えください。よろしくお願いします。

  • 【エクセル】今日の2ヵ月後をあらわす関数

    タイトル通りですが、今日の2ヵ月後を表す関数って組むことができますか?

  • エクセルのデータを関数で一行にまとめたい

    エクセルで下記のような数字で区切られたデータがあり、(文字データの行数は決まっていません。) 1 あ い う え お 2 か き く け 3 さ これを 1 あいうえお 2 かきくけ 3 さ というふうに関数で一行にしたいのです。 現在は、1~2の間の行数、2~3の間の行数をB列に関数で表示できました。画像参照 あとはA列で数字の行なら、B列の行数分文字列を連結してC列に表示させれば目的達成なのですが、そこから上手い手を思いつけずに、別の表を作って行数を検索値にVLOOKUPで 式を表示させています。(D列) 当たり前ですが文字列として表示されて式としては認識されていません。 これを式として扱える方法はありますでしょうか? それか一行として表示するもっとスマートなやり方はありますでしょうか? 一度VBAで目的は達成しているのですが私以外にメンテできる人物がいないためなるべく関数かエクセルの標準機能をつかってできないかと考えております。

  • EXCELの平均を出す関数について

    初歩的な質問となりますが、 どうぞよろしくお願いいたします。 sheet1に下記のようなデータがあります。   A    B    D 1 日付  売上  平均 2 7/1   200    3 7/2   100   =AVERAGE(B2:B3) 4 7/3   300   =AVERAGE(B2:B4) 5 7/4   200   =AVERAGE(B2:B5) 6 7/5         ・ 7 7/6         ・ ・  ・          ・ ・  ・          ・ ・  ・          ・ 32 7/31        =AVERAGE(B2:B5) 現在B6までデータが入力されています。 D列に今日までの平均を表示したいのですが、 上記のようなAVERAGE関数をD32まで先に埋めてしまった場合、 B6:B32のあす以降の計算結果も出てしまいます。 B列のセルに入力がない限り、 今日の日付以降を計算しない(空欄)ようにする方法はありますか? よろしくお願いいたします。

  • Excel 平均値を求める関数

    血圧管理で1回目と2回目の測定の平均値を出したいです。 例 136/56と138/60の平均値出したいです。 AVERAGE関数で(/)があるのでどうしても平均値出せません。 教えてください、よろしくお願いします。

  • ■EXCELの表で一行おきに行削除する方法?教えて

    タイトル通りなのですが、EXCELで4000行の表で一行おきに削除しなければいけない事が発生したのです。手作業で一行ごとに削除は出来ますが自動的にすばやく削除する方法があれば教えていただけませんか? 関数かマクロか何か手立ては有りますでしょうか?

  • エクセル関数について

    エクセルの表が下記のようになっていて、18というをあるセルに入力した場合、表中の直近上位の数値のタイトルを選ぶようにしたいのですが、可能でしょうか? つまり 18 なのでタイトル B を選びたいのです。 タイトル  数値 A      15 B      25 C      33 D      45 IF文で以上や以下を使用すれば作れるのですが、もっと簡単にできるのではないかと思っています。

  • 平均的血圧

    タイトル通りなのですが、 平均的な血圧は上・下、いくらくらいなのでしょうか?

専門家に質問してみよう