過去ログ

                                Page     418
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼データがあるところまで  勉強中 02/11/29(金) 18:17
   ┗Re:データがあるところまで  Nakamura 02/11/30(土) 13:07
      ┗Re:データがあるところまで  コロスケ 02/11/30(土) 14:08
         ┗Re:データがあるところまで  勉強中 02/11/30(土) 15:30
            ┗Re:データがあるところまで  コロスケ 02/11/30(土) 16:03
               ┗Re:データがあるところまで  勉強中 02/11/30(土) 16:38
                  ┗解決後にノコノコと...。  Jaka 02/12/2(月) 10:09

 ───────────────────────────────────────
 ■題名 : データがあるところまで
 ■名前 : 勉強中
 ■日付 : 02/11/29(金) 18:17
 -------------------------------------------------------------------------
   先頭からデータがある所までを範囲にして平均などを求めたり、オートフィルでコピーさせたいのですが、うまくできません。
教えてください。お願いします。
 ───────────────────────────────────────  ■題名 : Re:データがあるところまで  ■名前 : Nakamura  ■日付 : 02/11/30(土) 13:07  -------------------------------------------------------------------------
   ▼勉強中 さん:
>先頭からデータがある所までを範囲にして平均などを求めたり、オートフィルでコピーさせたいのですが、うまくできません。
>教えてください。お願いします。

こんにちは

回答ではありませんが、もう少し詳しく書かないとレスが付かないと思いますよ。
セルの構成や何処に平均を入れるのか?など、
また

>うまくできません。

とありますが、そのコードをアップして、”ここが上手く行きません。”
などとした方が、レスが付くと思いますよ。
それでは
 ───────────────────────────────────────  ■題名 : Re:データがあるところまで  ■名前 : コロスケ <colo_jpn@hotmail.com>  ■日付 : 02/11/30(土) 14:08  ■Web : http://www.interq.or.jp/sun/puremis/colo/  -------------------------------------------------------------------------
   勉強中 さん こんにちは。

Nakamuraさんのおっしゃっている通り、如何されたいのかが明確にわからないので
かなり曖昧な回答にならざるを得ませんが、「先頭」をSelectされているセルだと仮定して
データに空白がないと改定した場合に平均値を最終セルの1つ下に書き込みコードです。
参考になれば...。ではー♪

Sub GetAVERAGE()
  With Selection
    .End(xlDown).Offset(1).Value = _
    Application.WorksheetFunction.Average(Range(.Resize, .End(xlDown)))
  End With
End Sub
 ───────────────────────────────────────  ■題名 : Re:データがあるところまで  ■名前 : 勉強中  ■日付 : 02/11/30(土) 15:30  -------------------------------------------------------------------------
   分かりにくい質問なのにお答えいただきありがとうございます。

質問の内容が分かっていただけるかどうか分かりませんが
私なりに書いてみます。
お願いします。

受験番号    得点    偏差
1    48    
2    62    
3    70    
4    55    
5    65    
6    75    
7    80    
8    77    
9    68    
10    45    
上のようなデータがあるとします。
セルC2に偏差値を求める式
=ROUND((B2-AVERAGE($B$2:$B$11))*10/STDEVP($B$2:$B$11)+50,1)を入れ、
得点が入っているセルがあるところまでオートフィルでコピーしたいのです。
平均も標準偏差も得点があるセルまでを範囲に求める。
 ───────────────────────────────────────  ■題名 : Re:データがあるところまで  ■名前 : コロスケ <colo_jpn@hotmail.com>  ■日付 : 02/11/30(土) 16:03  ■Web : http://www.interq.or.jp/sun/puremis/colo/  -------------------------------------------------------------------------
   ▼勉強中 さん:

B列のデータ範囲を式に入れれば解決ですね♪ お試しください。
ではー♪

Sub Test()
  Dim rngDt As Range
  Set rngDt = Range([B2], [B65536].End(xlUp)) 'B列のデータ範囲
  With rngDt
    'C列に式を書き込み
    .Offset(, 1).Formula = _
    "=ROUND((RC[-1]-AVERAGE(" & .Address(, , xlR1C1) & "))*10/STDEVP(" & .Address(, , xlR1C1) & ")+50,1)"
  End With
  Set rngDt = Nothing
End Sub
 ───────────────────────────────────────  ■題名 : Re:データがあるところまで  ■名前 : 勉強中  ■日付 : 02/11/30(土) 16:38  -------------------------------------------------------------------------
   ▼コロスケ さん:
できました。
すごいです。
ありがとうございました。
始めて10日ほど、右も左も分からない状態ですが、
VBAおもしろいって思えそうです。
分からないことができたらここにきます。
いつか質問に答えられるようになるといいなって思います。
 ───────────────────────────────────────  ■題名 : 解決後にノコノコと...。  ■名前 : Jaka  ■日付 : 02/12/2(月) 10:09  -------------------------------------------------------------------------
   >セルC2に偏差値を求める式
>=ROUND((B2-AVERAGE($B$2:$B$11))*10/STDEVP($B$2:$B$11)+50,1)を入れ、
>得点が入っているセルがあるところまでオートフィルでコピーしたいのです。
>平均も標準偏差も得点があるセルまでを範囲に求める。

おはようございます。
解決後に、マクロでない方法を1つ。

C2に上記コードを入れたら、C2を選択してC2の右下かどにカーソルを合わせて、ポインタが + に変わったところでWクリックすれば、マクロなど使わず簡単にすみますけど。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 418