📄 指数m2.bas
字号:
Attribute VB_Name = "modMethod"
'指数的计算方法
Option Explicit
'求物价指数
'输入数据:
'1。P(I,1):基准期的第I种商品价格
'2。P(I,2):基准期的第I种商品销售量
'3。P(I,3):报告期的第I种商品价格
'4。P(I,4):报告期的第I种商品销售量
'计算结果:
'1。R(1):几何平均指数
'2。R(2):简单综合指数
'3。R(3):加权综合指数,以基准期销售量为权
'4。R(4):加权综合指数,以报告期销售量为权
Public Sub Price_Index(P() As Double, R() As Double)
Dim I As Integer, J As Integer, N As Integer
Dim pg As Double, p1i As Double, p0i As Double
On Error GoTo priceErr
N = UBound(P, 1) '数组第1维下标的上界
'几何平均指数
pg = 0
For I = 1 To N
pg = pg + Log(P(I, 3) / P(I, 1))
Next I
pg = (1 / N) * pg
R(1) = Int(Exp(pg) * 100 + 0.5)
'综合指数
'1。简单综合指数
p1i = 0: p0i = 0
For I = 1 To N
p1i = p1i + P(I, 3)
p0i = p0i + P(I, 1)
Next I
R(2) = Int(p1i / p0i * 100 + 0.5)
'2。加权综合指数
'(1)以基准期销售量为权
p1i = 0: p0i = 0
For I = 1 To N
p1i = p1i + P(I, 3) * P(I, 2)
p0i = p0i + P(I, 1) * P(I, 2)
Next I
R(3) = Int((p1i / p0i) * 100 + 0.5)
R(4) = p1i - p0i '居民消费支出的变化
'(2)以报告期销售量为权
p1i = 0: p0i = 0
For I = 1 To N
p1i = p1i + P(I, 3) * P(I, 4)
p0i = p0i + P(I, 1) * P(I, 4)
Next I
R(5) = Int((p1i / p0i) * 100 + 0.5)
R(6) = p1i - p0i '居民消费支出的变化
Exit Sub
priceErr:
MsgBox "在商品价格中包括0或负数!"
Exit Sub
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -