見出し画像

Googleスプレッドシートで業務を効率化(14):【物販の副業してる方向け】在庫管理表の作り方

今回利用したスクリプトのコードになります。動画の中で使い方を説明していますのでぜひご活用ください。

function createPlaceList() {
  var formSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('フォームの回答 1');
  var lastRow = formSheet.getLastRow();
  var placeArray = {};
  for (var i=2; i<=lastRow; i++) {
    var key = formSheet.getRange(i,7).getValue()+"-"+
              formSheet.getRange(i,8).getValue()+"-"+
              formSheet.getRange(i,9).getValue()+"-"+
              formSheet.getRange(i,3).getValue()+"-"+
              formSheet.getRange(i,4).getValue();
    if(Object.keys(placeArray).indexOf(key) != -1) {
      placeArray[key] += ","+formSheet.getRange(i,10).getValue();
    } else {
      placeArray[key] = formSheet.getRange(i,10).getValue();
    }
  }
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  var place1Names = ["スチールラック1(商品部屋右側)","スチールラック2(商品部屋左側)","無印ボックス"];
  var place2Names = ["一番上","上から2番目","上から3番目","一番下"];
  var place3Names = ["右側","中央","左側"];
  var goodsNames = ["バッグ","時計","カメラ"];
  var statusNames = ["入荷","出庫"];
  var count = 2;
  for(var i in place1Names){
    for(var j in place2Names){
      for(var k in place3Names){
        for(var l in goodsNames){
          for(var m in statusNames){
            var key = place1Names[i] + "-" + place2Names[j] + "-" + place3Names[k] + "-" + goodsNames[l] + "-" + statusNames[m];
            if(Object.keys(placeArray).indexOf(key) != -1) {
              sheet.getRange(count,1).setValue(place1Names[i]);
              sheet.getRange(count,2).setValue(place2Names[j]);
              sheet.getRange(count,3).setValue(place3Names[k]);
              sheet.getRange(count,4).setValue(goodsNames[l]);
              sheet.getRange(count,5).setValue(statusNames[m]);
              sheet.getRange(count,6).setValue(placeArray[key]);
              count++;
            }
          }
        }
      }
    }
  }

  Browser.msgBox("シートを追加しました。");
}

インストールがうまくいかない!などにつきましては以下のサイトからお気軽にお問い合わせください。


この記事が気に入ったらサポートをしてみませんか?