一時のEXCEL熱から冷めて、新たな表を作るのはご無沙汰気味ではあったのですが、こちらもサボり気味だった家計簿をしっかりつけようと思い、家計簿アプリ『zaim』にデータを入力し、内容の検証のためにデータをアウトプットしてEXCELで集計を試みました。

 

『zaim』には[品目名]という入力項目があって、規則的に入力するとEXCELでの集計に正確性が増します。

 

ただ、残念なことに、『zaim』では、[お店]のように過去に入力したものを提示してくれるような、[品目名]に規則的な入力を補助してくれる機能がなくて、それを補助するためにATOKの単語登録で頻繁に記入する商品名などを記録したりしていますが、全商品を登録する気力も体力もないわけです。(笑)

 

そこで、EXCELで過去に入力した品目名を検索することで対応することにしたわけです。

 

UNIQUE関数で、[品目名]を抽出すれば、あとは文字を検索すれば良いのですが、カテゴリごと抽出するとなるとFILTER関数が必須となるわけです。

 

文字の一部を検索する際には、「*」(ワイルドカード)を使うものと知っていたので、FILTER関数の式の形式、FILTER(配列,含む,[空の場合])の[含む]のところに、{ "*"&セル番号&"*" }とかを入力すれば良いんだろうと思っていたら、なんとエラーとなりました。

 

FILTER関数には、「*」(ワイルドカード)は使えないということみたいです。

 

まぁ、困ったわけですが、YouTubeに、その件に関して動画をアップしている人がいるだろうと検索をかけると、いろいろな対応方法を提案してくれていました。

 

その中で、わかりやすかったのが、FIND関数を使う方法で、所定の文字がその文字列の何番目にあるかを調べてくれる関数なのですが、検索に引っかかれば、当然1以上の数字を返してくれるわけで、[含む]の項目で1以上の数字が認識されると、TRUE判定となり、データを抽出してくれることになります。

 

FIND関数は、1文字だけでなく、何文字かを繋げて検索しても、大丈夫のようですから、多めの文字数を入れると、検索するデータも絞り込まれて効率が何かと良いですね。

 

そんなわけで、思った通りの表ができあがりました。

 

現役時代にこの関数が使えたら、もっとすっきりした表を作れたなぁと遠い過去を思い返してしんみりしてしまいました。(笑)

 

それにしてもEXCELの進歩は凄いですね。