freeeの月次推移表でXLOOKUP関数がうまくいかない理由と対処法

  • URLをコピーしました!

※freeeの月次推移表…

会計ソフトのデータをExcelで加工する場面では、XLOOKUP関数を使うことがよくあります。

ただ、freee会計の月次推移表を使う場合、そのままではうまく連動しないケースもあります。
今回はその原因と対処法をまとめてみました。

目次

XLOOKUPは「マスタ」をつくるのが基本

Excelを使うときによく使っている関数の1つがXLOOKUPです。

XLOOKUPは、マスタとなる別シートを用意しておくことで、

検索値(今回の事例では「借方科目」)を、マスタから探し出して、

同じ検索値をもつデータを連動させることができます。

もしマスタに該当するものがない場合は、データも連動できないので、こういう場合は「#N/A」と表示されます。
そのときは連動できるようにするために、その都度マスタを更新してメンテナンスしておく必要はあります。

経理でExcelを使うなら、XLOOKUPは親和性のある関数ですし、マクロやAIを動かすよりも効率よく資料をつくることもできます。

実際、freee会計にインポートするデータは、毎月このしくみでつくっています。

ただ、そんなXLOOKUPでも、うまく連動できないこともあります。
検索値を1つに絞りきれないようなケースです。

freee会計の月次推移表では検索値が一致せず連動しない

今回の事例は、freee会計からエクスポートできる「損益計算書 – 月次推移表」です。

freee会計では、このように月次推移表をエクスポートできます。そのCSVデータをエクスポートして、

Excelのシートに、月次推移表をコピペしておき、

データを連動させたい別シートには、B3セル「売上高」と入力しておき、この「売上高」を検索値にして、XLOOKUP関数で月次推移表のデータを連動させることができます。

ただ、ここでその連動がうまくいかないのがfreee会計の月次推移表。
このような「0」表示になり、連動してほしい金額が表示されません。

これはなぜかというと、キーとなる検索値が一致していないためです。

月次推移表をよく見ると、「売上高」の行には金額が入っていない列があります。

XLOOKUPは最初に一致した行を参照するため、金額が入っていない行を拾ってしまい、「0」と表示されてしまいます。

つまり、freee会計の月次推移表のCSVデータ、そのレイアウトが原因。
3行目の売上高、その下の方にある販売管理費の行もブランク…なくてもいいのにと思うのですが…(マネーフォワードの月次推移表も似たようなものですけどね)。

そのため、XLOOKUPそれ自体は何も間違っていないということです。
そうなると、検索値をどうやって指定してあげるかという話になってきます。

freee月次推移表をXLOOKUPで連動させる2つの工夫

それではXLOOKUPの検索値をどう指定してあげるか。
考えられる2パターンをあげてみました。

「売上高」で検索値できるようにする

まずは別シートにコピペしたfreee会計の月次推移表をそのまま使わない方法です。
ちょっとだけ加工します。

コピペする別シートのA列に、このように「売上高」と入れておき、B列以降に月次推移表を貼り付けるようにする方法です。


A列「売上高」を検索値にしても、このように連動することができます

とはいえ、加工する手間は発生します。
それに、「元のデータはそのまま置いておくだけ」というのが、資料をつくる上では鉄則とも言えます。

そこで、次の方法を探ります。

検索値を「売上高計」にする

XLOOKUPは、
=XLOOKUP(検索値, 検索範囲, 返す範囲)
という数式で、返す値を連動させることができる関数なわけですが、数式のはじめに入れる”検索値”は文字列にすることもできます。

つまり、「売上高」の入力があるセル($B3)を入れなければ、返す値を指定できないということではないのです。

そこで、マスタ(=freee会計の月次推移表)シートを見てみると、7行目「売上高計」の金額が連動できれば目的は達成できることがわかります。

そこで、XLOOKUP関数の数式の検索値を”売上高計” としてみると、

「売上高」にその合計額を連動することできました。

8月以降の列についても、セルをコピーしていけば連動されます。

LOOKUP系の関数は、経理でExcelを使うなら相性がいいものですし、使えそうな場面を見極めつつ積極的に使っておきたい関数です。
XLOOKUP、VLOOKUP、HLOOKUPについては、過去にこんな記事も書いていますのでよろしければ。

共通する大事なことは、元データは触らない、マスタとなるシートをつくったら都度カスタマイズしておく、試すことを恐れない、といったところかと。

XLOOKUPは便利な関数ですが、元データの構造によっては思ったように動かないこともあります。

ただ、そんな場合でも、関数を疑うのではなく、データの持ち方や検索値の指定を見直してみることが大切です。
元データの特性を理解しながら、うまく付き合っていきたいところです。


■編集後記
昨日はオフ
朝の家事とタスク、習慣を
家族で散歩しつつ、ベッドの視察と
息子のカバンの買い物に出かけました
気温9℃でも日差しがあって暖かく散歩日和
雪解けのあとで道路に残った砂ぼこりはすごいですけどね
マスク着用でなんとか

■昨日の1日1新
・Gemimi Liveで息子のGarten Of BANBAN(switch版)を実況翻訳
・息子とベッドの視察
・麺がうまい醤油らぁ麺(エースコック)

■息子(11歳)
近所の家具屋さんでベッドの視察に
進学のタイミングで息子用のベッドも新調しようかということで
色(パイン材の明るい色)も決まりました。
ただ、ベッドのサイズをどれにするかが決まらず…
部屋の寸法を測ってくるのを忘れてしまって
シングルかセミダブルか
メーカー側の事情でシングルの幅が△7cm狭くなっていたので
息子はどっちでもいいと言ってますが
大は小をということでセミダブルかなぁとは思ってますが…


この記事が気に入ったら
いいね または フォローしてね!

  • URLをコピーしました!
目次