4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

家計簿という言葉が出ると、あっ忘れてたとなる人

 Siriを起動して、Siriに話しかけながら基本情報を入力するだけで、スプレッドシートで分析できるようになっているそんな機能あったらなっで作りました。参考にしてみてください。

※YouTube動画です。音量に気をつけてください

YouTube動画

スプレッドシートの内容↓(月1これで分析)

スクリーンショット 2024-12-14 13.32.34.png

これだけ!めんどくさがりにはちょうどいいですもちろん、「Hey!Siri、家計簿」で音声のみの入力も可能!

💚設定各項目

--スプレッドシートの設定

項目のみ設定をしておきましょう。グラフは後ほどです。

スクリーンショット 2024-12-14 13.40.32.png

--GAS設定

Google Apps ScriptにGASコードを記載します。

「ここ変更①」→スプレッドシートのIDを載せます。が注意が必要です。
/d/の後ろの〇〇〇をコピー
例:https://docs.google.com/spreadsheets/d/〇〇〇/edit#gid=0

GAS

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を発行するためにデプロイを行います。デプロイ→新しいデプロイ 

スクリーンショット 2024-12-14 13.46.44.png

ウェブアプリのURLをコピーしておきます。
スクリーンショット 2024-12-14 13.47.39.png
(この画面が出てきたら成功)※SiriにこのURLを記入します。

--ショートカット設定

あともう少しです。
ショートカット画面の「+」マークを押して自分で設定します。

このような流れになります。以下のように紐付いて記録されています。黄色=スプレッドシート紫色=Siri

image.png

「テキスト」には、入力者の名前を入れるのがおすすめ(2人で使う場合)「URL」には、GAS作成時、URLコピー※①のURLを載せる

URLの内容取得を再度設定

GASのここの内容と紐付いています。

image.png

💙最後に

動作確認し、データが集まったらスプレッドシートにグラフ作成してみてください。めんどくさがりは、めんどくさいなりに現代に感謝して共に文明の力で乗り越えましょう🥰

見ていただき、ありがとうございます😍

4
0
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?