アットウィキロゴ

memo123

Function makeavgtufw(byear As Single, f2by, fdeby, fw, falpha, fbeta, fgamma, ftheta) As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim wis(15 To 64, 1 To 49) As Single
Dim wos(15 To 64, 1 To 49) As Single
Dim age As Single
age = 15
mis(age, 1) = f2by(byear, age)
For car = 1 To 49
wis(age, car) = fw(age)
wos(age, car) = fw(age)
Next
For age = 16 To 64
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
wis(age, 1) = fw(age)
For car = 2 To 49
z6 = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
z7 = wis(age - 1, car - 1) * (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + wos(age - 1, car - 1) * v * mos(age - 1, car - 1)
If z6 = 0 Then z7 = 0
If z6 = 0 Then z6 = 1
z8 = z7 / z6
wis(age, car) = (fw(age) + (car - 1) * z8) / car
Next
For car = 2 To 49
z9 = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
z10 = wis(age - 1, car) * (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + wos(age - 1, car) * (1 - fdeby(byear, age) - v) * mos(age - 1, car)
If z9 = 0 Then z10 = 0
If z9 = 0 Then z9 = 1
wos(age, car) = z10 / z9
Next
Next
z1 = 0
z2 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + wis(64, car) * mis(64, car) + wos(64, car) * mos(64, car)
Next
makeavgtufw = z2 / z1
End Function

Function makeavgtumw(byear As Single, m2by, mdeby, mw, malpha, mbeta, mgamma, mtheta) As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim wis(15 To 64, 1 To 49) As Single
Dim wos(15 To 64, 1 To 49) As Single
Dim age As Single
age = 15
mis(age, 1) = m2by(byear, age)
For car = 1 To 49
wis(age, car) = mw(age)
wos(age, car) = mw(age)
Next
For age = 16 To 64
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
wis(age, 1) = mw(age)
For car = 2 To 49
z6 = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
z7 = wis(age - 1, car - 1) * (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + wos(age - 1, car - 1) * v * mos(age - 1, car - 1)
If z6 = 0 Then z7 = 0
If z6 = 0 Then z6 = 1
z8 = z7 / z6
wis(age, car) = (mw(age) + (car - 1) * z8) / car
Next
For car = 2 To 49
z9 = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
z10 = wis(age - 1, car) * (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + wos(age - 1, car) * (1 - mdeby(byear, age) - v) * mos(age - 1, car)
If z9 = 0 Then z10 = 0
If z9 = 0 Then z9 = 1
wos(age, car) = z10 / z9
Next
Next
z1 = 0
z2 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + wis(64, car) * mis(64, car) + wos(64, car) * mos(64, car)
Next
makeavgtumw = z2 / z1
End Function


Function makeavgfw(byear As Single, f2by, fdeby, fw, falpha, fbeta, fgamma, ftheta) As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim wis(15 To 64, 1 To 49) As Single
Dim wos(15 To 64, 1 To 49) As Single
Dim age As Single
age = 15
mis(age, 1) = f2by(byear, age)
For car = 1 To 49
wis(age, car) = fw(age)
wos(age, car) = fw(age)
Next
For age = 16 To 64
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
wis(age, 1) = fw(age)
For car = 2 To 49
z6 = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
z7 = wis(age - 1, car - 1) * (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + wos(age - 1, car - 1) * v * mos(age - 1, car - 1)
If z6 = 0 Then z7 = 0
If z6 = 0 Then z6 = 1
z8 = z7 / z6
wis(age, car) = (fw(age) + (car - 1) * z8) / car
Next
For car = 2 To 49
z9 = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
z10 = wis(age - 1, car) * (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + wos(age - 1, car) * (1 - fdeby(byear, age) - v) * mos(age - 1, car)
If z9 = 0 Then z10 = 0
If z9 = 0 Then z9 = 1
wos(age, car) = z10 / z9
Next
Next
z1 = 0
z2 = 0
For car = 25 To 49
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + wis(64, car) * mis(64, car) + wos(64, car) * mos(64, car)
Next
makeavgfw = z2 / z1
End Function

Function makeavgmw(byear As Single, m2by, mdeby, mw, malpha, mbeta, mgamma, mtheta) As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim wis(15 To 64, 1 To 49) As Single
Dim wos(15 To 64, 1 To 49) As Single
Dim age As Single
age = 15
mis(age, 1) = m2by(byear, age)
For car = 1 To 49
wis(age, car) = mw(age)
wos(age, car) = mw(age)
Next
For age = 16 To 64
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
wis(age, 1) = mw(age)
For car = 2 To 49
z6 = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
z7 = wis(age - 1, car - 1) * (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + wos(age - 1, car - 1) * v * mos(age - 1, car - 1)
If z6 = 0 Then z7 = 0
If z6 = 0 Then z6 = 1
z8 = z7 / z6
wis(age, car) = (mw(age) + (car - 1) * z8) / car
Next
For car = 2 To 49
z9 = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
z10 = wis(age - 1, car) * (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + wos(age - 1, car) * (1 - mdeby(byear, age) - v) * mos(age - 1, car)
If z9 = 0 Then z10 = 0
If z9 = 0 Then z9 = 1
wos(age, car) = z10 / z9
Next
Next
z1 = 0
z2 = 0
For car = 25 To 49
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + wis(64, car) * mis(64, car) + wos(64, car) * mos(64, car)
Next
makeavgmw = z2 / z1
End Function
Function makeavgtuftime2(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout, ftime) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = finx(age, car) / 10 ^ 4
a2 = fout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = f2by(byear, age)
endtime = ftime(byear)
For age = startage + 1 To endtime
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
age = endtime
z1 = 0
z2 = 0
For car = 1 To 24
z1 = z1 + mis(age, car) + mos(age, car)
z2 = z2 + car * (mis(age, car) + mos(age, car))
Next
makeavgtuftime2 = z2 / z1
End Function
Function makeavgtumtime2(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout, mtime) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = minx(age, car) / 10 ^ 4
a2 = mout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = m2by(byear, age)
endtime = mtime(byear)
For age = startage + 1 To endtime
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
age = endtime
z1 = 0
z2 = 0
For car = 1 To 24
z1 = z1 + mis(age, car) + mos(age, car)
z2 = z2 + car * (mis(age, car) + mos(age, car))
Next
makeavgtumtime2 = z2 / z1
End Function


Function makeavgtuftime1(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = f2by(byear, age)
For age = 16 To 64
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
z2 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + car * (mis(64, car) + mos(64, car))
Next
makeavgtuftime1 = z2 / z1
End Function
Function makeavgtumtime1(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 69, 1 To 49) As Single
Dim mos(15 To 69, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = m2by(byear, age)
For age = 16 To 64
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
z2 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + car * (mis(64, car) + mos(64, car))
Next
makeavgtumtime1 = z2 / z1
End Function


Function makeavgftime2(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout, ftime) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = finx(age, car) / 10 ^ 4
a2 = fout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = f2by(byear, age)
endtime = ftime(byear)
For age = startage + 1 To endtime
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
age = endtime
z1 = 0
z2 = 0
For car = 25 To 49
z1 = z1 + mis(age, car) + mos(age, car)
z2 = z2 + car * (mis(age, car) + mos(age, car))
Next
makeavgftime2 = z2 / z1
End Function
Function makeavgmtime2(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout, mtime) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = minx(age, car) / 10 ^ 4
a2 = mout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = m2by(byear, age)
endtime = mtime(byear)
For age = startage + 1 To endtime
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
age = endtime
z1 = 0
z2 = 0
For car = 25 To 49
z1 = z1 + mis(age, car) + mos(age, car)
z2 = z2 + car * (mis(age, car) + mos(age, car))
Next
makeavgmtime2 = z2 / z1
End Function


Function makeavgftime1(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = f2by(byear, age)
For age = 16 To 64
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
z2 = 0
For car = 25 To 49
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + car * (mis(64, car) + mos(64, car))
Next
makeavgftime1 = z2 / z1
End Function
Function makeavgmtime1(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 69, 1 To 49) As Single
Dim mos(15 To 69, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = m2by(byear, age)
For age = 16 To 64
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
z2 = 0
For car = 25 To 49
z1 = z1 + mis(64, car) + mos(64, car)
z2 = z2 + car * (mis(64, car) + mos(64, car))
Next
makeavgmtime1 = z2 / z1
End Function



Function makeftunew2(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = finx(age, car) / 10 ^ 4
a2 = fout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = f2by(byear, age)
For age = startage + 1 To 64
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
Next
makeftunew2 = z1
End Function

Function makemtunew2(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = minx(age, car) / 10 ^ 4
a2 = mout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = m2by(byear, age)
For age = startage + 1 To 64
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
Next
makemtunew2 = z1
End Function



Function makeftunew1(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = f2by(byear, age)
For age = 16 To 64
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
Next
makeftunew1 = z1
End Function

Function makemtunew1(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = m2by(byear, age)
For age = 16 To 64
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
For car = 1 To 24
z1 = z1 + mis(64, car) + mos(64, car)
Next
makemtunew1 = z1
End Function


Function makefnew2(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout, ftime) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = finx(age, car) / 10 ^ 4
a2 = fout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = f2by(byear, age)
endtime = ftime(byear)
For age = startage + 1 To endtime
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
age = endtime
z1 = 0
For car = 25 To 49
z1 = z1 + mis(age, car) + mos(age, car)
Next
makefnew2 = z1
End Function

Function makemnew2(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout, mtime) As Single
Dim startage As Single
Dim mis(14 To 69, 1 To 49) As Single
Dim mos(14 To 69, 1 To 49) As Single
Dim car As Single
startage = 2005 - byear
age = startage
For car = 1 To 49
a1 = minx(age, car) / 10 ^ 4
a2 = mout(age, car) / 10 ^ 4
mis(age, car) = a1
mos(age, car) = a2
Next
age = startage + 1
mis(age, 1) = m2by(byear, age)
endtime = mtime(byear)
For age = startage + 1 To endtime
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
age = endtime
z1 = 0
For car = 25 To 49
z1 = z1 + mis(age, car) + mos(age, car)
Next
makemnew2 = z1
End Function
Function makefnew1(byear As Single, f2by, fdeby, falpha, fbeta, fgamma, ftheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = f2by(byear, age)
For age = 16 To 64
z1 = (1 - fgamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - ftheta(age)) * z2
z4 = ftheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - fgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (fgamma(age - 1) - falpha(age - 1) - fbeta(age)) * mis(age - 1, car) + (1 - fdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
For car = 25 To 49
z1 = z1 + mis(64, car) + mos(64, car)
Next
makefnew1 = z1
End Function

Function makemnew1(byear As Single, m2by, mdeby, malpha, mbeta, mgamma, mtheta) As Single
Dim age As Single
Dim car As Single
Dim mis(15 To 64, 1 To 49) As Single
Dim mos(15 To 64, 1 To 49) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
age = 15
mis(age, 1) = m2by(byear, age)
For age = 16 To 64
z1 = (1 - mgamma(age - 1)) * m2by(byear, age - 1)
z2 = m2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - mtheta(age)) * z2
z4 = mtheta(age) * z2
mis(age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(age, car) = (1 - mgamma(age - 1)) * mis(age - 1, car - 1) + v * mos(age - 1, car - 1)
Next
For car = 1 To 49
mos(age, car) = (mgamma(age - 1) - malpha(age - 1) - mbeta(age)) * mis(age - 1, car) + (1 - mdeby(byear, age) - v) * mos(age - 1, car)
Next
Next
z1 = 0
For car = 25 To 49
z1 = z1 + mis(64, car) + mos(64, car)
Next
makemnew1 = z1
End Function


Function makefrate(year As Single, age As Single, data6) As Single
Dim fr(0 To 99) As Single
Dim time As Single
Dim m1 As Single
Dim m2 As Single
Dim n1 As Single
Dim n2 As Single
Dim n3 As Single
time = 0
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
fr(time) = data6(4, n2) + (n1 - n2) * (data6(4, n3) - data6(4, n2))
For time = 1 To 9
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = data6(4, n2) + (n1 - n2) * (data6(4, n3) - data6(4, n2))
m2 = data6(5, n2) + (n1 - n2) * (data6(5, n3) - data6(5, n2))
fr(time) = m1 + time / 10 * (m2 - m1)
Next
time = 10
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
fr(time) = data6(5, n2) + (n1 - n2) * (data6(5, n3) - data6(5, n2))
For time = 11 To 24
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = data6(5, n2) + (n1 - n2) * (data6(5, n3) - data6(5, n2))
m2 = data6(6, n2) + (n1 - n2) * (data6(6, n3) - data6(6, n2))
fr(time) = m1 + (year - 10) / 15 * (m2 - m1)
Next
For time = 25 To 99
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
fr(time) = data6(6, n2) + (n1 - n2) * (data6(6, n3) - data6(6, n2))
Next
makefrate = fr(year)
End Function

Function makemrate(year As Single, age As Single, data6) As Single
Dim mr(0 To 99) As Single
Dim time As Single
Dim m1 As Single
Dim m2 As Single
Dim n1 As Single
Dim n2 As Single
Dim n3 As Single
time = 0
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
mr(time) = data6(1, n2) + (n1 - n2) * (data6(1, n3) - data6(1, n2))
For time = 1 To 9
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = data6(1, n2) + (n1 - n2) * (data6(1, n3) - data6(1, n2))
m2 = data6(2, n2) + (n1 - n2) * (data6(2, n3) - data6(2, n2))
mr(time) = m1 + time / 10 * (m2 - m1)
Next
time = 10
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
mr(time) = data6(2, n2) + (n1 - n2) * (data6(2, n3) - data6(2, n2))
For time = 11 To 24
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = data6(2, n2) + (n1 - n2) * (data6(2, n3) - data6(2, n2))
m2 = data6(3, n2) + (n1 - n2) * (data6(3, n3) - data6(3, n2))
mr(time) = m1 + (year - 10) / 15 * (m2 - m1)
Next
For time = 25 To 99
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
mr(time) = data6(3, n2) + (n1 - n2) * (data6(3, n3) - data6(3, n2))
Next
makemrate = mr(year)
End Function

Private Sub Command1_Click()
Dim data2(1 To 11, 15 To 49) As Single
Dim data4(0 To 130, 1 To 11) As Single
Dim data5(0 To 130, 1 To 11) As Single
Dim data6(1 To 6, 1 To 12) As Single
Dim data8(0 To 150) As Single
Dim data9(0 To 150) As Single
Dim mw(15 To 69) As Single
Dim fw(15 To 69) As Single
Dim malpha(15 To 69) As Single
Dim mbeta(15 To 69) As Single
Dim mgamma(15 To 69) As Single
Dim mtheta(15 To 65) As Single
Dim falpha(15 To 69) As Single
Dim fbeta(15 To 69) As Single
Dim fgamma(15 To 69) As Single
Dim ftheta(15 To 65) As Single
Dim minx(14 To 75, 0 To 50) As Single
Dim mout(14 To 75, 0 To 50) As Single
Dim finx(14 To 75, 0 To 50) As Single
Dim fout(14 To 75, 0 To 50) As Single
Dim mtime(1900 To 2100) As Single
Dim ftime(1900 To 2100) As Single
Dim age As Single
Dim year As Single
Dim byear As Single
Dim startm(0 To 200) As Single
Dim startf(0 To 200) As Single
Dim birth(5 To 99, 15 To 49) As Single
Dim mde(5 To 99, 0 To 99) As Single
Dim fde(5 To 99, 0 To 99) As Single
Dim m(5 To 99, 0 To 99) As Single
Dim f(5 To 99, 0 To 99) As Single
Dim mrate(5 To 99, 15 To 69) As Single
Dim frate(5 To 99, 15 To 69) As Single
Dim mrou(5 To 99, 15 To 69) As Single
Dim frou(5 To 99, 15 To 69) As Single
Dim mhrate(0 To 99, 15 To 69) As Single
Dim fhrate(0 To 99, 15 To 69) As Single
Dim mh(5 To 99, 15 To 69) As Single
Dim fh(5 To 99, 15 To 69) As Single
Dim m1(5 To 99, 15 To 69) As Single
Dim f1(5 To 99, 15 To 69) As Single
Dim m4(5 To 99, 15 To 69) As Single
Dim f4(5 To 99, 15 To 69) As Single
Dim m2(5 To 99, 15 To 69) As Single
Dim f2(5 To 99, 15 To 69) As Single
Dim m3(5 To 99, 15 To 69) As Single
Dim f3(5 To 99, 15 To 69) As Single
Dim m5(5 To 99, 15 To 69) As Single
Dim f5(5 To 99, 15 To 69) As Single
Dim rev(5 To 99) As Single
Dim m2by(1900 To 2100, 15 To 69) As Single
Dim f2by(1900 To 2100, 15 To 69) As Single
Dim mdeby(1900 To 2100, 0 To 99) As Single
Dim fdeby(1900 To 2100, 0 To 99) As Single
Dim mnew(1900 To 2100) As Single
Dim fnew(1900 To 2100) As Single
Dim mtunew(1900 To 2100) As Single
Dim ftunew(1900 To 2100) As Single
Dim avgmtime(1900 To 2100) As Single
Dim avgftime(1900 To 2100) As Single
Dim avgtumtime(1900 To 2100) As Single
Dim avgtuftime(1900 To 2100) As Single
Dim avgmw(1900 To 2100) As Single
Dim avgfw(1900 To 2100) As Single
Dim avgtumw(1900 To 2100) As Single
Dim avgtufw(1900 To 2100) As Single
Dim mj(5 To 99, 0 To 130) As Single
Dim fj(5 To 99, 0 To 130) As Single
Dim mtu(5 To 99, 0 To 130) As Single
Dim ftu(5 To 99, 0 To 130) As Single
Dim mi(5 To 99, 0 To 130) As Single
Dim fi(5 To 99, 0 To 130) As Single
Dim mjde(0 To 130) As Single
Dim fjde(0 To 130) As Single
Dim mide(0 To 130) As Single
Dim fide(0 To 130) As Single
Dim rou(5 To 99) As Single
Dim tu(5 To 99) As Single
Dim iz(5 To 99) As Single
Dim jyo(1900 To 2100) As Single
Dim n1 As Single
Dim n2 As Single
Dim n3 As Single
Dim ch As Single
Dim kyrate(15 To 69) As Single
Dim hoken(5 To 99) As Single
Dim mwage(15 To 69) As Single
Dim fwage(15 To 69) As Single
Dim slide(1900 To 2100, 0 To 99) As Single
Dim g(5 To 99) As Single
Dim m2rate(0 To 200) As Single
Dim f2rate(0 To 200) As Single
Dim f3rate(0 To 200) As Single
Dim f5rate(0 To 200) As Single
Dim mjrate(0 To 200) As Single
Dim fjrate(0 To 200) As Single
Dim kisoj(5 To 99, 65 To 99) As Single
Dim kiso(5 To 99) As Single
Dim kyo(5 To 99) As Single
Dim prate(5 To 199) As Single
Dim startg(5 To 99) As Single
age = 0
Open "c:/hagetaka/data/国勢調査.txt" For Input As #201
Do Until EOF(201)
Input #201, a1, a2
startm(age) = a1 / 10 ^ 4
startf(age) = a2 / 10 ^ 4
age = age + 1
Loop
Close #201
Open "c:/hagetaka/data/出生率1.txt " For Input As #202
Do Until EOF(202)
Input #202, a1, a2, a3, a4, a5, a6, a7
age = a1
data2(1, age) = a2
data2(2, age) = a3
data2(3, age) = a4
data2(4, age) = a5
data2(5, age) = a6
data2(6, age) = a7
Loop
Close #202
Open "c:/hagetaka/data/出生率2.txt " For Input As #203
Do Until EOF(203)
Input #203, a1, a2, a3, a4, a5, a6
age = a1
data2(7, age) = a2
data2(8, age) = a3
data2(9, age) = a4
data2(10, age) = a5
data2(11, age) = a6
Loop
Close #203
Open "c:/hagetaka/data/男性生命表.txt " For Input As #204
Do Until EOF(204)
Input #204, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12
age = a1
data4(age, 1) = a2
data4(age, 2) = a3
data4(age, 3) = a4
data4(age, 4) = a5
data4(age, 5) = a6
data4(age, 6) = a7
data4(age, 7) = a8
data4(age, 8) = a9
data4(age, 9) = a10
data4(age, 10) = a11
data4(age, 11) = a12
Loop
Close #204
Open "c:/hagetaka/data/女性生命表.txt " For Input As #205
Do Until EOF(205)
Input #205, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12
age = a1
data5(age, 1) = a2
data5(age, 2) = a3
data5(age, 3) = a4
data5(age, 4) = a5
data5(age, 5) = a6
data5(age, 6) = a7
data5(age, 7) = a8
data5(age, 8) = a9
data5(age, 9) = a10
data5(age, 10) = a11
data5(age, 11) = a12
Loop
Close #205

Open "c:/hagetaka/data/労働力人口.txt" For Input As #206
Do Until EOF(206)
Input #206, a1, a2, a3, a4, a5, a6, a7
n = a1
data6(1, n) = a2
data6(2, n) = a3
data6(3, n) = a4
data6(4, n) = a5
data6(5, n) = a6
data6(6, n) = a7
Loop
Close #206

Open "c:/kirakira/gdata/被用者比率.txt " For Input As #207
Do Until EOF(207)
Input #207, a1, a2, a3, a4
year = a1
age = a2
mhrate(year, age) = a3
fhrate(year, age) = a4
Loop
Close #207

age = 15
Open "c:/nagoya/data/厚生3号.txt " For Input As #208
Do Until EOF(208)
Input #208, a1, a2
data8(age) = a1
age = age + 1
Loop
Close #208

age = 15
Open "c:/nagoya/data/共済3号.txt " For Input As #209
Do Until EOF(209)
Input #209, a1, a2, a3, a4, a5, a6
data9(age) = a1 + a2 + a3
age = age + 1
Loop
Close #209

age = 15
Open "c:/hagetaka/data/標準報酬.txt " For Input As #210
Do Until EOF(210)
Input #210, a1, a2
mw(age) = a1
fw(age) = a2
age = age + 1
Loop
Close #210

Open "c:/nagoya/data/男子脱退力.txt " For Input As #211
Do Until EOF(211)
Input #211, a1, a2, a3, a4
age = a1
mgamma(age) = a2
malpha(age) = a3
mbeta(age) = a4
Loop
Close #211
Open "c:/nagoya/data/再加入率.txt " For Input As #212
Do Until EOF(212)
Input #212, a1, a2, a3, a4
age = a1
mtheta(age) = a2
ftheta(age) = a3
Loop
Close #212

Open "c:/nagoya/data/女子脱退力.txt " For Input As #213
Do Until EOF(213)
Input #213, a1, a2, a3, a4
age = a1
fgamma(age) = a2
falpha(age) = a3
fbeta(age) = a4
Loop
Close #213

Open "c:/nagoya/data/男子被保険者.txt " For Input As #214
Do Until EOF(214)
Input #214, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
minx(age, 0) = a2
minx(age, 1) = a3
minx(age, 2) = a4
minx(age, 3) = a5
minx(age, 4) = a6
minx(age, 5) = a7
minx(age, 6) = a8
minx(age, 7) = a9
minx(age, 8) = a10
minx(age, 9) = a11
minx(age, 10) = a12
minx(age, 11) = a13
minx(age, 12) = a14
minx(age, 13) = a15
minx(age, 14) = a16
minx(age, 15) = a17
minx(age, 16) = a18
minx(age, 17) = a19
minx(age, 18) = a20
minx(age, 19) = a21
minx(age, 20) = a22
minx(age, 21) = a23
minx(age, 22) = a24
minx(age, 23) = a25
minx(age, 24) = a26
minx(age, 25) = a27
minx(age, 26) = a28
minx(age, 27) = a29
minx(age, 28) = a30
minx(age, 29) = a31
minx(age, 30) = a32
minx(age, 31) = a33
minx(age, 32) = a34
minx(age, 33) = a35
minx(age, 34) = a36
minx(age, 35) = a37
minx(age, 36) = a38
minx(age, 37) = a39
minx(age, 38) = a40
minx(age, 39) = a41
minx(age, 40) = a42
minx(age, 41) = a43
minx(age, 42) = a44
minx(age, 43) = a45
minx(age, 44) = a46
minx(age, 45) = a47
minx(age, 46) = a48
minx(age, 47) = a49
minx(age, 48) = a50
minx(age, 49) = a51
minx(age, 50) = a52
Loop
Close #214

Open "c:/nagoya/data/男子待期者.txt " For Input As #215
Do Until EOF(215)
Input #215, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
mout(age, 0) = a2
mout(age, 1) = a3
mout(age, 2) = a4
mout(age, 3) = a5
mout(age, 4) = a6
mout(age, 5) = a7
mout(age, 6) = a8
mout(age, 7) = a9
mout(age, 8) = a10
mout(age, 9) = a11
mout(age, 10) = a12
mout(age, 11) = a13
mout(age, 12) = a14
mout(age, 13) = a15
mout(age, 14) = a16
mout(age, 15) = a17
mout(age, 16) = a18
mout(age, 17) = a19
mout(age, 18) = a20
mout(age, 19) = a21
mout(age, 20) = a22
mout(age, 21) = a23
mout(age, 22) = a24
mout(age, 23) = a25
mout(age, 24) = a26
mout(age, 25) = a27
mout(age, 26) = a28
mout(age, 27) = a29
mout(age, 28) = a30
mout(age, 29) = a31
mout(age, 30) = a32
mout(age, 31) = a33
mout(age, 32) = a34
mout(age, 33) = a35
mout(age, 34) = a36
mout(age, 35) = a37
mout(age, 36) = a38
mout(age, 37) = a39
mout(age, 38) = a40
mout(age, 39) = a41
mout(age, 40) = a42
mout(age, 41) = a43
mout(age, 42) = a44
mout(age, 43) = a45
mout(age, 44) = a46
mout(age, 45) = a47
mout(age, 46) = a48
mout(age, 47) = a49
mout(age, 48) = a50
mout(age, 49) = a51
mout(age, 50) = a52
Loop
Close #215
Open "c:/nagoya/data/報酬裁定.txt " For Input As #216
Do Until EOF(216)
Input #216, a1, a2, a3
byear = a1
mtime(byear) = a2
ftime(byear) = a3
Loop
Close #216

Open "c:/nagoya/data/女子被保険者.txt " For Input As #217
Do Until EOF(217)
Input #217, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
finx(age, 0) = a2
finx(age, 1) = a3
finx(age, 2) = a4
finx(age, 3) = a5
finx(age, 4) = a6
finx(age, 5) = a7
finx(age, 6) = a8
finx(age, 7) = a9
finx(age, 8) = a10
finx(age, 9) = a11
finx(age, 10) = a12
finx(age, 11) = a13
finx(age, 12) = a14
finx(age, 13) = a15
finx(age, 14) = a16
finx(age, 15) = a17
finx(age, 16) = a18
finx(age, 17) = a19
finx(age, 18) = a20
finx(age, 19) = a21
finx(age, 20) = a22
finx(age, 21) = a23
finx(age, 22) = a24
finx(age, 23) = a25
finx(age, 24) = a26
finx(age, 25) = a27
finx(age, 26) = a28
finx(age, 27) = a29
finx(age, 28) = a30
finx(age, 29) = a31
finx(age, 30) = a32
finx(age, 31) = a33
finx(age, 32) = a34
finx(age, 33) = a35
finx(age, 34) = a36
finx(age, 35) = a37
finx(age, 36) = a38
finx(age, 37) = a39
finx(age, 38) = a40
finx(age, 39) = a41
finx(age, 40) = a42
finx(age, 41) = a43
finx(age, 42) = a44
finx(age, 43) = a45
finx(age, 44) = a46
finx(age, 45) = a47
finx(age, 46) = a48
finx(age, 47) = a49
finx(age, 48) = a50
finx(age, 49) = a51
finx(age, 50) = a52
Loop
Close #217

Open "c:/nagoya/data/女子待期者.txt " For Input As #218
Do Until EOF(218)
Input #218, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
fout(age, 0) = a2
fout(age, 1) = a3
fout(age, 2) = a4
fout(age, 3) = a5
fout(age, 4) = a6
fout(age, 5) = a7
fout(age, 6) = a8
fout(age, 7) = a9
fout(age, 8) = a10
fout(age, 9) = a11
fout(age, 10) = a12
fout(age, 11) = a13
fout(age, 12) = a14
fout(age, 13) = a15
fout(age, 14) = a16
fout(age, 15) = a17
fout(age, 16) = a18
fout(age, 17) = a19
fout(age, 18) = a20
fout(age, 19) = a21
fout(age, 20) = a22
fout(age, 21) = a23
fout(age, 22) = a24
fout(age, 23) = a25
fout(age, 24) = a26
fout(age, 25) = a27
fout(age, 26) = a28
fout(age, 27) = a29
fout(age, 28) = a30
fout(age, 29) = a31
fout(age, 30) = a32
fout(age, 31) = a33
fout(age, 32) = a34
fout(age, 33) = a35
fout(age, 34) = a36
fout(age, 35) = a37
fout(age, 36) = a38
fout(age, 37) = a39
fout(age, 38) = a40
fout(age, 39) = a41
fout(age, 40) = a42
fout(age, 41) = a43
fout(age, 42) = a44
fout(age, 43) = a45
fout(age, 44) = a46
fout(age, 45) = a47
fout(age, 46) = a48
fout(age, 47) = a49
fout(age, 48) = a50
fout(age, 49) = a51
fout(age, 50) = a52
Loop
Close #218

n = 1
Open "c:/nagoya/data/男子受給者.txt " For Input As #219
Do Until EOF(219)
Input #219, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14
age = a1
mj(5, age) = (a2 + a3 + a6 + a7) / 10 ^ 4
mtu(5, age) = (a4 + a5 + a8 + a9) / 10 ^ 4
mi(5, age) = (a12 + a13 + a14) / 10 ^ 4
Loop
Close #219
Open "c:/nagoya/data/女子受給者.txt " For Input As #220
Do Until EOF(220)
Input #220, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14
age = a1
fj(5, age) = (a2 + a3 + a6 + a7) / 10 ^ 4
ftu(5, age) = (a4 + a5 + a8 + a9) / 10 ^ 4
fi(5, age) = (a12 + a13 + a14) / 10 ^ 4
Loop
Close #220

Open "c:/nagoya/data/男子失権率.txt " For Input As #221
Do Until EOF(221)
Input #221, a1, a2, a3, a4
age = a1
mjde(age) = a2
mide(age) = a4
Loop
Close #221
Open "c:/nagoya/data/女子失権率.txt " For Input As #222
Do Until EOF(222)
Input #222, a1, a2, a3, a4
age = a1
fjde(age) = a2
mide(age) = a4
Loop
Close #222

Open "c:/nagoya/data/男子遺族.txt " For Input As #223
Do Until EOF(223)
Input #223, a1, a2, a3, a4
age = a1
m2rate(age) = a2
mjrate(age) = a4
Loop
Close #223

Open "c:/nagoya/data/女子遺族.txt " For Input As #224
Do Until EOF(224)
Input #224, a1, a2, a3, a4
age = a1
f2rate(age) = a2
fjrate(age) = a4
Loop
Close #224

For year = 5 To 99
For age = 15 To 49
n1 = year / 5
n2 = Int(n1)
If n2 > 11 Then n2 = 11
n3 = n2 + 1
If n3 > 11 Then n3 = 11
birth(year, age) = data2(n2, age) + (n1 - n2) * (data2(n3, age) - data2(n2, age))
Next
Next

For year = 5 To 99
For age = 0 To 99
n1 = year / 5
n2 = Int(n1)
If n2 > 11 Then n2 = 11
n3 = n2 + 1
If n3 > 11 Then n3 = 11
mde(year, age) = data4(age, n2) + (n1 - n2) * (data4(age, n3) - data4(age, n2))
fde(year, age) = data5(age, n2) + (n1 - n2) * (data5(age, n3) - data5(age, n2))
Next
Next

For age = 0 To 99
m(5, age) = startm(age)
f(5, age) = startf(age)
Next
For year = 6 To 99
For age = 1 To 99
m(year, age) = (1 - mde(year - 1, age - 1)) * m(year - 1, age - 1)
f(year, age) = (1 - fde(year - 1, age - 1)) * f(year - 1, age - 1)
Next
ch = 0
For age = 15 To 49
ch = ch + birth(year, age) * f(year, age)
Next
m(year, 0) = 1.05 * ch / 2.05
f(year, 0) = ch / 2.05
Next

For year = 5 To 99
For age = 15 To 69
mrate(year, age) = makemrate(year, age, data6) / 100
frate(year, age) = makefrate(year, age, data6) / 100
Next
Next

For year = 5 To 99
For age = 15 To 69
mrou(year, age) = mrate(year, age) * m(year, age)
frou(year, age) = frate(year, age) * f(year, age)
Next
Next

For year = 5 To 99
For age = 15 To 69
mh(year, age) = mhrate(year, age) * mrou(year, age)
fh(year, age) = fhrate(year, age) * frou(year, age)
Next
Next

For age = 15 To 69
a1 = data8(age)
a2 = data9(age)
If a2 > 0 Then kyrate(age) = a2 / (a1 + a2)
Next

For year = 5 To 99
For age = 15 To 69
m4(year, age) = kyrate(age) * mh(year, age)
f4(year, age) = kyrate(age) * fh(year, age)
Next
Next


For year = 5 To 99
For age = 15 To 69
m2(year, age) = mh(year, age) - m4(year, age)
f2(year, age) = fh(year, age) - f4(year, age)
Next
Next

hoken(5) = 14.288
For year = 6 To 99
hoken(year) = hoken(year - 1) + 0.354
If hoken(year) > 18.3 Then hoken(year) = 18.3
Next
g(5) = 1
For year = 6 To 99
g(year) = (1 + 0.025) * g(year - 1)
Next
For year = 5 To 99
For age = 15 To 69
mwage(age) = 240 * g(year) * mw(age)
fwage(age) = 210 * g(year) * fw(age)
Next
z1 = 0
For age = 15 To 69
z1 = z1 + hoken(year) * mwage(age) * m2(year, age) / 100
z1 = z1 + hoken(year) * fwage(age) * f2(year, age) / 100
Next
rev(year) = z1 / 10 ^ 4
Next

For byear = 1900 To 2100
For age = 15 To 69
year = byear + age - 2000
h = 0
If year > 4 Then h = h + 1
If year < 100 Then h = h + 1
If h = 2 Then m2by(byear, age) = m2(year, age)
If h = 2 Then f2by(byear, age) = f2(year, age)
Next
Next

For byear = 1900 To 2100
For age = 0 To 99
year = byear + age - 2000
h = 0
If year > 4 Then h = h + 1
If year < 100 Then h = h + 1
If h = 2 Then mdeby(byear, age) = mde(year, age)
If h = 2 Then fdeby(byear, age) = fde(year, age)
Next
Next

For byear = 1990 To 2034
mnew(byear) = makemnew1(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta)
Next
For byear = 1990 To 2034
fnew(byear) = makefnew1(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta)
Next
For byear = 1940 To 1950
mtime(byear) = 60
ftime(byear) = 60
Next
For byear = 1970 To 1989
mtime(byear) = 65
ftime(byear) = 65
Next
For byear = 1946 To 1989
mnew(byear) = makemnew2(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout, mtime)
Next
For byear = 1946 To 1989
fnew(byear) = makefnew2(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout, ftime)
Next

For byear = 1990 To 2034
mtunew(byear) = makemtunew1(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta)
Next
For byear = 1990 To 2034
ftunew(byear) = makeftunew1(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta)
Next
For byear = 1941 To 1989
mtunew(byear) = makemtunew2(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout)
Next
For byear = 1941 To 1989
ftunew(byear) = makeftunew2(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout)
Next

For byear = 1990 To 2034
avgmtime(byear) = makeavgmtime1(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta)
Next
For byear = 1990 To 2034
avgftime(byear) = makeavgftime1(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta)
Next
For byear = 1946 To 1989
avgmtime(byear) = makeavgftime2(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout, mtime)
Next
For byear = 1946 To 1989
avgftime(byear) = makeavgftime2(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout, ftime)
Next

For byear = 1990 To 2034
avgtumtime(byear) = makeavgtumtime1(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta)
Next
For byear = 1990 To 2034
avgtuftime(byear) = makeavgtuftime1(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta)
Next
For byear = 1946 To 1989
avgtumtime(byear) = makeavgtuftime2(byear, m2by, mdeby, malpha, mbeta, mgamma, mtheta, minx, mout, mtime)
Next
For byear = 1946 To 1989
avgtuftime(byear) = makeavgtuftime2(byear, f2by, fdeby, falpha, fbeta, fgamma, ftheta, finx, fout, ftime)
Next

For byear = 1990 To 2034
avgmw(byear) = makeavgmw(byear, m2by, mdeby, mw, malpha, mbeta, mgamma, mtheta)
Next
For byear = 1990 To 2034
avgfw(byear) = makeavgfw(byear, f2by, fdeby, fw, falpha, fbeta, fgamma, ftheta)
Next

For byear = 1990 To 2034
avgtumw(byear) = makeavgtumw(byear, m2by, mdeby, mw, malpha, mbeta, mgamma, mtheta)
Next
For byear = 1990 To 2034
avgtufw(byear) = makeavgtufw(byear, f2by, fdeby, fw, falpha, fbeta, fgamma, ftheta)
Next

For year = 6 To 99
For age = 1 To 99
mj(year, age) = (1 - mjde(age - 1)) * mj(year - 1, age - 1)
fj(year, age) = (1 - fjde(age - 1)) * fj(year - 1, age - 1)
Next
For age = 60 To 65
byear = year + 2000 - age
If mtime(byear) = age Then mj(year, age) = mj(year, age) + mnew(byear)
Next
For age = 60 To 65
byear = year + 2000 - age
If ftime(byear) = age Then fj(year, age) = fj(year, age) + fnew(byear)
Next
Next

For year = 6 To 99
byear = year + 2000 - 65
For age = 1 To 99
mtu(year, age) = (1 - mjde(age - 1)) * mtu(year - 1, age - 1)
ftu(year, age) = (1 - fjde(age - 1)) * ftu(year - 1, age - 1)
Next
mtu(year, 65) = mtu(year, 65) + mtunew(byear)
ftu(year, 65) = ftu(year, 65) + ftunew(byear)
Next

For year = 6 To 99
For age = 1 To 99
mi(year, age) = (1 - mide(age - 1)) * mi(year - 1, age - 1)
fi(year, age) = (1 - fide(age - 1)) * fi(year - 1, age - 1)
Next
For age = 1 To 99
mi(year, age) = mi(year, age) + mjrate(age) * mjde(age) * mj(year, age)
fi(year, age) = fi(year, age) + fjrate(age) * fjde(age) * fj(year, age)
Next
For age = 15 To 69
mi(year, age) = mi(year, age) + m2rate(age) * malpha(age) * m2(year, age)
fi(year, age) = fi(year, age) + f2rate(age) * falpha(age) * f2(year, age)
Next
Next

For year = 5 To 99
For age = 65 To 99
kisoj(year, age) = m(year, age) + f(year, age)
Next
Next

For year = 5 To 98
z1 = 0
For age = 15 To 69
z1 = z1 + m1(year, age) + m2(year, age) + m3(year, age) + m4(year, age) + m5(year, age)
z1 = z1 + f1(year, age) + f2(year, age) + f3(year, age) + f4(year, age) + f5(year, age)
Next
z2 = 0
For age = 15 To 69
z2 = z2 + m1(year + 1, age) + m2(year + 1, age) + m3(year + 1, age) + m4(year + 1, age) + m5(year + 1, age)
z2 = z2 + f1(year + 1, age) + f2(year + 1, age) + f3(year + 1, age) + f4(year + 1, age) + f5(year + 1, age)
Next
prate(year) = z2 / z1 - 1
Debug.Print year, prate(year)
Next
startg(5) = 1
For year = 6 To 99
sr = -prate(year) + 0.003
If year < 12 Then sr = 0
If year > 38 Then sr = 0
startg(year) = (1 + 0.025 - sr) * startg(year - 1)
Next
For byear = 1945 To 2034
year = byear + 65 - 2000
slide(byear, 65) = startg(year)
For age = 66 To 99
year = byear + age - 2000
sr = -prate(year) + 0.003
If year < 12 Then sr = 0
If year > 38 Then sr = 0
slide(byear, age) = (1 + 0.01 - sr) * slide(byear, age - 1)
Next
For age = 60 To 64
slide(byear, age) = slide(byear, 65)
Next
Next
For byear = 1906 To 1944
startage = 2005 - byear
slide(byear, startage) = 1
For age = startage + 1 To 99
year = byear + age - 2000
sr = -prate(year) + 0.003
If year < 12 Then sr = 0
If year > 38 Then sr = 0
slide(byear, age) = (1 + 0.01 - sr) * slide(byear, age - 1)
Next
Next

For year = 5 To 99
z1 = 0
For age = 65 To 99
byear = year + 2000 - age
z1 = z1 + 0.8 * 80 * slide(byear, age) * kisoj(year, age)
Next
kiso(year) = z1 / 10 ^ 4
Next

For year = 5 To 99
For age = 20 To 59
f3(year, age) = f3rate(age) * m2(year, age)
Next
Next

For year = 5 To 99
For age = 20 To 59
f5(year, age) = f5rate(age) * m4(year, age)
Next
Next

For year = 5 To 99
For age = 20 To 59
m1(year, age) = m(year, age) - m2(year, age) - m3(year, age) - m4(year, age) - m5(year, age)
f1(year, age) = f(year, age) - f2(year, age) - f3(year, age) - f4(year, age) - f5(year, age)
Next
Next

For year = 5 To 99
a1 = 0
a2 = 0
For age = 20 To 59
a1 = a1 + m1(year, age) + m2(year, age) + m3(year, age) + m4(year, age) + m5(year, age)
a1 = a1 + f1(year, age) + f2(year, age) + f3(year, age) + f4(year, age) + f5(year, age)
a2 = a2 + m2(year, age) + m3(year, age)
a2 = a2 + f2(year, age) + f3(year, age)
Next
kyo(year) = kiso(year) * a2 / a1
Next

For year = 5 To 99
e1 = 0
For age = 1 To 99
byear = year + 2000 - age
w1 = 24 * slide(byear, age) * 12 * avgmw(byear) * avgmtime(byear) * jyo(byear) / 1000
e1 = e1 + w1 * mj(year, age)
w2 = 21 * slide(byear, age) * 12 * avgfw(byear) * avgftime(byear) * jyo(byear) / 1000
e1 = e1 + w2 * fj(year, age)
Next
rou(year) = e1 / 10 ^ 4
Next


For year = 5 To 99
e1 = 0
For age = 1 To 99
byear = year + 2000 - age
w1 = 24 * slide(byear, age) * 12 * avgtumw(byear) * avgtumtime(byear) * jyo(byear) / 1000
e1 = e1 + w1 * mtu(year, age)
w2 = 21 * slide(byear, age) * 12 * avgtufw(byear) * avgtuftime(byear) * jyo(byear) / 1000
e1 = e1 + w2 * ftu(year, age)
Next
tu(year) = e1 / 10 ^ 4
Next


End Sub
最終更新:2010年03月14日 16:08