![見出し画像](https://assets.st-note.com/production/uploads/images/72633596/rectangle_large_type_2_28ebe6a5a331f4e65e5512d881e8e2e6.png?width=1200)
Googleスプレッドシートで業務を効率化(16):売上管理を無料でやりたい人向けオススメカスタマイズ3選
今回利用したスクリプトのコードになります。動画の中で使い方を説明していますのでぜひご活用ください。
function putCell() {
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
var purchase_price_cell = 0;
var celling_price_cell = 0;
var profit_cell = 0;
var profit_rate_cell = 0;
for(i=1;i<=lastColumn;i++) {
var name = sheet.getRange(1,i).getValue();
if(name == '仕入価格') {
purchase_price_cell = i;
}
else if(name == '販売価格') {
celling_price_cell = i;
}
else if(name == '利益') {
profit_cell = i;
}
else if(name == '利益率') {
profit_rate_cell = i;
}
}
var profit = "=" + String.fromCharCode(65 + celling_price_cell - 1) + "" + lastRow + "-" + String.fromCharCode(65 + purchase_price_cell - 1) + "" + lastRow;
sheet.getRange(lastRow, profit_cell).setValue(profit);
var profitrate = "=" + String.fromCharCode(65 + profit_cell - 1) + lastRow + "/" + String.fromCharCode(65 + celling_price_cell - 1) + lastRow + "*100";
sheet.getRange(lastRow, profit_rate_cell).setValue(profitrate);
}
function getMonthlyProfit() {
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
var monthlyProfit = {};
for(i=2;i<=lastRow;i++) {
var date = sheet.getRange(i,1).getDisplayValue();
var ymd = date.split("/");
var key = ymd[0]+"/"+ymd[1];
if(monthlyProfit[key]) {
monthlyProfit[key] += Number(sheet.getRange(i,7).getValue());
} else {
monthlyProfit[key] = Number(sheet.getRange(i,7).getValue());
}
}
for(i=1;i<=3;i++) {
var key = Utilities.formatString("2022/%02d",i);
if(monthlyProfit[key]) {
sheet.getRange(1+i,12).setValue(monthlyProfit[key]);
}
}
}
インストールがうまくいかない!などにつきましては以下のサイトからお気軽にお問い合わせください。