質問: excelの関数について エクセルで、最大値や最小値、平均値を出すとき、レコード数が多い時は範囲指定してmax()等の関数を使うのが大変です。 種類 店名 売り上げ 最大値 ・・・・ ファミマ ○店 100000円 ファミマ ×店 100200円 ・ ・ ・ ローソン ○店 1231円 ・ ・ 例えば上のような売り上げの平均を出すときに、コンビニの種類ごとに売り上げの最大値・平均値を出す関数またはマクロを教えてください。因みに、例で言うコンビニの種類の所の項目には実際には7万件くらいデータがありまして、範囲指定で=max()等をするのは大変です。 宜しくお願いします。
回答: vbaで (データ)a1:b12 グループ計数 a1 a3 a2 a8 b4 c4 c6 c5 d4 d5 d3 (コード) sub test01() d = range("a2").currentregion.rows.count msgbox d t = 1 cells(1, "e") = cells(2, "a") cells(1, "f") = cells(2, "b") '----- for i = 2 to d for j = 1 to t if cells(i, "a") = cells(j, "e") then if cells(i, "b") > cells(j, "f") then cells(j, "f") = cells(i, "b") end if goto p01 end if next j t = t + 1 cells(t, "e") = cells(i, "a") cells(t, "f") = cells(i, "b") p01: next i end sub (結果)e1:f4 a8 b4 c6 d5 総なめ法なので6万行のデータでそこそこの時間内に 終わるかどうかやって見てください。