見出し画像

#59 物量表からH23年岩手県重量単価初期値を推計

今回は、産業連関表の物量表(以下、「物量表」)のデータを整理していきます。

物量表からデータを抽出

物量表には、以下のようにデータが記載されています。

表59-1 平成23年物量表

行部門ごとに、列コード999900(TOTAL)がある行に数量と金額の合計値が記載されています。また、数量単位の記載がないのに注意ですね。

この行部門ごとに、列コード999900(TOTAL)がある行を、ワークシート「H23基本分類物量表」に転記していくプログラムを作成しました。

Sub 物量表データ転記()
	Dim wsOrg As Worksheet	' 転記元ワークシート
	Dim wsDes As Worksheet	' 転記先ワークシート
	Dim i As Long			' カウンター変数
	Dim rw As Long			' 行番号カウンター変数
	
	set wsOrg = Workbooks("H23物量表.ods").Worksheets("sheet1")
	set wsDes = Workbooks("H23物量表.ods").Worksheets("H23基本分類物量表")	
	rw = 2
	For i = 3 To Rows.Count
		If wsOrg.Cells(i, 3).Value = "999900" Then	' TOTALにさし当たったときの処理	
				wsDes.Cells(rw, 1).Value = wsOrg.Cells(i, 1).Value
				wsDes.Cells(rw, 2).Value = wsOrg.Cells(i, 2).Value
				wsDes.Cells(rw, 3).Value = wsOrg.Cells(i-1, 6).Value
				wsDes.Cells(rw, 4).Value = wsOrg.Cells(i, 7).Value
				wsDes.Cells(rw, 5).Value = wsOrg.Cells(i, 8).Value
				rw = rw + 1
		End If
	Next	
End Sub

実行結果は以下のようになります。

図59-1 コードの実行結果

物量表に重量が記載されている品目の重量単価[初期値]の推計

物量表のデータを抽出できたので、重量単価初期値を推計していきます。

まず、結合小分類のワークシートすべてに対して、産業内製品の生産単位が[t]の製品の重量と生産額を積み上げて、重量単価[初期値]を推計します。

つまり、先日投稿した、下記の1),2)の方法に則って推計を行っていきます。

1)産業内製品の生産単位が全て[t]または[g],[kg]の場合、[g],[kg]は[t]に変換して算出します。算出式は以下のようになります。

Ux = Mx / Tx   (2.1)
Ux : x産業の重量単価[円/t]
Mx : x産業の総生産額[円]
Tx : x産業の総生産量[t]

2)産業内製品の生産単位の一部が[t]または[g],[kg]の場合、その一部のみを用いて1)と同じように推計しました。

#49 部門別品目別国内生産額表よりH17年岩手県重量単価初期値を推計より

単位換算を用いて重量単価[初期値]を推計

分類コード0152(部門名:素材)

分類コード0152(部門名:素材)について、以前投稿した単位変換の表に換算値がありました。

表59-2 製品の単位変換

なので、「素材」については単位換算値(0.5[t/m3])を用いて、重量単価[初期値]を推計します。

分類コード1121(部門名:酒類)

酒類については、物量表では生産単位がklで記載されているので、ここでは、単位換算値を(先述の表にはありませんでしたが)1.0[t/kl]と仮定して重量単価[初期値]を推計しました。

部門別品目別国内生産額表、物量表から推計した重量単価初期値の一覧

部門別品目別国内生産額表および物量表から推計した重量単価初期値の一覧を作成します。

Sub 重量単価初期値一覧作成()
	Dim bunruiCode As String
	Dim i As Integer
	Dim code As String
	Dim pricePerTon As Double
	Dim wbOrg As Workbook
	Dim wbDes As Worksheet
	
	Set wbOrg = Workbooks("H23岩手県重量単価初期値推計.ods")
	Set wbDes = Workbooks("H23岩手県重量単価初期値一覧.ods").Worksheets("初期値一覧")
	
	For i = 2 To 133
		bunruiCode = wbDes.Cells(i, 1).Value
		code = wbOrg.Worksheets(bunruiCode).Cells(2, 1).Value
		pricePerTon = wbOrg.Worksheets(bunruiCode).Cells(2, 10).Value
		If pricePerTon <> 0 Then
			If Len(code) <= 7 Then
				wbDes.Cells(i, 3).Value = pricePerTon
				wbDes.Cells(i, 4).Value = "物量表より"
			ElseIf Len(code) = 10 Then
				wbDes.Cells(i, 3).Value = pricePerTon
				wbDes.Cells(i, 4).Value = "部門別品目別国内生産額表より"
			EndIf
		EndIf
	Next
End Sub

実行結果は以下のようになります。

表59-3 重量単価初期値一覧


サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