#81 「経済センサス―活動調査」から民営以外の事業所の従業者数を推計

#79から、三好(2020)を紐解きながら、経済センサスを用いた従業者数のデータの整備に着手しています。

https://note.com/toshiyamiyazaki/n/n4dbd551edc58

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

前回の投稿(#80)では、「経済センサス」の産業分類を「産業連関表」の対応する部門に振り分ける作業における留意点(その1)を紹介し、実際に作業を開始しました。

https://note.com/toshiyamiyazaki/n/na612f0f96926

今回は、上記作業における留意点(その2)について紐解き、実際に作業を行っていきます。

作業上の留意点(その2)

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

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

全国における平成23年の産業別公的部門の従業者数を推計

「経済センサス―基礎調査」の公的部門のデータから、大分類及び「数字2桁」+「アルファベット」の行を削除

まず、「経済センサス―基礎調査」がどのような統計資料なのか、見てみることにします。

平成21年経済センサス-基礎調査 事業所に関する集計 表番号00403 表題産業(小分類),経営組織(2区分)国・地方公共団体,従業上の地位(6区分),男女別従業者数-全国には、国と地方の公共団体(公的部門)の事業所の従業者数のデータが記載されているようです。

上記のデータをダウンロードして、一部を抜粋すると、以下のようになります。

図81-1 事業所に関する集計 表番号00403の公的部門の事業所の従業者数のデータ

赤枠で囲った行は大分類での従業者数のデータなので、削除しても良いと考えられます。

また、青枠で囲った行は、産業分類名が「数字2桁」+「アルファベット」で始まり、「経済センサス―活動調査」の民営事業所のデータには見られなかったパターンです。

上記の例では、「58A料理品小売業」と「58B他に分類されない飲食料品小売業」は、直近の行にある「589その他の飲食料品小売業」の内訳と考えられ、合計すると確かに、「589その他の飲食料品小売業」に一致します。

よって、これらの産業分類名が「数字2桁」+「アルファベット」で始まる行も削除しても良いと考えられます。

赤枠(大分類)及び青枠(産業分類名が「数字2桁」+「アルファベット」で始まる)の行を削除するVBAのコードは、以下のようになります。

Sub 大分類及び数字2桁とアルファベット1文字で始まる行を削除()
    Dim ws As Worksheet

    Set ws = Workbooks("H21経済センサス_国地方公共団体_従業者数_全国_小分類.ods").Worksheets("sheet1")    

    For i = 300 To 2 Step -1
        If ws.Cells(i, 2).Value Like "[A-Z]*" Or ws.Cells(i, 2).Value Like "@*" Or ws.Cells(i, 2).Value Like "##[A-Z]*" Then
            ws.Cells(i, 2).EntireRow.Delete
        EndIf
    Next    
End Sub

「管理、補助的経済活動を行う事業所」の従業者数をそれ以外の産業に割り振る

作業中のワークシートには、「管理、補助的経済活動を行う事業所」の行が含まれています。なので、作業上の留意点(その1)と同様に、「管理、補助的経済活動を行う事業所」の従業者数をそれ以外の産業に割り振ります。

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

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("H21経済センサス_国地方公共団体_従業者数_全国_小分類.ods").Worksheets("sheet1")
    For i = 2 To 205
        If ws.Cells(i, 2).Value Like "##" & "[!0-9]*" Then
            num = Val(ws.Cells(i, 2).Value)
            If num < 10 Then
                S_num = "0" & CStr(num)
            Else
                S_num = CStr(num)
            End If
            m_employee = ws.Cells(i, 3).Value
            For j = 2 To 205
                If ws.Cells(j, 2).Value Like S_num & "0*" Then
                    k_employee = ws.Cells(j, 3).Value
                    For k = 2 To 205
                        If ws.Cells(k, 2).Value Like S_num & "[1-9]*" Then
                            s_employee = ws.Cells(k, 3).Value
                            ratio = s_employee / m_employee
                            ws.Cells(k, 3).Value = s_employee + k_employee * ratio
                        End If
                    Next
                End If
            Next
        End If
    Next
    ' 「管理、補助的経済活動を行う事業所」を含む行をすべて削除
    For i = 205 To 2 Step -1
        If ws.Cells(i, 2).Value Like "##" & "0*" Then
            ws.Cells(i, 2).EntireRow.Delete
        EndIf
    Next        
    ' 中分類をすべて削除
    For i = 205 To 2 Step -1
        If Not(ws.Cells(i, 2).Value Like "###*") Then
            ws.Cells(i, 2).EntireRow.Delete
        EndIf
    Next
End Sub

これまで、「平成21年 経済センサス―基礎調査」において、公的部門の従業者数を算出してきました。

同じ作業を、「平成26年 経済センサス―基礎調査」でも実行します。

ダウンロードするデータは、平成26年経済センサス‐基礎調査 事業所に関する集計 表番号 03103 表題 産業(小分類)、経営組織(2区分)別従業上の地位(3区分)、男女別従業者数-全国(国、地方公共団体)です。

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

今の段階で、平成21年、平成26年のデータともに、産業分類名に「分類符号(数字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("H21経済センサス_国地方公共団体_従業者数_全国_小分類.ods").Worksheets("sheet1")
    Set wsDes = Workbooks("H21経済センサス_国地方公共団体_従業者数_全国_小分類.ods").Worksheets("sheet2")
    For i = 2 To 133
        num = Val(wsOrg.Cells(i, 2).Value)
        If num < 100 Then
            code = "0" & CStr(num)
        Else
            code = CStr(num)
        End If
        iname = Replace(wsOrg.Cells(i, 2).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, 3).Value
    Next
End Sub

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

図81−2 数字3桁と部門名を分割した状態

平成26年のデータにも、同様の作業を行っていきます。

小分類の分類符号を全て作成

次に、平成23年の公的部門の事業所の従業者数を計算するためのワークシートを用意します。

「管理、補助的経済活動を行う事業所」(分類符号の3桁目が「0」)を除いた小分類がすべて格納できるように、分類符号(code;数字3桁)を作成していきます。

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

Sub 小分類全てのcode作成()
    Dim ws As Worksheet
    Dim i As Integer
    Dim row As Integer
    Set ws = Workbooks("H23_公的部門_従業者数_全国_小分類.ods").Worksheets("sheet1")
    row = 2
    ' 011〜999のcodeを作成
    For i = 11 To 999
        If i < 100 Then
            ws.Cells(row, 1).Value = "0" & CStr(i)
        Else
            ws.Cells(row, 1).Value = CStr(i)
        End If
        row = row + 1
    Next
    ' 3桁目が「0」のcodeの行を削除
    For i = 990 To 2 Step -1
        If ws.Cells(i, 1).Value Like "##0*" Then
             ws.Cells(i, 1).EntireRow.Delete
        End If
    Next
End Sub

直線補完法により平成23年の公的部門の産業別従業者を推計

続いて、平成21年の公的部門の従業者数、平成26年の従業者数のデータを格納し、直線補完法により平成23年の公的部門の産業別従業者を推計していきます。

推計式を再掲します。

$$
\begin{array}{}平成23年 従業者数 = 平成21年 従業者数 +{(平成26年 従業者数) - (平成21年 従業者数)}× \frac{平成23年から平成21年までの3年}{平成26年から平成21年までの5年}\end{array}
$$

Sub 直線補完法により平成23年の産業別従業者数を推計()
    Dim wsOrg1 As Worksheet
    Dim wsOrg2 As Worksheet
    Dim wsDes As Worksheet
    Dim i As Integer
    Dim j As Integer

    Set wsOrg1 = Workbooks("H21経済センサス_国地方公共団体_従業者数_全国_小分類.ods").Worksheets("sheet2")
    Set wsOrg2 = Workbooks("H26経済センサス_国地方公共団体_従業者数_全国_小分類.ods").Worksheets("sheet2")
    Set wsDes = Workbooks("H23_公的部門_従業者数_全国_小分類.ods").Worksheets("sheet1")

    ' 平成21年の公的部門の従業者数を格納
    For i = 2 To 892
        For j = 2 To 133
            If wsDes.Cells(i, 1).Value = wsOrg1.Cells(j, 1).Value Then
                wsDes.Cells(i, 3).Value = wsOrg1.Cells(j, 3).Value
            End If
        Next
    Next
    ' 平成26年の公的部門の従業者を格納
    For i = 2 To 892
        For j = 2 To 142
            If wsDes.Cells(i, 1).Value = wsOrg2.Cells(j, 1).Value Then
                wsDes.Cells(i, 4).Value = wsOrg2.Cells(j, 3).Value
            End If
        Next
    Next    
    ' 直線補完法により平成23年の産業別従業者数を推計
    For i = 2 To 892
        wsDes.Cells(i, 5).Value = wsDes.Cells(i, 3).Value + (wsDes.Cells(i, 4).Value - wsDes.Cells(i, 3).Value) * 3 / 5
    Next
End Sub

これで、全国における平成23年の産業別従業者数を推計することができました。

岩手県における平成23年の産業別公的部門の従業者数を推計

同様の方法で、岩手県における平成23年の産業別従業者数を推計していきます。

平成21年経済センサス-基礎調査 事業所に関する集計 表番号11001 表題産業(小分類),従業者規模(6区分),経営組織(4区分)別民営以外の事業所数及び男女別従業者数-都道府県より、岩手県における平成21年の公的部門の産業別従業者のデータをダウンロードします。

また、岩手県における平成26年の公的部門の産業別従業者数のデータは、平成26年経済センサス‐基礎調査 事業所に関する集計 表番号09100 表題産業(小分類)、経営組織(4区分)別事業所数、男女別従業者数及び常用雇用者数(国及び地方公共団体)-都道府県からダウンロードします。

「経済センサス―基礎調査」の公的部門のデータから、大分類及び「数字2桁」+「アルファベット」の行を削除

大分類及び産業分類名が「数字2桁」+「アルファベット」で始まる行を削除します。VBAのコードは割愛します。

「管理、補助的経済活動を行う事業所」の従業者数をそれ以外の産業に割り振る

作業中のワークシートには、「管理、補助的経済活動を行う事業所」の行が含まれています。なので、作業上の留意点(その1)と同様に、「管理、補助的経済活動を行う事業所」の従業者数をそれ以外の産業に割り振ります。

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

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("H21経済センサス_国地方公共団体_従業者数_岩手県_小分類.ods").Worksheets("sheet1")
    For i = 2 To 221
        If ws.Cells(i, 2).Value Like "##" & "[!0-9]*" Then
            num = Val(ws.Cells(i, 2).Value)
            If num < 10 Then
                S_num = "0" & CStr(num)
            Else
                S_num = CStr(num)
            End If
            m_employee = ws.Cells(i, 3).Value
            If m_employee = 0 Then
                Goto Continue
            Else
                For j = 2 To 221
                    If ws.Cells(j, 2).Value Like S_num & "0*" Then
                        k_employee = ws.Cells(j, 3).Value
                        For k = 2 To 221
                            If ws.Cells(k, 2).Value Like S_num & "[1-9]*" Then
                                s_employee = ws.Cells(k, 3).Value
                                ratio = s_employee / m_employee
                                ws.Cells(k, 3).Value = s_employee + k_employee * ratio
                            End If
                        Next
                    End If
                Next
            End If
        End If
    Continue:
        Next
    ' 「管理、補助的経済活動を行う事業所」を含む行をすべて削除
    For i = 221 To 2 Step -1
        If ws.Cells(i, 2).Value Like "##" & "0*" Then
            ws.Cells(i, 2).EntireRow.Delete
        EndIf
    Next        
    ' 中分類をすべて削除
    For i = 221 To 2 Step -1
        If Not(ws.Cells(i, 2).Value Like "###*") Then
            ws.Cells(i, 2).EntireRow.Delete
        EndIf
    Next
End Sub

Continueを使用して、中分類の従業者数が0の場合は、ループをスキップするようにしました。

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

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

VBAのコードは、全国の推計時に使用したものと変わらないので、割愛します。

小分類の分類符号を全て作成

次に、平成23年の公的部門の事業所の従業者数を計算するためのワークシートを用意します。

「管理、補助的経済活動を行う事業所」(分類符号の3桁目が「0」)を除いた小分類がすべて格納できるように、分類符号(code;数字3桁)を作成していきます。

VBAのコードは、割愛します。

直線補完法により平成23年の公的部門の産業別従業者を推計

続いて、平成21年の公的部門の従業者数、平成26年の従業者数のデータを格納し、直線補完法により平成23年の公的部門の産業別従業者を推計していきます。

推計式を再掲します。

$$
\begin{array}{}平成23年 従業者数 = 平成21年 従業者数 +{(平成26年 従業者数) - (平成21年 従業者数)}× \frac{平成23年から平成21年までの3年}{平成26年から平成21年までの5年}\end{array}
$$

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です