0

こんにちは、四半期ごとのレートを計算するために書かれた ocde があります。日付から四半期を計算するには、コードに「YYYYq」を含めます。四半期を半期に置き換えるのを手伝ってくれる人はいますか。「YYYY/2」を試してみましたが、うまくいきませんでした。「YYYYmm」も試してみましたが、どちらもうまくいきませんでした。

半年ごとの分子と分母が欲しいです。例: 訪問日が 2012 年 1 月 1 日であった場合、これはその年の前半にカウントされます。2012 年 1 月 1 日から 2012 年 6 月 30 日までのすべての訪問日は最初の半年ごとにカウントされ、2012 年 6 月 30 日から 2012 年 12 月 31 日までは 2 回目の半年ごとにカウントされます。

あなたの時間と提案に感謝します。

   Function Visits(target_timeframe)

        Target_Quarter = Format(target_timeframe, "YYYYq")

        For vRow = 2 To 2000

            entered_timeframe = Format(Sheets("sheet1").Range("A" & vRow).Value, "YYYYq")

            Entered_Visits = Sheets("sheet1").Range("B" & vRow).Value 'equals value of column

            If (entered_timeframe = Target_Quarter) Then
                denominator = denominator + 1
                If (Entered_Visits > 0) Then
                    numerator = numerator + 1
                End If
            End If
        Next

        If denominator > 0 Then
            Average = numerator / denominator
        Else
            Average = "N/A"
        End If

    End Function
4

2 に答える 2

1

フォーマットの「q」部分をテストして、それが 1 か 2 かを確認し、それに応じて文字列を設定します。

Target_Half = Format(target_timeframe, "YYYY") & _
     IIf(Format(target_timeframe, "q") <= "2", "/1", "/2")

これにより、今年の上半期と下半期になりTarget_Halfます。YYYY/1YYYY/2

于 2012-11-29T16:19:51.190 に答える
0

半年のカスタム日付形式はないため、自分で文字列を作成する必要があります。関数の最初の行を次のように置き換えます。

Target_Quarter = Year(target_timeframe) & IIf(Month(target_timeframe) <= 6, 1, 2)

ループ内の最初の行で同様のことを行う必要があります。

于 2012-11-29T16:25:03.993 に答える