BLOG

R3 Cloud Journey

kintone

非エンジニア主婦がkintoneで家計簿アプリを作ってみたい!第2回

2022-06-20

前回の記事で、kintoneでマイ家計簿アプリを作ってみることに決定しました。

ここで、私にとって家計簿に最低限必要な機能を考えてみると…?

  • レシートや領収書ごとに、金額・内容・費目を書いて、合計金額・費目ごとの小計を出す
  • 月ごとに総支出・それぞれの費目の小計を出す

これができれば、家計簿として(とりあえずは)使える気がします。

フィールドを配置してみよう

まずkintoneアプリストアで、参考になりそうな経理関係のアプリがないか探してみましたが、残念ながら見つからず…(実務では会計ソフトを使うでしょうから、そりゃそうですよね)

今回はゆるい家計簿アプリ希望なので、さくっと「初めから作成」します。

やりたいこととして、

  • 1日1レコードとして、複数のレシートが入力できるように、テーブルを作成する
  • 金額は数値フィールド、費目はドロップダウンフィールドで選択、品名・店名などは文字列(1行)フィールドの備考欄に書けるようにする
  • 合計金額は計算フィールドで、SUM関数を用いて表示する

これらをフォームに配置していきます。

ドロップダウンの項目は後からでも増やせるので、費目はとりあえず「食費・日用品費・医療費」の3項目とします。

ここまでで、「金額と費目を入力すると、合計金額が表示される」ができました。

このテーブルは毎日の出費を都度記録するフィールドにしたいので、テーブル名とフィールドコードを「都度支出」にしました。

また、テーブル内の各フィールドのフィールドコードも、「金額_都度支出」「備考_都度支出」など、わかりやすく名前をつけました。

費目ごとに小計を表示したい

せっかく支出に費目を設定できるようになったので、費目ごとの小計を表示したいと思います。

こちらも計算フィールドで、SUM関数とIF関数を使うことで、費目を指定して小計を計算できそうです。

まず、テーブル外に食費合計フィールド(計算フィールド)を作り、

SUM(IF(費目_都度支出,"食費",金額_都度支出,0)

(もし費目のドロップダウンフィールドで食費が選択されていればその金額を、食費以外であれば0を合計する)

と計算式を入力します。

すると…

なにやら赤いエラーが出ました。

『配列型の値に対して適切な関数が利用されていません。配列型の値やその利用方法についてはヘルプを確認してください。』

配列型の値とは…? 難しくてよくわかりません。

kintoneのヘルプでエラーを検索してみると…

『計算式でチェックボックスフィールド/複数選択フィールドを参照している場合や、テーブル外からテーブル内のフィールドを参照している場合に表示されます。

どちらの場合も、計算式で参照しているフィールドは「配列型のフィールド」です。』

むむむ。

「配列型のフィールド」について、さらに調べてみると、

  • テーブル外のフィールドから参照したときの、テーブル内の文字列型フィールド
  • テーブル外のフィールドから参照したときの、テーブル内の数値型フィールド

が「配列型のフィールド」にあたるようです。

つまり、IF関数ではテーブル内のフィールドをテーブル外から参照することはできない、ということでしょうか…?

費目ごとの小計がわからないのは、家計簿アプリとしてどうなの…という気分なので、なんとかならんのか~~と関数をコネコネしてみますが…

テーブル内に指定の文字列があるかを判定できるというCONTAINS関数を組み合わせてみましたが、うーんだめだ。やはり同じエラーが出ます。

(CONTAINS関数は指定の文字列が「あるかないか」の判定しかできないので、同じ行の別のフィールドにある数字を参照する、ということはできないようでした)

ハマってしまったので、ここで上司お助けカードを使います!

私 「先生…どうしてもできないんです…!!」

上司「まだいける。テーブル外でIFが使えないなら、テーブル内で使うんや…!」

私 「…!!!」

上司のアドバイスにより、都度支出のテーブル内に、費目ごとの列(計算フィールド)を追加し、

食費であれば

IF(費目_都度支出="食費",金額_都度支出,"")

(もし費目で食費が選択されていればその金額を、食費以外であれば空白を表示する)

そして、テーブル外に費目別の計算フィールドを追加して、SUM関数で費目ごとの小計が表示できるようにしました。

できた!

私がやりたかったのはこれー!

テストで金額と費目を入力すると、テーブル外の合計欄にちゃんと費目ごとの小計が表示されました。

さっそく、他の費目についてもドロップダウンの項目に追加し、同様にフィールドを作成します。

だいぶ横長になりましたが、これで1レコード内の費目の小計が計算できるようになりました。

  • レシートや領収書ごとに、金額・内容・費目を書いて、合計金額・費目ごとの小計を出す

が、達成です!

さて、次回は

  • 月ごとに総支出・それぞれの費目の小計を出す
  • 予算を立てる機能があったら嬉しいなあ

に挑戦します!

kintone

営業事務をしています。カフェめぐりと調べものが大好きです

自社のシステム開発・移行などをご依頼したい方
お客様とともに
作りながら考える
新しいシステム開発
詳しく見る
kintone導入・アプリ開発・カスタマイズにお困りの方
ノーコードでらくらく
kintoneカスタマイズ
詳しく見る
kintoneアプリの
バージョン管理・バックアップ
詳しく見る
kintoneアプリの開発・運用を
強力サポート

詳しく見る
更新情報をメールでお届けします!

kintoneアプリのカスタマイズに役立つ情報や、イベントの情報をメールでお届けいたします。
ご登録をお待ちしております!

R3のご提供サービス
自社のシステム開発・移行などを
ご依頼したい方
お客様とともに作りながら考える
新しいシステム開発
詳しく見る
kintone導入・アプリ開発・
カスタマイズにお困りの方
kintoneをもっと使いやすくする
gusukuシリーズ
詳しく見る
更新情報をメールでお届けします!
kintoneアプリのカスタマイズに役立つ情報や、イベントの情報をメールでお届けいたします。
ご登録をお待ちしております!