3
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GASで始める在庫管理

Last updated at Posted at 2019-05-11

友達と飲んでた時に「社で在庫管理がヤバくって、こっちでエクセルで管理してるけどなんか不便やねんなぁ…。どないかならんか。」と聞かれたのでスプレッドシートでやればよいんじゃね?となってやった話をします。

#前提条件
・Python,Rは触ったことあるものの、GAS全く分からん。
・ググり力を信じて頑張る。
・諸諸の設定は無視する。
・「在庫数とかはこっちで聞き取って手打ち。マジでエクセルにベタうちしてるだけ。」

#最初にやったこと
・SpreadSheetを作って送り付ける。
→気を付けたこととしては一応在庫の%表示して条件式突っ込んで色付けた。

#相手からの返答
・これめっちゃええんやけども、在庫数やばくなったとき通知とか来たら嬉しいんやけど…。どないかならんか。

#本題
SpreadSheetの在庫の%の項目が50%切ってたらメールを送る。

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();
  for (var i=2; i<=lastRow; i++) {
    total = sheet.getRange(i, 5).getValue()
    if (total >= 0.3) {
      MailApp.sendEmail('(メアド)', '在庫のお知らせテストです。', '在庫が少なくなっています。注文お願いします。');
     break;
    }
  }
}

E2セルに在庫率を持ってて、そこの値で通知がいくようにしました。あとはもっといい方法ある気がするけど良かったですね。あとはイベントトリガーでセルの更新でFin.

#蛇足
・最初ifから抜けるbreak;忘れてて只の激やばメール送信Botになった。
・列方向の操作がちょっと難しかった。
・作成にかかったのSpreadSheetから大体3時間くらい。
・無駄なコードがある気がするけどどうなんか知りたいのでコメントください。

#参考
メールの送信方法: GASでのメール送信についてまとめてみる

全般: 割と役に立つプログラミング言語 Google Apps Script (GAS) の紹介

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?