![見出し画像](https://assets.st-note.com/production/uploads/images/139873361/rectangle_large_type_2_3a9e562948ffde0021e0feea683129f5.jpeg?width=1200)
「GAS×Siri」 アプリも開かない家計簿
家計簿という言葉が出ると、あっ忘れてたとなる人
Siriを起動して、Siriに話しかけながら基本情報を入力するだけで、スプレッドシートで分析できるようになっているそんな機能あったらなっで作りました。
参考にしてみてください。
🧡使い道
•基本→電子決算(paypay or QUICPay)で集計
•現金を出さなければいけない時→Siriで集計
月末、両方を合算して振り返り
💛完成イメージ
ショートカットを開くバージョン
![](https://assets.st-note.com/production/uploads/images/139865644/picture_pc_635e7d0ec0508c0e1f119922b27e7191.gif)
スプレッドシートの内容↓(月1これで分析)
![](https://assets.st-note.com/img/1715088744068-ZWDpnXInkX.png?width=1200)
これだけ!めんどくさがりにはちょうどいいです
もちろん、「Hey!Siri、家計簿」で音声のみの入力も可能!
💚設定各項目
--スプレッドシートの設定
項目のみ設定をしておきましょう。グラフは後ほどです。
![](https://assets.st-note.com/img/1714957070645-wBEIIu8wsl.png?width=1200)
![](https://assets.st-note.com/img/1714974953707-aMLuIziuvf.png?width=1200)
--GAS設定
Google Apps ScriptにGASコードを記載します。
![](https://assets.st-note.com/img/1714957086331-7OpU3kQhAs.png?width=1200)
「ここ変更①」→スプレッドシートのIDを載せます。が注意が必要です。
/d/の後ろから、/editの前をコピー例:https://docs.google.com/spreadsheets/d/12zqKXIQuh3r8/edit#gid=0
function doPost(e) {
var params = JSON.parse(e.postData.getDataAsString());
var itemData = params.item;
var person = params.person;
var price = params.price;
// ショートカットに返すメッセージを格納する為の変数
var result = {};
var output = ContentService.createTextOutput();
output.setMimeType(ContentService.MimeType.JSON);
// 情報が問題なく送られてきてるかの判定
if (itemData){
result = {
"success" : {
"message" : "スプレッドシートへの記録が完了しました"
}
};
// 情報があればスプレッドシートへ記録する
addLog( JSON.stringify(itemData), person,price ); // メッセージも追加
} else {
result = {
"error": {
"message": "データがありません"
}
};
}
// ショートカットにメッセージを返す
output.setContent(JSON.stringify(result));
return output;
}
function addLog(itemDataText, person,price) {
// 記録するスプレッドシートを指定
var spreadsheetId = "「ここ変更①」"; // スプレッドシートID(ここ変更)
var sheetName = "シート1"; // スプレッドシート名
var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
var sheet = spreadsheet.getSheetByName(sheetName);
// 記録する箇所の列幅を指定
var firstColumnSize = 150; // 1列目の列幅
var secondColumnSize = 150; // 2列目の列幅
var thirdColumnSize = 100; // 3列目の列幅
var fourColumnSize = 100; // 4列目の列幅
sheet.setColumnWidth(1,firstColumnSize);
sheet.setColumnWidth(2,secondColumnSize);
sheet.setColumnWidth(3,thirdColumnSize);
sheet.setColumnWidth(4,fourColumnSize);
// ショートカットから送信された情報とメッセージをスプレッドシートに記録
sheet.appendRow([new Date(), itemDataText,person, price]); // メッセージも追加
var range = sheet.getDataRange();
range.setHorizontalAlignment("left");
// 文字を左揃えに統一
}
このコードをコピーしてURLを発行するためにデプロイを行います。
デプロイ→新しいデプロイ
![](https://assets.st-note.com/img/1715089536605-weZ5UaKoBF.png?width=1200)
ウェブアプリのURLをコピーしておきます。(この画面が出てきたら成功)
※SiriにこのURLを食わせます。
![](https://assets.st-note.com/img/1715090385143-8a5AxoIO57.png?width=1200)
--ショートカット設定
あともう少しです。
ショートカット画面の「+」マークを押して自分で設定します。
![](https://assets.st-note.com/img/1715090937093-OkDiCuuZyp.png?width=1200)
このような流れになります。
以下のように紐付いて記録されています。
黄色=スプレッドシート
紫色=Siri
![](https://assets.st-note.com/img/1715091352852-qnRHQSeEzu.png?width=1200)
![](https://assets.st-note.com/img/1715091146310-AUaCawD7MD.jpg?width=1200)
「テキスト」には、入力者の名前を入れるのがおすすめ(2人で使う場合)
「URL」には、GAS作成時、URLコピー※①のURLを載せる
![](https://assets.st-note.com/img/1715091769667-9cl1FQLqaX.png?width=1200)
URLの内容取得を再度設定
![](https://assets.st-note.com/img/1715093737847-I4awgNzHHV.png?width=1200)
GASの個々の内容と紐付いています。
![](https://assets.st-note.com/img/1715093737835-BbFQq3gNeO.png?width=1200)
💙最後に
動作確認し、データが集まったらスプレッドシートにグラフ作成してみてください。
めんどくさがりは、めんどくさいなりに現代に感謝して共に文明の力で乗り越えましょう🥰
見ていただき、ありがとうございます😍