Daily Finance Tracker ด้วย Google AppSheet + Google Sheets

สร้างแอพบันทึกรายรับ–รายจ่ายประจำวัน ด้วย Google AppSheet และ Google Sheets

คู่มือออกแบบ Daily Finance Tracker สำหรับใช้งานส่วนตัวคนเดียว บันทึกเงินเข้า–เงินออก ดูยอดคงเหลือสะสม (Balance) พร้อม Dashboard และสัญลักษณ์เตือนเมื่อเงินเหลือน้อย (Low Balance) โดยไม่ต้องเขียน PHP หรือสร้างฐานข้อมูล MySQL

ภาพรวมระบบ: AppSheet เป็นหน้าจอบันทึกข้อมูล → Google Sheets จัดเก็บรายการ → AppSheet Dashboard แสดงรายงานและสถานะยอดคงเหลือ

1. ความสามารถของแอพ

ฟังก์ชันรายละเอียด
บันทึกรายรับวันที่ หมวดหมู่ รายละเอียด จำนวนเงิน
บันทึกรายจ่ายวันที่ หมวดหมู่ รายละเอียด จำนวนเงิน
Balanceยอดยกมา + รายรับสะสม − รายจ่ายสะสม
Dashboardยอดคงเหลือ รายการล่าสุด และกราฟค่าใช้จ่าย
Low Balanceเตือนบนหน้าจอเมื่อยอดต่ำกว่าเกณฑ์ที่ตั้งไว้
รายงานดูข้อมูลรายวันและรายเดือน
การเข้าถึงลงชื่อเข้าใช้ด้วยบัญชี Google ของเจ้าของแอพ

2. ตัวอย่างหน้าจอ Dashboard

My Finance — ข้อมูลสมมติ

ยอดเงินคงเหลือ (Balance)
฿ 3,850.00
⚠ LOW BALANCE ต่ำกว่าเกณฑ์ ฿5,000
รายรับเดือนนี้
+ ฿25,000
รายจ่ายเดือนนี้
− ฿21,150

ตัวอย่างสัดส่วนรายจ่าย

หมวดยอด (บาท)
อาหาร6,200
เดินทาง4,300
ที่พัก8,000
อื่น ๆ2,650

ตัวเลขเป็นเพียงตัวอย่างเพื่อแสดงรูปแบบ Dashboard ไม่ใช่ข้อมูลทางการเงินจริง

3. เตรียม Google Sheets เป็นฐานข้อมูล

เปิด Google Sheets สร้างไฟล์ชื่อ Daily_Finance_Tracker และสร้าง 3 แท็บ ได้แก่ Transactions, Categories, Settings หัวคอลัมน์ต้องอยู่แถวแรก ไม่ใช้เซลล์รวม (Merge)

ชีต Transactions — รายการเงินเข้า–ออก

ชื่อคอลัมน์ชนิดข้อมูล AppSheetคำอธิบาย
IDText (Key)รหัสไม่ซ้ำกัน
DateDateวันที่ทำรายการ
TypeEnumIncome / Expense
CategoryEnumหมวดหมู่
DescriptionLongTextรายละเอียดเพิ่มเติม
AmountPriceจำนวนเงินเป็นค่าบวก
CreatedAtDateTimeเวลาบันทึก

ตัวอย่างข้อมูล:

DateTypeCategoryAmount
18/10/2026Incomeเงินเดือน25,000
18/10/2026Expenseอาหาร250
18/10/2026Expenseเดินทาง1,200

ชีต Categories — หมวดหมู่

สร้างคอลัมน์ CategoryID, Type, CategoryName ตัวอย่างหมวดรายรับ: เงินเดือน, รายรับพิเศษ, อื่น ๆ และรายจ่าย: อาหาร, เดินทาง, ที่พัก, ค่าน้ำ–ไฟ, สุขภาพ, อื่น ๆ

ชีต Settings — ยอดยกมาและเกณฑ์เตือน

SettingIDOpeningBalanceLowBalanceLimit
MAIN05000

สำหรับผู้ใช้คนเดียว ให้มีเพียงหนึ่งแถวคือ MAIN และตั้ง SettingID เป็น Key

4. ขั้นตอนสร้างแอพใน Google AppSheet

ขั้นที่ 1: ไปที่ AppSheet ลงชื่อเข้าใช้บัญชี Google แล้วเลือกสร้างแอพจากข้อมูลที่มีอยู่ (Start with existing data) เลือกไฟล์ Google Sheets ที่เตรียมไว้
ขั้นที่ 2: ในเมนู Data ตรวจสอบว่าเชื่อมทั้งสามตารางแล้ว หากยังไม่ครบให้เพิ่มตารางจากไฟล์เดียวกัน
ขั้นที่ 3: ตั้งชนิดคอลัมน์ใน Transactions ให้ตรงตามตารางข้างต้น ตั้ง ID เป็น Key และ Initial value เป็น UNIQUEID()
ขั้นที่ 4: ตั้ง Initial value ของ Date เป็น TODAY() และ CreatedAt เป็น NOW() พร้อมตั้ง Amount ให้รับค่ามากกว่า 0
ขั้นที่ 5: ในเมนู App → Views สร้าง View แบบ Form โดยใช้ตาราง Transactions เพื่อบันทึกรายรับและรายจ่าย
หมายเหตุ: ชื่อเมนูใน AppSheet อาจเปลี่ยนตามรุ่นของตัวแก้ไข แต่หลักการตั้งค่า Data, Views, Virtual Columns และ Format Rules ยังคงเหมือนกัน

5. สูตรคำนวณ Balance ใน AppSheet

เพิ่ม Virtual Columns ในตาราง Settings ชื่อ TotalIncome, TotalExpense และ Balance โดยใช้ App formula ดังนี้

