Vba 计算半年期的分子和分母
嗨,我有一个计算四次费率的ocde。要从日期开始计算季度,代码中有“yyyq”。谁能帮我把季度改成半年一次的时间段。我试过“YYYY/2”,但这不起作用。我也尝试过使用“YYYYmm”,但也不起作用 我想要半年期的分子和分母。例如:如果访问日期为2012年1月1日,则该日期将计入上半年。从2012年1月1日至2012年6月30日的所有VIST日期将在第一个半年期内得到确认,从2012年6月30日至2012年12月31日的VIST日期将在第二个半年期内得到确认 非常感谢您的时间和建议Vba 计算半年期的分子和分母,vba,excel,excel-2007,Vba,Excel,Excel 2007,嗨,我有一个计算四次费率的ocde。要从日期开始计算季度,代码中有“yyyq”。谁能帮我把季度改成半年一次的时间段。我试过“YYYY/2”,但这不起作用。我也尝试过使用“YYYYmm”,但也不起作用 我想要半年期的分子和分母。例如:如果访问日期为2012年1月1日,则该日期将计入上半年。从2012年1月1日至2012年6月30日的所有VIST日期将在第一个半年期内得到确认,从2012年6月30日至2012年12月31日的VIST日期将在第二个半年期内得到确认 非常感谢您的时间和建议 Fun
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
测试格式的“q”部分,看看它是1还是2,并相应地设置字符串
Target_Half = Format(target_timeframe, "YYYY") & _
IIf(Format(target_timeframe, "q") <= "2", "/1", "/2")
Target\u Half=格式(Target\u时间表,“YYYY”)&_
IIf(Format(target_timeframe,“q”)半年内没有自定义日期格式,因此您必须自己构建字符串。将函数中的第一行替换为:
Target_Quarter = Year(target_timeframe) & IIf(Month(target_timeframe) <= 6, 1, 2)
Target\u Quarter=Year(Target\u timeframe)&IIf(Month(Target\u timeframe)LOL@Sean,在我输入我的时没有看到你的。回答不错:-)