• ベストアンサー

Excelで可変範囲内での平均値を出したい

特定の範囲内で0以上の数値が入っている箇所までの平均値をだしたいのですが 関数でできますでしょうか。 【例】 A B C D E F --------------------------- 10 0 2  0 0 0 この場合、A列~C列までの平均値(4)を出したいです。 また、各数値は関数(SUM(A1:A2)等)で出力されており、可変になります。 エクセル初心者ですみませんが、よろしくお願いいたします。

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

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

最も簡単な方法: A1の式を =IF(SUM()=0,"",SUM()) に修正し、右にコピー >A列~C列までの平均値(4)を出したい =SUM(1:1)/MATCH(MAX(1:1)+1,1:1,1) などのように計算する。 今の数式をどーしても触りたくないなら: =SUM(1:1)/MAX(IF(A1:IV1>0,COLUMN(A1:IV1))) と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力する。 2行目に作業用の数式を並べて丁寧に計算したほうがベターで応用も広いですが、まぁこの程度の配置ならこういったイミフメイな数式でも問題なく計算できます。 #余談 >0以上の数値が入っている 日本語で「以上」ってのはゼロを「含む」ので、この場合は「ゼロより大きい」と言います。

kyasuca
質問者

お礼

1つ目の式を入れたところ、無事に値を出せるようになりました! 2パターン用意くださり有難うございました! 他でも活用させていただきます..! #日本語のご指摘、ご最もですね。大変失礼いたしました><

