• ベストアンサー

平均・MAX・MINを求めたいです。

EXCEL初心者です。 お恥ずかしい質問ですが、教えていただけると助かります。 EXCEL2003です(添付資料は都合で2010を利用して作成していますが2003の場合で教えてください)。 添付のような課題提出までかかった日数とその件数の表があるとします。 (1)各自の提出日数の平均(AVE欄) (2)最大提出日数(MAX欄) (3)最少提出日数(MIN欄) この3つを求めたいのですが、どのような数式にすればよいのかわかりません。 山田さんの場合、答えとしては(1)3日(2)5日(3)2日となりますが、 関数を利用して算出したいです。 すみませんが、よろしくお願いいたします。

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

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

No.2です。 投稿後思ったのですが、「平均日数」のG列は前回の場合は件数は関係なく単に日数だけの平均になっています。 件数も関係するのが普通ですよね? すなわち 件数×かかった日にち(延べ日数)を件数で割る というのが平均だと思いますので、 G2セルの数式を =IF(SUM(B2:F2)>0,SUMPRODUCT((B$1:F$1)*(B2:F2))/SUM(B2:F2),"") に変更してください。 ※ 質問に平均は「3日」と書いてあったので、これであれば質問文通りになると思いました。m(_ _)m

asasasaaaa
質問者

お礼

お礼が遅くなり申し訳ありません。 また、添付資料も見づらく、ご迷惑をおかけしました。 大変わかりやすくご丁寧なご回答、ありがとうございました。 まさにやりたかったことです。 困っていたので、本当に助かりました。 感謝しております! ありがとうございました。

その他の回答 (2)

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

こんばんは! 画像が小さくて詳細が判り難いのですが・・・ こういうコトでしょうか? ↓の画像で説明すると まず、B1~F1セルの表示形式はユーザー定義から 0日 としておきます。 (B1~F1を範囲指定 → 右クリック → セルの書式設定 → 表示形式タブ → ユーザー定義 → 「G/標準」となっているところを消去し 手入力で 0日 と入力します) そして単に 1~5 の数値だけを入力します。 G2セル(セルの表示形式はユーザー定義から 0.00日 としています。好みで小数点以下の桁数は決めてください)に =IF(SUM(B2:F2)>0,SUMPRODUCT((B$1:F$1)*(B2:F2>0))/COUNTIF(B2:F2,">0"),"") という数式を H2セル(セルの表示形式はユーザー定義から 0日 とする)に =IF(SUM(B2:F2)>0,INDEX(B$1:F$1,MAX(IF(B2:F2>0,COLUMN(A1:E1)))),"") I2セル(セルの表示形式はE2セルと同じ)は =IF(SUM(B2:F2)>0,INDEX(B$1:F$1,MIN(IF(B2:F2>0,COLUMN(A1:E1)))),"") 尚、H2・I2セルは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は(H2セルの場合) 上記数式をドラッグ&コピー → H2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 この操作をI2セルも行います。 最後にG2~I2セルを選択 → I2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 ※ B~F列すべてが「0」の場合はデータがないものとみなして、空白となります。 こんな感じで良いのでしょうか?m(_ _)m

asasasaaaa
質問者

お礼

お礼が遅くなり申し訳ありません。 また、添付資料も見づらく、ご迷惑をおかけしました。 大変わかりやすくご丁寧なご回答、ありがとうございました。 まさにやりたかったことです。 困っていたので、本当に助かりました。 感謝しております! ありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>(1)各自の提出日数の平均(AVE欄) >(2)最大提出日数(MAX欄) >(3)最少提出日数(MIN欄) >この3つを求めたいのですが、どのような数式にすればよいのかわかりません。 A列=名前、B列~F列データ、G列=平均、H列=最大、I列=最小として次の式を使います。 G2=AVERAGE(B2:F2) H2=MAX(B2:F2) I2=MIN(B2:F2)

asasasaaaa
質問者

お礼

お礼が遅くなり申し訳ありません。 さっそくのご回答ありがとうございました。 感謝しております。

