嗨我有一个用于计算四分之一费率的ocde。要计算从日期开始的季度,我在代码中有“YYYYq”。任何人都可以帮助用半年时间段替换季度。我试过“YYYY / 2”,但是这样做了。我也试过使用“YYYYmm”,但也没用。
我希望半年期间有分子和分母。例如:如果访问日期是2012年1月1日,那么这将在今年上半年计算。 2012年1月1日至2012年6月30日的所有文件将在第一个半年期间推出,2012年6月30日 - 12月31日将在第二个半年的时间段内计算。
非常感谢你的时间和建议。
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
答案 0 :(得分:1)
测试格式的“q”部分以查看它是1还是2,并相应地设置字符串。
Target_Half = Format(target_timeframe, "YYYY") & _
IIf(Format(target_timeframe, "q") <= "2", "/1", "/2")
这将使Target_Half
在今年上半年成为YYYY/1
,在下半年成为YYYY/2
答案 1 :(得分:0)
半年没有自定义日期格式,因此您必须自己构建字符串。用以下函数替换函数中的第一行:
Target_Quarter = Year(target_timeframe) & IIf(Month(target_timeframe) <= 6, 1, 2)
你必须在循环中的第一行做类似的事情。