関連するQ&A

  • 平均の出し方

    Excel初心者です。 下記のような平均を出す関数を教えてください。 日毎に3列使い、日々の処理数を集計しています。 A列、B列、D列、E列は数値又は空欄。 日計:C列はsum(A:B) 日計:F列はsum(D:E) 月合計計:Q列はsum(C,F・・・) Z列に処理平均を出したい。 C列とF列の値がゼロの時は平均の対象外にする。 average(C4,F4)とすると、数式が入っているせいか、結果が1.5になってしまいます。 ここにゼロや数式が入っているセルを除いた平均を出し、Z4に3と出るようにしたいです。 範囲が10個以上あるので、範囲指定もうまくできません。   A   B   C     D    E    F  ・・・    Q        Z 1 9/1           9/2               9月 2 午前 午後 終日  午前 午後 終日       月合計   処理平均 3  4   1   5    1    3   4         9       4.5 4               2    1   3         3        3 5  1   5   6                      6        6 6  6   1   7    5       5         12        6 宜しくお願い致します。

  • Excel関数で列方向データの可変範囲グラフ作成

    こんにちは Excel2010を使用しています 関数にて行方向の可変範囲グラフの作り方サイトを参考にして列方向のデータを可変範囲グラフに しようとしているんですが、うまく作成出来ません。 下記のような列のデータを可変範囲グラフにするにはどうしたらよろしいでしょうか。 A B C D E 1 item a b c d 2 date 1 2 3 4 すみませんが、よろしくお願いいたします。

  • エクセルの最小値判別と範囲内数値の抽出と平均値

    分かりにくくてすみません。 エクセルの表から、各グループの最小値を判断して、+1以内の数字を識別、平均値を出したいです。 A~C列にデータが入っています。 列 A : B : C : D : E A-1: 1 : 2.05 :   : 1 A-1: 1.5: 1.08 :   : 1.5 A-1: 2 : 12.12 :   :  A-1: 3 : 0.35 :   :  A-2: 0.5: 1  :   : 0.5 A-2: 0.3: 2  :   : 0.3 A-2: 1.5: 3  :   :   A-2: 0.05: 4  :   : 0.05 とあるとします。 A-1グループのB列の中で最小値(1)を基準に+1以内のもの(1.5)をE列に出す方法はありませんでしょうか?(最小値も含む) 同様にA-2グループの最小値(0.05)を基準に+1以内のもの(0.3、0.5)をE列に出したいです。 次の段階で、E列に出されたものの C列の平均をD列に計算させたいです。 A-1グループの場合、(1、1.5)のC列(2.05+1.08/2)=1.565をD列4箇所に入れたいです。 同様にA-2の場合は、(0.05、0.5、0.3)のC列(4+1+2/3)=2.333333をD列4箇所に入れたいです。 (小数点以下 7桁目を四捨五入) 一番やりたいことは 各グループの 最小値から+1以内のものの C列の平均をD列に入れることですのでE列に出さなくても良いです。 どこか一部だけでも、E列に出すだけでも 分かればとても助かります。 マクロとか全く理解できていないので できれば 関数で教えてください。 すみませんが どうぞ宜しくお願いいたします。

  • Excelの範囲可変グラフ

    必要に迫られ、数日前から関数やマクロなるモノを勉強しながら奮闘中です。 範囲可変のグラフを作りたく、以下のサイトを参考にしながら試行錯誤してるのですが、応用が効きません。。 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13 http://okwave.jp/qa2138388.html どれも、ある固定位置を起点として、増えた範囲までの全てのエリアをグラフ化してるようなのですが、 やりたいのは、任意のデータ範囲を自由に(Windowをスライドするように)グラフ化したいのです。 データの量が大量で全部表示すると見えなくなるため、 指定したい範囲をパラメータとして与えることで、その範囲だけを切り出したようなグラフにしたい。です。 例えば、 A5:B100 に以下データが入ってたとして、 (A列は上から連番でダブリなし。実際には時間=tになる) A,B ----- 1,a ←(A5,B5) 2,b 3,c ←ここから 4,d 5,e 6,f 7,g 8,h ←ここまでをグラフ化 9,i : ここで、あるパラメータ用のセルに、 開始位置=3、終了位置=8という値を指定すると、 A列から3と8を見つけ出し、その範囲のグラフを作る。 3と8なので、グラフの範囲としては、A7:B12。 (実際には、列はもっと多いですが) できれば"エクセル技道場"のような範囲指定関数+グラフ設定のほうが良いです。 (今回マクロも少しかじったのでマクロでも何とかなるカモ・・(^^;) すみませんが、よろしくお願い致します。

  • エクセルの範囲指定

    エクセル2007を使っている関数初心者です。A行の1から5列、C行の1から5列、F行の3から8列というようなばらばらの固まりを範囲指定して合計や平均を出す方法を教えていただきたいのですが。つなぎを&やカンマとかを使って簡単にできるといいのですが。他の質問にも目を通して見ましたが見あたりませんでしたのでよろしくお願いします。

  • エクセル アドレスを可変させるには

    =SUM(F6:■) ■の部分に可変させたアドレスを入力したいです。(例:F14) 別の場所で行の数字は取得済みですが(例:14) それに上記SUM関数が入力されている列の番号を加えて(例:F)、 F14のように変換するにはどうしたらよいでしょうか?

  • エクセルで集計

    エクセルでの合計について教えていただきたいのです。 A1~A10000まで日付が、B1~B10000まで数値が入力されています。 B列の数値を50行ごとに合計し、C列に表示する方法。 現在は、sum関数で手作業です。 簡単に表示できる方法を教えてください。 また、C列に合計のある行をD列(D1・D2・D3・・・)、E列(E1・E2・E3・・・)、F列(F1・F2・F3・・・)に並べたいのです。(50行ごとに間引いて表示するような感じです) 現在は、=C50・=C100・=C150のように手作業です。 もっと多量のデータが入力されたシートもあります。また、100行ごと150行ごとなど合計行が違う場合もあります。 エクセル初心者です。 よろしくお願いいたします。

  • エクセル2010のSUMIFS関数について

    A列に日付、C列に文字列、E列に数値があります。 仮に、日付は2013年4月だけ、文字列は”事務” だけに条件を絞ってE列の数値を合計する場合、エクセル2000では =SUMPRODUCT((C$1:C$1000="事務")*(TEXT(A$1:A$1000,"yyyymm")="201304")*E$1:E$1000) でうまくいきました。 こんどエクセルが2010になったので、あたらしくできたSUMIFS関数でやってみようと思い =SUMIFS(E:E,C:C, ”事務”,TEXT(A:A,"yyyymm"),”201304”) としましたが「数式が正しくありません」とエラーになってしまいます。 SUMIFS関数だと列のセル範囲を指定しなくていいので使いたいのですが・・・。 F列を作業列とし、ここにA列の日付をyyyymm形式の文字列とすれば =SUMIFS(E:E,C:C,"事務 ",F:F,"201304") で出来ますが、ほかにいい方法はないでしょうか?

  • ExcelでのINDIRECT関数の使い方について

    Excelの関数についてお伺いしたいと思います。現在、図のような表があり、A2, C2, E2を合計したいと思っております。条件として; 1) 列を頻繁に挿入するものの、常にA2, C2, E2を合計したい(セルがずれてしまっては困る) 2) B列やD列には他の数値が入るため(列が連続しない)、A2:E2ということができない これを解決するためにA8に"A2,C2,E2"と入力し、A9に=SUM(INDIRECT(A8)と記入したのですが、#REF!というエラーになってしまいます。この場合、どのようにIndirect関数を使えばよいのでしょうか。またそもそもIndirect以外の有効な関数を使うべきなのでしょうか。教えていただきたく、よろしくお願い致します。

  • エクセルで平均値の求め方は?

    エクセルで平均値の求め方がわかりません。 以下のような表の場合で、回答者の平均年齢を求めるにはどうしたらいいんでしょうか。 A   B 年齢  件数 16   5 17   10 18   11 19   10 20   14 21   8 22   9 23   18 24   13 25   18 26   19 これまでは、 (1)年齢×件数=nを計算し、C列に仮配置 (2)SUM(C1:C10)/SUM(B1:B10) で計算していました。 よくわかる解説ページを教えていただくだけでも結構ですので、よろしくお願いします。

専門家に質問してみよう