TotalIncome — รายรับสะสม

SUM(
  SELECT(
    Transactions[Amount],
    [Type] = "Income"
  )
)

TotalExpense — รายจ่ายสะสม

SUM(
  SELECT(
    Transactions[Amount],
    [Type] = "Expense"
  )
)

Balance — ยอดคงเหลือ

[OpeningBalance] + [TotalIncome] - [TotalExpense]

หลักคำนวณ: Balance = ยอดยกมา + รายรับสะสม − รายจ่ายสะสม

ยอดคงเหลือสะสมต้องคำนวณจากทุกรายการตั้งแต่เริ่มใช้งาน ไม่ใช่เฉพาะรายการของเดือนปัจจุบัน ส่วนรายงานประจำเดือนให้กรองข้อมูลแยกต่างหาก

6. ตั้งค่าแจ้งเตือน Low Balance

เพิ่ม Virtual Column ชื่อ BalanceStatus ชนิด Text ในตาราง Settings และใส่สูตร:

IF(
  [Balance] < [LowBalanceLimit],
  "⚠️ LOW BALANCE",
  "✅ NORMAL"
)

จากนั้นเข้าเมนู Format Rules สร้างกฎกับตาราง Settings โดยใช้เงื่อนไข:

[Balance] < [LowBalanceLimit]

กำหนดไอคอนเตือนและสีแดง เพื่อให้สถานะโดดเด่นในหน้า Detail หรือ Dashboard

วิธีนี้เป็น การเตือนภายในหน้าจอแอพ ไม่ใช่ Push Notification หรืออีเมลอัตโนมัติ หากต้องการแจ้งเตือนนอกแอพต้องตั้งค่า Automation เพิ่มและตรวจสอบสิทธิ์ตามแผน AppSheet

7. สร้าง Dashboard

ในเมนู App → Views สร้าง View ย่อยแล้วนำมารวมเป็น Dashboard

ชื่อ Viewชนิดหน้าที่
BalanceCardDetailยอด Balance และ BalanceStatus จาก Settings
TransactionsListTableรายการล่าสุดจาก Transactions
ExpenseChartChartกราฟรายจ่ายตามหมวดหมู่
FinanceDashboardDashboardรวมสาม View ข้างต้น

สร้าง FinanceDashboard ชนิด Dashboard แล้วเลือก View ย่อยที่ต้องการแสดง หากต้องการให้กราฟรวมรายจ่ายตามหมวด ให้ตั้งค่ากราฟให้รวมยอด Amount ตาม Category และใช้ข้อมูลเฉพาะ Expense

ตัวกรองรายการเดือนปัจจุบัน

สร้าง Slice ของ Transactions และใส่ Row filter condition:

AND(
  MONTH([Date]) = MONTH(TODAY()),
  YEAR([Date]) = YEAR(TODAY())
)

ถ้าต้องการเฉพาะรายจ่ายเดือนนี้ ให้เพิ่มเงื่อนไข [Type] = "Expense" เข้าไปด้วย จากนั้นใช้ Slice นี้เป็นแหล่งข้อมูลของกราฟรายจ่ายรายเดือน

8. ความปลอดภัยและการใช้งานคนเดียว

เปิด Require sign-in และกำหนดให้เข้าถึงแอพได้เฉพาะบัญชี Google ของเจ้าของแอพ หลีกเลี่ยงการเผยแพร่ข้อมูล Google Sheets เป็นสาธารณะ ตรวจสอบการแชร์ไฟล์และสิทธิ์ AppSheet ก่อนใช้งานจริง

AppSheet มีเงื่อนไขการใช้งานและแผนราคาแตกต่างกันตามรูปแบบการใช้งาน ควรตรวจสอบรายละเอียดล่าสุดจาก เว็บไซต์ AppSheet ก่อน Deploy

9. ทดสอบระบบก่อนใช้จริง

รายการทดสอบจำนวนเงิน (บาท)
OpeningBalance10,000
รายรับ+5,000
รายจ่าย−8,000
Balance ที่ควรได้7,000

ตั้ง LowBalanceLimit เป็น 8,000 บาท แล้วตรวจสอบว่าระบบแสดง ⚠ LOW BALANCE เมื่อยอดคงเหลือ 7,000 บาท

ทดสอบเพิ่ม แก้ไข ลบรายการ ซิงก์ข้อมูลกลับ Google Sheets และดูผลบนมือถือ ก่อนลบรายการทดลองและเริ่มบันทึกข้อมูลจริง

10. เริ่มใช้งานจริง

  1. สร้างไฟล์ Google Sheets และตั้งหัวตารางให้ครบ
  2. นำไฟล์มาเชื่อม AppSheet
  3. ตั้ง Key และฟอร์มบันทึกรายการ
  4. เพิ่ม Virtual Columns และสูตร Balance
  5. สร้าง Low Balance Format Rule
  6. สร้าง Dashboard และทดสอบข้อมูล
  7. ลบข้อมูลทดลอง ตั้งยอดยกมาจริง แล้วเริ่มใช้งาน

สรุป: สำหรับผู้ใช้คนเดียว ระบบนี้ไม่ต้องมีตาราง Users หรือสิทธิ์หลายระดับ เริ่มจาก Google Sheets 3 ตารางก็เพียงพอสำหรับบันทึกรายรับ–รายจ่าย คำนวณยอดคงเหลือ และแจ้งเตือน Low Balance บน Dashboard

คู่มือนี้เป็นแนวทางการออกแบบและตั้งค่า ไม่ใช่แอพที่ Deploy แล้ว และตัวเลขตัวอย่างทั้งหมดเป็นข้อมูลสมมติ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น