関連するQ&A

  • 2次関数のmax・min

    2次関数のmax,minについて困っています;; 先生方に聞いてもよく理解ができなかったので、 こちらで質問をさせてもらうことにしました。 【問題】 -1<a<0のとき 関数f(x)=-x&sup2;-2x+3(-2≦x≦a)のときのmax,minを求めよ。 私が出来たのは、 関数の式を平方完成する…というところまでです。 y=-(x+1)&sup2;+4 ∴頂点(-1,4) ここから先が解けません。 一応、頂点とその関数のグラフを描いた図を添付しておきました。 「場合分け」のしくみすらあまり理解できていないので、 詳しく説明していただけると有り難いです;; 宜しくお願いします!!

  • LTspiceの部品誤差MAX,MINの結果

    いつもお世話になります。 表題の件、LTspiceを回路検証で使用する場合がありますが、 部品の誤差を加味して、MAX値やMIN値を簡単に出す方法はあるでしょうか? 例えば、抵抗モデルに「Tolerance(%)」を記入する欄がありますが、 それによって、誤差(Tolerance)MAX時のある点の電圧を算出できるでしょうか? (モンテカルロ解析で、バラツキ算出するしかないのでしょうか?) 以上、宜しくお願い致します。

  • エクセル関数のMAXとMINの自動選択

    エクセル関数のMAXとMINの自動選択 経理での、損益頂上を算出したいのですが… 正も負もある2カ所のセルから文字の抽出なのですが… 基本的には、"A列"と"B列"の2カ所のセルから どっちが最大のプラスか、最大のマイナスなのかを "C列"に算出したいのです。 単純に、初めからプラス続きであれば MAXを使用すれば、問題はないのですが 初めから、マイナスが続いた場合、MAXですと -50と-10があっても、-10を選択します。 しかし、損益頂上なので マイナスの場合は、最大のマイナス値(マイナスの大きい方) を選択してもらいたいのです。 結果が、プラスの数値であればMAXを 結果が、マイナスの数値であればMINを 選択してくれる様な、数式を一つのセルで出来ますか? よろしくお願いします。

  • 数式の平均値

    色々と調べてみたのですがどうしてもわからないので 質問させて下さい。 エクセル2007でaverageを使った所、「♯DIV/0!」 と出てしまいました。原因は恐らく、指定したセルが 見かけ上は数値ですがそのセルをクリックすると 上の数式バーに数値そのものではなく数式が出てくる 数式だからでしょう。数値ではなくて数式の平均値 だから出ないのだと思います。 それではこの場合、数式ではなく数値の平均を 算出する方法はないのでしょうか。 課題の提出が明日までで大変困っています。 ご存知の方は教えて頂ければ幸いです。

  • Excel担当別に件数と要した日数を求める

    こんにちは。 Excel2007を使用しています。 ある人が何件仕事をして平均何日かかったかを調べたいと思います。 以下のような表が有ります __I______________X__________________Y___________ 1_Name______Start_____________End 2_yamada____2012/3/20_____2012/4/5 3_suzuki______2012/3/15_____2012/4/5 4_yamada____2012/4/24_____2012/4/27 5_ ここでyamadaがした仕事数はyamadaの個数を数えることで =COUNTIF(A1:Z65000,yamada) で求めました。 また一つ一つの仕事の日数は =NETWORKDAYS(X2,Y2,祭日) で求めました。 そこでこの件数と日数をまとめて yamada__21__51 suzuki_____20__41 のように算出して、 山田___21件___51日___平均2.4日 鈴木___29件___41日___平均1.4日とまとめたいと思います。 どのような関数を利用したらできますでしょうか? ご存じの方お教えください。

  • COUNTIF?それ以外?で…

    エクセル2010で、出勤簿を記録することになりました。 有給取得した日を「有」 半休取得した日を「半」と記録しています。 有給取得日数合計を =COUNTIF(A1:A20,"有")で算出しているのですが 半休取得した日を0.5日分の有給消化と計算して、有給分とあわせて算出したいです。 例えば有給2日、半休1日とすると有給取得日数合計欄には「2.5日」と表示したいです。 どのような数式にすればいいのでしょうか。 なるべく単純なものがあれば嬉しいです。 宜しくお願い致します。

  • エクセル関数を教えてください。

     A*B*C*D**総計**順位**MAX-MIN(A1-D1)   1)3*1*2*5**11*****3****2  2)5*7*3*1**16*****1****6 3)1*3*5*2**11*****3****4 4)2*7*4*1**14*****2****6 上のようにスポーツの得点を集計します。総計数で =RANKで順位を確定しようとしたら同得点で エラーになってしまいます。 同順位の場合、MAX-MIN(A1-D1)(得失点差の少ない 方を上位に認定する考えで)の数字の小さいほうに 上位大きいほうに下の順位となるよう設定したいのですが どのような数式を当てはめればいいか悩んでいます。 回答よろしくお願いします。

  • ヒストグラム均等化処理プログラム

    どなたか以下のヒストグラム均等化処理プログラムを解説して頂けないでしょうか。特にgetMinMax関数とgetHistEqu関数で、何がしたいのか訳がわかりません。 以下のプログラムは、ヒストグラム均等化処理部分のみですが、分かる範囲でいいので、解説お願いします。 ------------------------------------------------------- // ヒストグラム均等化による画素値の割り当てを決定する // hist :入力画像のヒストグラム // min :割り当てられる画素値の最小 // max :割り当てられる画素値の最大 // たとえば,min[5]=4 max[5]=6の場合,画素値5には4-6の範囲に割り当てられる // pixs_min :最小値が割り当てられる画素数 // pixs_max :最大値が割り当てられる画素数 // ave :各画素値に割り当てられる画素数 //★★特にmin,max,pixs_min,pixs_maxの説明の意味が分からないのです。 int getMinMax(int *hist,int *min,int *max,int *pixs_min,int *pixs_max,int ave) { int i; int rest; int now; int pixels; int a,b; rest=0; now=0; for(i=0;i<256;i++) { pixels=rest+hist[i]; min[i]=now; if(rest>0) pixs_min[i]=ave-rest; else pixs_min[i]=ave+100; a=pixels/ave; rest=pixels%ave; max[i]=now+a; if(rest>0) pixs_max[i]=rest; else pixs_max[i]=ave+100; now+=a; } for(i=0;i<255;i++) { if(min[i]>255) min[i]=255; if(max[i]>255) max[i]=255; } max[255]=255; pixs_max[255]=ave*10; } // ヒストグラム均等化による画素値の決定 // 割り当てられる画素値の最小,最大の間で順番に割り当てていく // ただし,最小,最大については割り当てる画素数に制限がある int getHistEqu(int x,int *now,int *min,int *max,int *pix_min,int *pix_max) { int res; if(now[x]==max[x]) { if(pix_max[x]<=0) now[x]=min[x]; else pix_max[x]--; } if(now[x]==min[x]) { if(pix_min[x]<=0) now[x]=min[x]+1; else pix_min[x]--; } if(now[x]>max[x]) now[x]=min[x]; res=now[x]; now[x]++; return res; } int effect(ImageData *img,ImageData *outimg) { int x,y; int rr,gg,bb; int ro,go,bo; int i; int val; int ave; int histR[256],histG[256],histB[256]; // ヒストグラム int omaxR[256],omaxG[256],omaxB[256]; // 変換後,割り当てられる画素値の最小 int ominR[256],ominG[256],ominB[256]; // 変換後,割り当てられる画素値の最大 int pix_maxR[256],pix_maxG[256],pix_maxB[256]; // 最小値が割り当てられる画素数 int pix_minR[256],pix_minG[256],pix_minB[256]; // 最大値が割り当てられる画素数 int onowR[256],onowG[256],onowB[256]; // 次に割り当てる画素値 Pixel pix; for(i=0;i<256;i++) { histR[i]=histG[i]=histB[i]=0; } ave= img->height * img->width /256; // 画像の全画素数/画素値の範囲 // ヒストグラム作成 for(y=0;y<img->height;y++) { for(x=0;x<img->width;x++) { getPixel(img,x,y,&pix); //画像上の画素情報を取得 rr=pix.r; gg=pix.g; bb=pix.b; histR[rr]++; histG[gg]++; histB[bb]++; } } // 画素値の割り当て決定 getMinMax(histR,ominR,omaxR,pix_minR,pix_maxR,ave); getMinMax(histG,ominG,omaxG,pix_minG,pix_maxG,ave); getMinMax(histB,ominB,omaxB,pix_minB,pix_maxB,ave); for(i=0;i<256;i++) { onowR[i]=ominR[i]; onowG[i]=ominG[i]; onowB[i]=ominB[i]; } // ヒストグラム均等化処理 for(y=0;y<img->height;y++) { for(x=0;x<img->width;x++) { getPixel(img,x,y,&pix); //画像上の画素情報を取得 ro=pix.r; go=pix.g; bo=pix.b; rr=getHistEqu(ro,onowR,ominR,omaxR,pix_minR,pix_maxR); gg=getHistEqu(go,onowG,ominG,omaxG,pix_minG,pix_maxG); bb=getHistEqu(bo,onowB,ominB,omaxB,pix_minB,pix_maxB); pix.r=rr; pix.g=gg; pix.b=bb; setPixel(outimg,x,y,&pix); // 画像に値をセットする } } return 0; }

  • マクロでのMAX,MIN

    ExcelでのMAX(範囲),MINをマクロではどのように なるのでしょうか? 宜しくお願いします

  • エクセルの関数について教えてください!

    質問1)エクセルで予想売上を算出する方法を教えてください 添付させて頂きました画像のように、月の売上の予想を計算したいのですが、どうしたら良いでしょうか? 今までは電卓で『その日までの売上÷その日までの日数×その月の日数』で算出していたのですが、これをエクセル2007で算出するにはどういった関数で求めれば良いでしょうか? 質問2)毎日の売り上げを入力していて、その日までの平均売上を算出したい場合、 例えば画像の場合だと『7月3日までの売上÷3』になると思いますが、このような式だと毎日割る数を変えなくてはなりません。 そこで自動?で売上を入力した日数を出して『その日までの売上÷売上を入力した日数』というような式にはできないでしょうか? 質問3)とあるセルの書式が『#.##"%"』となっているのですが、0.15%や0.25%といった場合の『0』が表示されません。 つまり0.15%の場合は『.15%』、0.25%の場合は『.25%』と表示されてしまいます。 これを『0』まで表示させるにはどのような書式にすれば良いでしょうか? きちんと伝わっているか不安ですが、どうぞ宜しくお願い致します。

専門家に質問してみよう