見出し画像

#92 「経済センサス」のデータ整理作業(その1)

今回の投稿は、県内生産額の推計の際に指標として用いることが多くなる、「経済センサス」のデータ整理作業についてです。

「経済センサス - 活動調査」 のデータを整理

最初に、「平成28年経済センサス‐活動調査」のデータを整理していきます。なお、産業分類は小分類になります。

本研究では、結合小分類(部門数約190)の都道府県産業連関表を作成するので、「経済センサス」の小分類のデータを使用することになると考えられます。

「#80 「経済センサス」の元データを小分類のおける
産業名の項目欄のみとした表に作り替える」

不要項目を削除

経済産業省・総務省「平成28年経済センサス‐活動調査 事業所に関する集計 産業横断的集計」の表番号 7-2 「産業(小分類),従業者規模(15区分),単独・本所・支所(3区分),経営組織(4区分),従業上の地位(6区分),男女別従業者数―全国」から、全国の小分類での従業者数のデータをダウンロードします。

同様に、経済産業省・総務省「平成28年経済センサス‐活動調査 事業所に関する集計 産業横断的集計」の表番号 17-2「産業(小分類),従業者規模(8区分),経営組織(7区分),男女別従業者数及び出向・派遣従業者数―全国,都道府県」から、岩手県の小分類での従業者のデータをダウンロードします。

ダウンロードしたデータにおいて、産業分類名の

  • 1文字目がアルファベット

  • 1文字目が「@」

  • 1文字目と2文字目が数字かつ3文字目がアルファベット

を含む行は「不要項目」となるので、削除していきます。

VBAのコードは、以下のようになります。

Sub 不要項目の削除()
	Dim ws As Worksheet
	Dim i As Integer
	
	Set ws = Workbooks("H28経済センサス_民営_従業者数_全国_小分類.ods").Worksheets("Sheet1")
	
	For i = 745 To 2 Step -1
		' 産業分類名の1文字目がアルファベットであるセルを含む行を削除
		If ws.Cells(i, 1).Value Like "[A-Z]*" Then
			ws.Cells(i, 1).EntireRow.Delete
		EndIf
		' 産業分類名の1文字目が「@」であるセルを含む行を削除
		If ws.Cells(i, 1).Value Like "@*" Then
			ws.Cells(i, 1).EntireRow.Delete
		EndIf
		' 産業分類名の1文字目と2文字目が数字かつ3文字目がアルファベットであるセルを含む行を削除
		If ws.Cells(i, 1).Value Like "[0-9][0-9][A-Z]*" Then
			ws.Cells(i, 1).EntireRow.Delete
		EndIf
	Next
End Sub

同様に、岩手県のデータでも不要項目を削除します。

「管理、補助的経済活動を行う事業所」の従業者数への対処

次に、三好(2020)が言及している、小分類にある「管理、補助的経済活動を行う事業所」の従業者数についての処理を行います。

三好ゆう(2020)『ノン・サーベイ法による市町村産業連関表の作成と課題―京都府内全26市町村の「市内生産額」の推計から―』福知山公立大学研究紀要2020,4巻 1号 ,pp.185 - 208

小分類にある「管理、補助的経済活動を行う事業所」の従業者数について、これ以外の各産業が中分類に占める割合を「管理、補助的経済活動を行う事業所」の数値に乗じ、それを足し合わせた数値を小分類での各産業の数値とする。こうして「経済センサス」の元データを、小分類における産業名の項目欄のみとした表に作り替えるのである。

三好ゆう(2020)『ノン・サーベイ法による市町村産業連関表の作成と課題
―京都府内全26市町村の「市内生産額」の推計から―』

「管理、補助的経済活動を行う事業所」の従業者数への処理を行うコードは、以下のようになります。

