• ベストアンサー

車番毎の計量値の平均を出す方法を教えて下さい

fujillinの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

マクロでの例です 不明部分は適当に作成していますので、適宜修正を… Sub test() Dim st As Worksheet, code As String, rslt Dim rw As Long, rmx As Long, rOut As Long, rCnt As Long Set st = ActiveSheet rmx = Cells(Rows.Count, 1).End(xlUp).Row Worksheets.Add Before:=ActiveSheet rOut = 1 rw = 1 While rw <= rmx  rw = rw + 1  code = st.Cells(rw, 1).Value  If code <> "" Then   rCnt = 1: rslt = 0   If IsNumeric(st.Cells(rw, 2).Value) Then rslt = st.Cells(rw, 2).Value   While st.Cells(rw + 1, 1).Value = code    rw = rw + 1: rCnt = rCnt + 1    If IsNumeric(st.Cells(rw, 2).Value) Then rslt = rslt + st.Cells(rw, 2).Value   Wend   Cells(rOut, 1).Value = code   Cells(rOut, 2).Value = rslt / rCnt   rOut = rOut + 1  End If Wend End Sub

sumin2009
質問者

お礼

ありがとうございました。 この後は自分で勉強して望む形にしたいと思います。

sumin2009
質問者

補足

回答ありがとうございます。 マクロはほとんど分かりませんが、取りあえずコピーして実行してみました。 私の希望している結果が得られていると思いますが、A1:B4に上書きされてしまいます。 私のやり方が悪いのかよく分かりません。 もう少し、教えて下さい。

関連するQ&A

  • 車番順に平均値を計算したい

      画像の上の表は車番と計量値のデータです。 同じ車番が2回とか3回連続しているときは2回又は3回計量して1車分になりますし、1回の時は1回の計量で1車分です。 行方向の車番は1500行程度、列方向の計量値は50列程度のデータ表です。 この表から画像の下の表のように、車番毎に計量値の平均を求めたいのです。 上のデータ表が大きいので平均値の表は別のシートが良いと思います。 ここで大切なのは、同じ車番 (例では123と987)が間に違う車番を挟んで2回出てきていますが、この場合には同じ車が折り返してきて次の出荷をしているのですから、それぞれ別に平均値を求めて上の表のA列に出てくる車番順に並べて欲しいのです。 これをエクセルで実行させたいのですが、どうもマクロをを使わないと出来ないようなので良い方法を教えて下さい。 ちなみに私はマクロはほとんど分からないのでこれから勉強します。

  • エクセルで年齢別体重の平均

    こんばんわ。 エクセルシートで下記の表があるとします。   A  B 1 30 10 2 50 20 3 64 30 4 70 40 5 71 40 6 77 41 7 73 43 8 75 45 9 77 47  (中略) 20 60 49 21 55 55 A列:体重、B列:年齢です。 表はB列の数字で若い順に上から下へ並んでいます。 列に対して名前(体重など)の定義はしていません。 40歳代のうち若い方から数えて3番目~8番目の人の体重の平均を取りたいと思います。 このような表がたくさんあるときに関数を使って簡単に処理したいのですが、どのようにすればよいでしょうか。 教えてください。 よろしくお願いします。

  • excel関数

    excelで作成した表のなかで a列には各コードが入力 b列は文字列 c列は数字 別にシートを作りコード順に 最小値と最大値、平均を求めたい b列に文字が入っていないデータを探して、別シートに入力したa列コードと一致するデータをc列から探し(複数データあります)その中で更に最小値と最大値、平均を求めたいのですが 関数が分かりません。 教えていただけば助かります。 よろしくお願いします。

  • エクセルでリストに対応するデータを別シートの表

    エクセルでリストに対応するデータを別シートの表に参照したいです。 「表シート」のB2にリストを作って、 (リストは「一覧表シート」のA,B,Cが入力されているセルを参照しています。) Aを選択すると101の下の段(B11)に、 「一覧表シート」のAの列101の111が入力されるようにしたいです。 Bを選択すると222、Cを選択すると333が入力できるようにしたいです。 この「表シート」の表がややこしいのですが、 建物の部屋番号に対応しているため、3階2階1階という順になっています。 関数で対応できるものでしょうか? 分かりにくい表ですが、よろしくお願いします。

  • Excel、複数シート同セルを別シートで列に表示するいい方法教えてください

    Excelで、複数シートの同セルに数値又は、文字が入力されているものを別シートの列に表示(反映)させるいい方法を教えてください。 ・sheet1は、一覧表(sheet名):纏めるsheet ・sheet2~は、各物件名(sheet名) となっています。 例) sheet2~sheet4のA1セルに数値、B2に文字が入力されていたとします。 それを、sheet1(一覧表)のB2、B3、B4とC2、C3、C4にそれぞれ表示させたい。以下参照。    A    B   C 1 物件名  件数 有・無 2 北海道  10   有 3 青森   15   無 4 岩手   20   無 ・sheet1(一覧表)には項目、物件名は入力済です。  データのみ反映させたい。 ・sheetは、左から順番に並んでます。  (北海道、青森、岩手の順に) ・集計するわけではないので、最終行には合計とかはいりません。 ------------------------------------------------------------- また、できるかどうかわかりませんが、 sheet1(一覧表)を修正したらそれぞれの物件(sheet2~)も修正される。というような、画期的なこともできるのでしょうか? こちらは、上記が出来た上でのことなので、出来なければ出来ないで構いません。 どうぞ、よろしくお願いいたします。

  • Excelで平均年齢を求める

    ExcelのシートのA列に34歳、45歳、・・・・と入力されている場合、平均年齢を求めるにはどうすればよいでしょうか。

  • エクセルのペースト方法

    教えてください。お願いします。 エクセルでA列に100個の文字列連続で入力されています。 別なシートに1セルつづあいているように ペーストしたいのですが。 (A列に100個の文字が入っているので使用されいるのは、A100のセルまでですが、別なシートにペーストされた際には、A200に最後の文字が入っているようにしたい)

  • エクセルで、指定の項目がある行をすべて別シートにコピーする方法

    いつもお世話になっております。 現在、売掛金台帳をエクセルにて作成しております。 それで、一覧で作成している台帳から、業者ごとのシートを作成したいと思っています。 一覧表は A列:業者名 B列:日付 C列:借方 D列:貸方 E列:備考 と作成しており、 Aの列が同じものだけを別シートにコピーしたいのですが、そのような方法はございますでしょうか。

  • エクセルで0を除く平均値と0の平均値を同時に表示させる方法について

    エクセルで、0を除いた平均を、 {=AVERAGE(IF(A1:A10<>0,A1:A10,""))}の数式を使って求めた場合、 データがすべて0の列の平均はエラー値になってしまいます。 すべてが0の場合は0と表示させたいのですが、どのような方法がありますでしょうか? 1つの計算式を使って、上記の2つの処理は可能でしょうか?

  • エクセル2010 検索とデータ移動

    エクセル2010を使っています。 【Sheet2】に画像の様な表があり、その表を【Sheet4】に移動したいのですが、条件があります。 表は 【Sheet2】の T列~DE列に必ず存在(全て同じサイズ) 行数は必ず8行。 その表のうち、T列の最上部に 1 が入力されているものだけを 【Sheet 4】 のA1 に上から順に表示させたいのです。 詳しい方、教えていただけませんか? よろしくお願い致します。