電子帳簿保存法の検索をQUERY関数でやってみる!
マイナーな関数かもしれませんが魅力は多いはずです。
QUERYで検索 2022年より電子帳簿保存法改正
2022年(令和4年)1月より電子帳簿保存法改正がスタートします。
これまで請求書や領収書をデータで受け取っていても紙で保存することが原則でした。
2022年1月からはデータで受け取った場合には、データで保存することが原則になります。
データを取り扱う要件も設定されています。
- データをディスプレイで確認できるようにしておく
- データを訂正や削除をしていない規定を作っておく
- データの日付、金額、取引先を検索できること
問題はデータの検索です。
一見するとわかりやすいのですが、抽象的な要件です。
さらにデータの検索では2つ以上の項目で検索できる要件もあります。
保存してあるデータ自体の検索(PDFなど)は、現状技術的に難しそうです。
国税庁ではエクセルでのデータの索引簿のサンプルを提示しています。
データの索引簿の検索をする仕組みが必要になります。
QUERYで検索 スプレッドシートを使ってみる
Google スプレッドシートでもエクセルと同じように関数が使えます。
といっても、Google スプレッドシートだけで使える関数もあります。
「QUERY(クエリー)」関数はGoogle スプレッドシートの関数でもデータの抽出に適した関数です。
国税庁の索引簿のサンプルと同様の形式を使って、QUERY関数で検索してみます。
QUERY関数はシンプルな構成です。
- 検索するデータの範囲を指定して、
- 抽出する条件を設定する ← ここが「クエリ」
QUERYには、質問・問い合わせるということばを意味しています。
まず、データの「取引先」を検索してみます。
=QUERY(A:E,"select D")
上記の式では、AからE列より・D列(取引先)を検索する、という処理になります。
複数の列を取り出すこともできます。
=QUERY(A:E,"select B,C")
上記の式では、B列(日付)とC列(金額)が抽出されます。
日付の範囲を指定して検索することも可能です。
=QUERY(A:E,"select B,D where B>date'2021-03-01'")
上記の式では、B列(日付)とD列(取引先)を検索して、2021年3月1日以降のデータを取り出します。
「where」は条件一致のみを抽出するためのクエリです。
日付を絞り込んでの検索も可能です。
=QUERY(A:E,"select B,D where B>date'2021-03-01' and B<date'2021-05-31'")
「and」で条件を加えることで、3月から5月のデータが抽出できます。
下記のような式では、日付と金額の範囲をしての検索も可能です。
=QUERY(A:E, "select B,C,D where B>date'2021-04-01' and C>200000")
2021年4月以降の20万円以上の金額が抽出されます。
QUERYで検索 紙に逃げない
見慣れない仕組みの取り扱いには負担を感じます。
QUERY関数は削ぎ落とした経理や税務申告の処理には不要かもしれません。
一見すると、データの検索を達成するために手間が増えているという誤解をしそうです。
データよりも紙の請求書や領収書で受け取る方が負担が少ない、
という発想では長期的に効率性は行き詰まります。
ベストの方法はわからなくても、ベターに迫っていくしかありません。
Google スプレッドシート QUERY関数の利用も試行錯誤に加えていただければ幸いです。
蛇足
QUERY関数は上記の抽出以外にも、抽出データの並び替えや抽出数の制限
といった10の機能(クエリ言語)があります。
<ご案内>
■林友範税理士事務所
■災害と税金の情報