郵便番号から都道府県コードを取得

[郵便番号から都道府県を判定](https://zekiom.net/programming/prefcode)
こちらのサイトを参考に、
スプレットシート上の郵便番号から都道府県コードを取得するGASコードを作成してみました。

<font color="Red">**※参考サイトでも指摘されている通り、一部の郵便番号で正しく都道府県を取得できないケースが存在します**</font>

```javascript
function myFunction() {

  var spSheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet(); // アクティブシート
  
  for (var i=1; i<100; i++) {
    var yubin = sheet.getRange(i, 1).getValue()
    sheet.getRange(i, 2).setValue(getPrefCode(yubin))
  }
}

function getPrefCode(zipcode) {
  var pref;
  switch (true) {
    case /^0(0|[4-9])/.test(zipcode):
      pref = '1'; // 北海道
      break;
    case /^01/.test(zipcode):
      pref = '5'; // 秋田県
      break;
    case /^02/.test(zipcode):
      pref = '3'; // 岩手県
      break;
    case /^03/.test(zipcode):
      pref = '2'; // 青森県
      break;
    case /^1/.test(zipcode):
    case /^20/.test(zipcode):
      pref = '13'; // 東京都
      break;
    case /^2[1-5]/.test(zipcode):
      pref = '14'; // 神奈川県
      break;
    case /^2[6-9]/.test(zipcode):
      pref = '12'; // 千葉県
      break;
    case /^3[0-1]/.test(zipcode):
      pref = '8'; // 茨城県
      break;
    case /^32/.test(zipcode):
      pref = '9'; // 栃木県
      break;
    case /^3[3-6]/.test(zipcode):
      pref = '11'; // 埼玉県
      break;
    case /^37/.test(zipcode):
      pref = '10'; // 群馬県
      break;
    case /^3[8-9]/.test(zipcode):
      pref = '20'; // 長野県
      break;
    case /^40/.test(zipcode):
      pref = '19'; // 山梨県
      break;
    case /^4[1-3]/.test(zipcode):
      pref = '22'; // 静岡県
      break;
    case /^4[4-9]/.test(zipcode):
      pref = '23'; // 愛知県
      break;
    case /^50/.test(zipcode):
      pref = '21'; // 岐阜県
      break;
    case /^51/.test(zipcode):
      pref = '24'; // 三重県
      break;
    case /^52/.test(zipcode):
      pref = '25'; // 滋賀県
      break;
    case /^5[3-9]/.test(zipcode):
      pref = '27'; // 大阪府
      break;
    case /^6[0-2]/.test(zipcode):
      pref = '26'; // 京都府
      break;
    case /^63/.test(zipcode):
      pref = '29'; // 奈良県
      break;
    case /^64/.test(zipcode):
      pref = '30'; // 和歌山県
      break;
    case /^6[5-7]/.test(zipcode):
      pref = '28'; // 兵庫県
      break;
    case /^68/.test(zipcode):
      pref = '31'; // 鳥取県
      break;
    case /^69/.test(zipcode):
      pref = '32'; // 島根県
      break;
    case /^7[0-1]/.test(zipcode):
      pref = '33'; // 岡山県
      break;
    case /^7[2-3]/.test(zipcode):
      pref = '34'; // 広島県
      break;
    case /^7[4-5]/.test(zipcode):
      pref = '35'; // 山口県
      break;
    case /^76/.test(zipcode):
      pref = '37'; // 香川県
      break;
    case /^77/.test(zipcode):
      pref = '36'; // 徳島県
      break;
    case /^78/.test(zipcode):
      pref = '39'; // 高知県
      break;
    case /^79/.test(zipcode):
      pref = '38'; // 愛媛県
      break;
    case /^8[0-3]/.test(zipcode):
      pref = '40'; // 福岡県
      break;
    case /^84/.test(zipcode):
      pref = '41'; // 佐賀県
      break;
    case /^85/.test(zipcode):
      pref = '42'; // 長崎県
      break;
    case /^86/.test(zipcode):
      pref = '43'; // 熊本県
      break;
    case /^87/.test(zipcode):
      pref = '44'; // 大分県
      break;
    case /^88/.test(zipcode):
      pref = '45'; // 宮崎県
      break;
    case /^89/.test(zipcode):
      pref = '46'; // 鹿児島県
      break;
    case /^90/.test(zipcode):
      pref = '47'; // 沖縄県
      break;
    case /^91/.test(zipcode):
      pref = '18'; // 福井県
      break;
    case /^92/.test(zipcode):
      pref = '17'; // 石川県
      break;
    case /^93/.test(zipcode):
      pref = '16'; // 富山県
      break;
    case /^9[4-5]/.test(zipcode):
      pref = '15'; // 新潟県
      break;
    case /^9[6-7]/.test(zipcode):
      pref = '7'; // 福島県
      break;
    case /^98/.test(zipcode):
      pref = '4'; // 宮城県
      break;
    case /^99/.test(zipcode):
      pref = '6'; // 山形県
      break;
    default:
      pref = 'unknown';
  }
  return pref;
}
```