電子書籍の厳選無料作品が豊富!

=FREQUENCY(範囲,{59,69,74})
この関数をvbaで違う形でもいいので
作りたいです

質問者からの補足コメント

  • 度数分布をvbaで処理したい

      補足日時:2018/07/26 19:53
  • うーん・・・

    Dim le59 As Long: le59 = 0
    Case Is <= 59: le59 = le59 + 1
    この意味を教えてください。
    ペストにします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/07/26 21:37

A 回答 (2件)

No.1です。



> Dim le59 As Long: le59 = 0

Dim le59 As Long
le59 = 0
を一行で書いただけです。

> Case Is <= 59: le59 = le59 + 1
こちらも
Case Is <= 59
 le59 = le59 + 1
を一行で書いたものです。
r.Valueが59以下の場合は、le59に1を加えます。
    • good
    • 0

これでどうでしょうか?



Dim area As Range
Dim r As Range
Dim le59 As Long: le59 = 0
Dim le69 As Long: le69 = 0
Dim le74 As Long: le74 = 0
Dim gt74 As Long: gt74 = 0

Set area = Range("A1:A9") '範囲
For Each r In area
  Select Case r.Value
  Case Is <= 59: le59 = le59 + 1
  Case Is <= 69: le69 = le69 + 1
  Case Is <= 74: le74 = le74 + 1
  Case Else: gt74 = gt74 + 1
  End Select
Next
MsgBox "59以下:" & le59 & vbNewLine & _
    "69以下:" & le69 & vbNewLine & _
    "74以下:" & le74 & vbNewLine & _
    "74より大:" & gt74
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!