概要
GnuCashで取引内で特定の勘定科目を検索したいことがある。例えば,一度作った勘定科目を細分化したい場合に,ある勘定科目の取引内で細分化前の勘定科目の取引だけ検索して列挙したくなる。
GnuCashの検索機能を使えば,こうした細かい条件の検索もできる。しかし,一見するとGnuCashの検索機能がわかりにくくて,理解に時間がかかったので整理する。
Ubuntu 20.04のGnuCash v3.8で確認した。
方法
まず,公式ドキュメントとしては「8.1. Find」に検索機能について説明がある。メニューの [Edit]>[Find] またはCtrl-fにより [Find Transaction] 画面を表示できる。
こちらの1列目のメニューから検索の基準 (criteria) を選ぶ。
勘定科目の検索には,このメニューの中から [Account] と [All Accounts] を併用する。しかし,当初これらの [Account] と [All Accounts] の違いがわからなかった。
したがって,これらの検索基準の理解が勘定科目の検索に重要となるので,これらの意味を整理する。
まず,公式マニュアルでは以下の通りの説明がある。
簡単に翻訳すると以下の通りとなる。
- [Account] はどれかで一致したものを表示する (OR検索)。
- [All Accounts] は全てで一致したものを表示する (AND検索)。
[Account] はOR検索,[All Accounts] はAND検索と思うと理解しやすい。
まずどちらの検索条件も勘定科目を複数選択することを前提にしている。CtrlやShiftを押下したまま左クリックすると複数の勘定科目を選べる。
[Account] で複数の勘定科目を選んで検索すると,1画面で複数の勘定科目の取引をまとめて表示できる。
[All Accounts] で複数の勘定科目を選ぶと,全ての勘定科目で共通の取引だけが表示される。
例えば,勘定科目としてA, B, Cがあるとすると,[Account] はABCの全取引がヒットする。[All Accounts] だとスプリット取引で一度にこの3の勘定科目を使った取引だけを表示する。
だから,Aの勘定科目でBの勘定科目を使った取引を探したい場合に [All Accounts] でAとBを同時に選択すればいい。
では,AとBの勘定科目の中で,Cを含む取引を検索したい場合どうするか?この場合に [Account] と [All Accounts] を組み合わせる。
- 第1条件で [Account] でAとBを選択
- 第2条件で [All Accounts] でCを選択
これによりAとBの勘定科目の中でCの勘定科目を含む取引だけを検索できる。
なお,勘定科目を選ぶときは再帰的にはならない。階層がある場合,展開して選ぶ必要がある。親の勘定科目を選んでも子の勘定科目を選んだことにはならないので注意する。
結論
GnuCashでの取引内勘定科目の検索方法を整理した。
マニュアルも質素なもので,意味を理解するのになかなか時間がかかった。概念を理解できてしまえば,シンプルなものだった。
取引内勘定科目の検索はそこまで頻繁に必要な処理ではないが,勘定科目の整理時などでは必要となる検索方法だ。また勘定科目を細分化する際にはこの検索で必要な取引だけを列挙して,効率的に仕訳の修正を行いたい。