先日、小学生の息子が「どうしても欲しいものがあるから、お手伝いするからお小遣いをちょうだい!」とお願いしてきました。
目標に向かって頑張る姿は応援したい…でも、ただお金を与えるだけではもったいない。そこで思いついたのが、GASとスプレッドシートを使ったお小遣い帳簿づくり。
これなら、お金の管理を学ぶだけでなく、プログラミングの基礎にも触れられる!この記事では、そんな我が家のお小遣い帳簿活用術をご紹介。
- 子どもがITスキルを学ぶ第一歩
- 親もプログラミングスキル習得
- GASをモバイル版アプリでも実行
お小遣い帳で身につく!お金の管理能力
お小遣い帳簿をつけることは、単なる記録ではありません。計画性や目標達成能力、そしてお金に対する責任感を育む、貴重な学びの場となります。
小学生のうちからお金の管理を習慣化することで、将来の金銭感覚や経済観念の土台を築くことができます。
計画的な消費で、欲しいものをゲット!
何にいくら使ったのかを記録することで、無駄遣いを減らし、本当に欲しいもののためにお金を貯める習慣が身につきます。
目標達成シートと組み合わせれば、モチベーションもアップ!息子も、欲しいゲームソフトのために、毎日コツコツお小遣いを貯めています。
お金の価値を理解し、感謝の気持ちを育む
お金を稼ぐことの大変さ、そして使うことの責任を学ぶことで、お金に対する感謝の気持ちが芽生えます。
将来、自立した大人になるための第一歩です。息子も、お手伝いをして初めてお金の価値を実感したようです。
GAS×スプレッドシートで、簡単&楽しく記録!
GASとスプレッドシートを使えば、手書きよりもずっと簡単にお小遣い帳簿が作れます。
自動計算やグラフ表示など、便利な機能が満載!プログラミングの知識がなくても、わかりやすい解説で、親子で一緒に楽しく帳簿を作成できます。
\家族で使えるPixel Tablet/
GASで自動化!入力の手間を大幅削減
GASを使えば、日付や計算を自動で入力できます。手入力の手間が省けるだけでなく、計算ミスを防ぐこともできます。
HTML (index.html) と GAS (Code.gs) のコード、および設定方法についてまとめました。
作成したコードはこちら
function recordAllowance(date, task, amount) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("記録シート");
if (!sheet) {
throw new Error("記録シートが見つかりません");
}
sheet.appendRow([date, task, amount]);
return "記録しました!"; // 成功メッセージを返す
}
function showAllowanceForm() {
const html = HtmlService.createHtmlOutputFromFile("index");
SpreadsheetApp.getUi().showModalDialog(html, "【お金の管理を学ぶ】");
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<title>お小遣い帳簿</title>
<style>
body {
font-family: "Kosugi Maru", sans-serif; /* 手書き風フォント */
background-color: #f0f8ff; /* 水色 */
text-align: center;
}
h2 {
color: #ffd700; /* 金色 */
}
label {
display: block;
margin-top: 5px;
font-size: 16px;
}
input[type="date"],
input[type="text"],
input[type="number"] {
width: 250px;
padding: 5px;
border: 2px solid #98fb98; /* 薄緑 */
border-radius: 5px;
font-size: 16px;
}
button {
background-color: #ffd700; /* 金色 */
color: white;
padding: 8px 12px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
margin-top: 5px;
}
/* ルビのスタイル */
ruby > rt {
font-size: 10px; /* ルビの文字サイズ */
}
</style>
</head>
<body>
<h2>お<ruby>小遣<rt>こづか</rt>い</ruby><ruby>帳簿<rt>ちょうぼ</rt></ruby></h2>
<form id="allowanceForm">
<label for="date">お手伝いした日:</label>
<input type="date" id="date" name="date" required><br><br>
<label for="task">お手伝いの内容:</label>
<input type="text" id="task" name="task" required><br><br>
<label for="amount">金額:</label>
<input type="number" id="amount" name="amount" required><br><br>
<button type="button" id="recordButton">記録</button>
</form>
<script>
document.getElementById("recordButton").addEventListener("click", () => {
google.script.run
.withSuccessHandler(google.script.host.close) // 記録後にダイアログを閉じる
.recordAllowance(
document.getElementById("date").value,
document.getElementById("task").value,
document.getElementById("amount").value
);
});
</script>
</body>
</html>
スプレッドシートで、見やすく分かりやすい帳簿を作成
スプレッドシートなら、見やすい表形式で収支を管理できます。グラフ機能を使えば、視覚的にお金の動きを把握することも可能です。
下記フォームからデータを記録させると、スプレッドシートにデータが反映。息子も、グラフを見て、自分の貯金が増えていく様子を楽しんでいます。
スマホ・タブレットでGASは実行できないの?
前章でお伝えしたスクリプトは、スマホ、タブレットからは実行させることはできません。
パソコンからの入力だと、小学生が毎日入力すると仮定すると少しハードな作業に。
せめて、スマホやタブレットから入力ができないと、端末管理は無意味。
モバイルアプリで実行させるためには?
スマホやタブレットでスクリプトを実行させる方法はあります。モバイル版アプリでは制約がある分、別の方法を考えなければいけません。
- メニュー機能は一部しか使えない
- 画像に割り当てたスクリプトやトリガーは機能しない
- 使用できるアドオンはごく一部
モバイルアプリでも実行する一例
モバイル版アプリでGASを実行させる方法として、onEdit関数があります。
onEdit関数とは、スプレッドシートが編集されたときに自動的に実行させる関数です。
作成したコードはこちら
function onEdit(e) {
const range = e.range;
const sheet = range.getSheet();
// 編集されたシートが「入力シート」であり、編集されたセルが2行目以降のA列~C列の場合のみ処理を実行
if (sheet.getName() !== "入力シート" || range.getColumn() > 3 || range.getRow() < 2) {
return;
}
const values = sheet.getRange(range.getRow(), 1, 1, 3).getValues()[0];
const [date, task, amount] = values;
// 入力値が全て埋まっているかチェック
if (!date || !task || !amount) {
return;
}
// 記録シートに転記
const recordSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("記録シート");
recordSheet.appendRow([date, task, amount]);
// 入力シートのデータをクリア
sheet.getRange(range.getRow(), 1, 1, 3).clearContent();
// 成功メッセージを表示(任意)
SpreadsheetApp.getUi().alert("記録しました!");
}
- STEP1シートを追加【入力シート】を追加
- STEP2データを入力日付、内容、金額を入力
- STEP3スクリプト実行シートが編集されたのをトリガーにスクリプトが実行
- STEP4データ反映記録シートに入力したデータが反映
- STEP5データクリアデータ反映後、入力シートは空欄になる
継続は力なり!楽しく記録を続ける工夫
毎日コツコツと記録を続けることが大切です。習慣化することで、自然とお金の管理ができるようになります。
息子も、今では自分から進んでお小遣い帳簿をつけています。親子で一緒にプログラミングを学ぶ絶好の機会です。
簡単なコードから始められるので、初心者でも安心!プログラミングの基本的な考え方を理解し、論理的思考力を養うことができます。
- 子どものITスキルアップ!
- GASをモバイル版アプリで使うならonEdit関数