Sub 管理補助的経済活動を行う事業所への対処()
	Dim ws As Worksheet
	Dim num  As Long
	Dim S_num As String
	Dim k_String As String
	Dim k_employee As Long
	Dim m_employee As Double
	Dim s_employee As Double
	Dim ratio As Double
	Dim i As Integer
	Dim j As Integer
	Dim k As Integer
	
	Set ws = Workbooks("H28経済センサス_民営_従業者数_全国_小分類.ods").Worksheets("Sheet1")
	
	For i = 2 To 615
		If ws.Cells(i, 1).Value Like "##" & "[!0-9]*" Then
			num = Val(ws.Cells(i, 1).Value)
			If num < 10 Then
				S_num = "0" & CStr(num)
			Else
				S_num = CStr(num)
			End If
			m_employee = ws.Cells(i, 2).Value
		For j = 2 To 615
			If ws.Cells(j, 1).Value Like S_num & "0*" Then
				k_employee = ws.Cells(j, 2).Value
				For k = 2 To 615
					If ws.Cells(k, 1).Value Like S_num & "[1-9]*" Then
						s_employee = ws.Cells(k, 2).Value
						ratio = s_employee / m_employee
						ws.Cells(k, 2).Value = s_employee + k_employee * ratio
					End If
				Next
			End If
		Next
	End If
	Next
	' 「管理、補助的経済活動を行う事業所」を含む行をすべて削除
	For i = 615 To 2 Step -1
		If ws.Cells(i, 1).Value Like "##" & "0*" Then
			ws.Cells(i, 1).EntireRow.Delete
		EndIf
	Next		
	' 中分類をすべて削除
	For i = 615 To 2 Step -1
		If Not(ws.Cells(i, 1).Value Like "###*") Then
			ws.Cells(i, 1).EntireRow.Delete
		EndIf
	Next
End Sub

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

表92-1 「管理、補助的経済活動を行う事業所」の従業者数への対処後(一部)

同様の処理を、岩手県のデータでも行います。

産業分類名を「分類符号」と「産業分類名」に分割する

今の段階では、産業分類名に「分類符号(数字3桁)」と「産業分類名」が同じセル内に収まっています。そこで、「分類符号」と「産業分類名」とに分割し、それぞれを違う列に格納します。

VBAのコードは、以下のようになります。

Sub 最初の数字3桁と産業分類名を分割して別々の列に格納()
	Dim wsOrg As Worksheet
	Dim wsDes As Worksheet
	Dim i As Integer
	Dim num  As Long
	Dim code As String
	Dim iname As String
	
	Set wsOrg = Workbooks("H28経済センサス_民営_従業者数_全国_小分類.ods").Worksheets("Sheet1")
	Set wsDes = Workbooks("H28経済センサス_民営_従業者数_全国_小分類.ods").Worksheets("Sheet2")
	For i = 2 To 427
		num = Val(wsOrg.Cells(i, 1).Value)
		If num < 100 Then
			code = "0" & CStr(num)
		Else
			code = CStr(num)
		End If
		iname = Replace(wsOrg.Cells(i, 1).Value, code, "")
		wsDes.Cells(i, 1).NumberFormatLocal = "@"	' セルの書式を「文字」に設定
		wsDes.Cells(i, 1).Value = code
		wsDes.Cells(i, 2).Value = iname
		wsDes.Cells(i, 3).Value = wsOrg.Cells(i, 2).Value
	Next
End Sub

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

表92−2 「分類符号」と「産業分類名」とに分割した後の表(一部)

同様の作業を、岩手県のデータでも行います。

民営以外の事業所の従業者数について

「経済センサス−基礎調査を用いた」推計方法

民営事業所に関しては「経済センサス-活動調査」を用いることができるが、そこには民営以外 ( 例えば、国と地方の公共団体(公的部門) )の事業所の従業者数は含まれていない。そのため、これを補うために「経済センサス-基礎調査」を用いることになるが、その際、調査年のズレを調整する必要がある。たとえば、平成 23 年版の市町村産業連関表を作成する場合、民営以外の事業所の従業者数については、「平成 21 年 経済センサス-基礎調査」と「平成 26 年 経済センサス-基礎調査」を用いて、直線補間法により平成 23 年の産業別従業者数を推計する必要がある。

三好ゆう(2020)『ノン・サーベイ法による市町村産業連関表の作成と課題
―京都府内全26市町村の「市内生産額」の推計から―』

今回は、平成27年版の産業連関表を作成するので、民営以外の事業所の従業者数については、「平成26年 経済センサス−基礎調査」と「平成27年以降の経済センサス−基礎調査」を用いる必要があります。

ここで、「平成27年以降の」と書いたのは、2020年3月23日現在で、民営以外の事業所の従業者数についての統計データがまだ公表されていないからです。

平成27年以降の経済センサス−基礎調査」に該当するのは、令和2年及び令和元年に実施されたものになりますが、どちらも、民営以外の事業所の従業者数について、統計データが公表されていません

「経済センサス」のデータ整理作業を一時中断

なので、民営以外の事業所の従業者数についての統計データが公表されるまでは、「経済センサス」を使用しないで県内生産額の推計が可能な部門の推計作業を継続していくことにします。

そして、民営以外の事業所の従業者数についての統計データが公表され次第、「経済センサス」のデータ整理の作業を再開することにします。

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