![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
ヘルプを見ると、直接やる方法は、どうもないように見えました。なにか、やり方を、独特なやり方でも結構ですので、お分かりの方お教えください。よろしくお願いします。
累積にしたいというのは次のような意味です。試験点数の分布が以下のようだとします。
0-25点が1人, 25-50点が10人, 50-75点が2人, 75-100点が1人。(度数分布)
これをもとにして、
0-25点が1人, 0-50点が11人, 0-75点が13人, 75-100点が14人。(累積度数分布)この例だと手計算でもできそうですが、ちょっと量が多いので、なにか、マクロでもいいし、関数でもいいので、システマチックな方法を探しております。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんばんわ。
早速ご質問に答えさせていただきます。No1
可能です。
If Target.Address <> Range("B" & myRow).Address Then Exit Subを
If Target.Column <> 2 then Exit Subと書き換えて下さい。
No2
関係ないと思います。
No3
これは、エラーは出ると思います。If Target.Row = 1 Then Exit Subの下に、If Target.value >0 tThen と入力して下さい。これで、エラーが出なくなると思います。
お試しになってみて下さい。
No.3
- 回答日時:
初めまして。
1行目をタイトル行とし、B列に度数分布データが入力されていてC列に累積度数分布データを表示させるようにサンプルマクロを組んでみました。
次のように操作してみて下さい。
1.データの入っているブックを立ち上げ、ALT+F11キーを押してVBE画面を表示させ、画面左上のVBAProjectと書かれている上にマウスポインターを合わせて右クリック後、挿入→クラスモジュールを順にクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。
Public WithEvents App As Application
Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim myRow As Integer
myRow = Target.Row
If Target.Address <> Range("B" & myRow).Address Then Exit Sub
If Target.Row = 1 Then Exit Sub
If Target.Row = 2 Then
Target.Offset(0, 1).Value = Target.Value
Else
Target.Offset(0, 1).Value = CInt(Target.Value) + CInt(Target.Offset(-1, 1).Value)
End If
End Sub
2.次に画面左上のVBAProjectと書かれている下のThisWorkbookをダブルクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。
Dim myClass As New Class1
Private Sub Workbook_Open()
Set myClass.App = Application
End Sub
3.保存してブックを終了し、再度立ち上げる。
B列に値を入力してみて下さい。貴方様の思い通りの動作が実現できます。
ご不明な点・不具合等がありましたら、ご遠慮なくお知らせ下さい。私のわかる範囲でご一緒に考えていきたいと思います。
ご親切に、ありがとうございます。B列に打ち込むたびに、隣のC列に、累積度数が出てきて楽しいですね。Excelでマクロを使ったのはこれが初めてです。わかりやすく書いてくださりありがとうございました。今思いついたことを質問したいのですが、
(1)手で打ち込まないで、copy & paste でB列に10行ほどためしに、貼り付けた場合は、C列に累積が出てこない。copy & paste でも反応するようにするのは可能でしょうか?
(2)ブックの第3シートにてこのマクロの実験をしようと思って実施したのですが、第1, 第2シートにも影響あるでしょうか?
(3)ブックを終了しないでもマクロを、仕切りなおしして、リスタートさせる方法はありますか?(なに言っているか解らなかったらすみません。さっき、sheet 1(既に他のデータがある)のB列の下のほうで、egxとかでたらめを打ち込んだら、型が一致しませんとか言われて、sheet1でもマクロが反応してるように見えたこと、そして、そのマクロの「型が一致しません」がきっかけで、その後sheet3に飛んでもマクロは反応しなくなったように見えたもので。勘違いだったらすみません)
いろいろ初心者なので変な質問だと思います。すみません。少しだけですが、Cプログラムなどの経験があるので、お教えいただいたマクロをゆっくりよみたいと思います。ありがとうございます。
No.2
- 回答日時:
度数分布データが、B2,B3,B4,...に入っているとします。
累積度数分布データを、C2,C3,C4,...に入れるとすると、
C2のセルに =B2、 C3のセルに =C2+B3 の式を設定し、
C4以降は、C3の式をコピーすればできます。
これがシステマチックな方法かどうかはわかりませんが...
No.1
- 回答日時:
1行目にA列から階級がズラッと書いてあって、2行目に度数分布が出ているとします。
最初の階級は累積であってもなくても同じなので、
A3: =A2
2つ目以降の階級は前の階級の累積度数に自分の階級の度数を足したモノなので
B3: =A3+B2
フィルハンドルをつかんでダ~と階級の数だけ伸ばしておしまい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 ヒストスプライン平滑化をする際の節点の決め方ついて教えてください。 9 2022/08/08 16:17
- 統計学 数学です 4 2022/07/20 23:06
- Excel(エクセル) 図のような散布図の作り方を教えてください。 1 2022/07/19 11:52
- 数学 至急!研究の統計について 6 2023/07/12 00:38
- 数学 何回やれば終わるか。 2 2023/05/17 23:42
- 数学 100点満点のテストでクラス30人のテストの得点を元に、階級の幅を10点とした度数分布表をつくるとき 6 2022/05/23 18:10
- 計算機科学 エクセルのデータの表すことについて 2 2023/03/05 20:49
- 統計学 統計学の問題です。 数学 51 49 23 77 78 56 44 37 7 29 80 61 36 1 2023/02/03 15:24
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- 再婚 30代後半女性を点数で付けると何点になりますか? 婚活男性の方に質問です。 女性を婚活から見た時の点 1 2022/10/11 23:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
Excel関数で、範囲内の最後のセ...
-
複数の候補列から、検索値と一...
-
SUMIF関数でエラーが出ます
-
エクセル2007の表で自動的に点...
-
SUMIFで数値が入力されているセ...
-
日付の数を月ごとにカウントし...
-
EXCELデータのCSV変換の限界
-
値の入っているセルのうち、一...
-
エクセルで電話番号を - で分...
-
離れたエリアでVLookupを使いたい
-
EXCEL 階段状のグラフ
-
エクセルでのクロス集計の仕方
-
ピボットで複数の区切りでグル...
-
昇順に並べるボタンをマクロで...
-
オートフィルのマクロを作りたい
-
【エクセル】区切り位置で分割...
-
EXCELマクロ 最終データまでの...
-
入力するとかってにセルの色が...
-
エクセル 担当者ごとにブラン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
Excel関数で、範囲内の最後のセ...
-
Excel関数:「0」を除いた標準...
-
【エクセル】区切り位置で分割...
-
ピボットテーブル 0個の行を...
-
更新前と更新後の差分をVBAを使...
-
値の入っているセルのうち、一...
-
SUMIFで数値が入力されているセ...
-
エクセル日付 文字列の関数がエ...
-
エクセルに入力された日付「S40...
-
エクセルで何種類のデータがあ...
-
エクセル 8ケタの数字から日数...
-
エクセル、正数のみの集計[(負...
-
Excelで複数列かつ複数行分の一...
-
【Excel】歯抜けデータの集約
-
SUMPRODUCT関数 行が増えても...
-
エクセル マクロ 連続する空...
-
エクセルで電話番号を - で分...
-
correl関数の範囲指定
-
複数の候補列から、検索値と一...
おすすめ情報