はてブ02019.06.15この記事は約7分で読めます。不整形のデータ加工をしたい人やりたいことPCA会計を利用している場合、総勘定元帳(GL)データをダウンロードすると以下みたいな形式でエクセルに取り込まれます。サンプルただ、このデータプログラミングで取り扱うには非常に処理しにくい、いわゆるブサイクな不整形データとなっています。PCAさんはcsvをダウンロードして印刷してもらうことを前提に作っているのかもですが、様々加工する際には非常に不便な形式になっています。いうデータだったら加工しやすいかというと、以下のようなデータ形式になっていればその後の加工も楽だと思いませんか。正規化されたデータイメージ(ゴール)では、実際に上記のようなformatの変更を行うGASを実装していきます。今回のコード実装でポイントになる部分は主に以下の3つです。ブランクセルは配列では、空白になってしまい、そのまま使うとundefinedとなるため、全てゼロで埋める3行で1つの仕訳データとなっているため、2次元配列3つを1つの配列にして、3次元配列を作成する日付データが埋まっていない部分を埋めるそれでは、一つづつ見ていきます。ブランクセルに対応する配列要素にゼロを埋め込む配列はブランクのままですと、undefinedとなり、エラーを生じさせやすくなります。そのため、今回は一旦ブランクの部分をゼロで埋めて、加工しやすい配列に変更することを一番最初に実施します。}2次元配列で取得されているので、for文を2重でループさせながら、一つづつ要素を判定していっています。if式ではデータが格納されていた場合は、continue(処理せずにパス)し、ブランクの場合はゼロとします。仕訳データ単位に配列を加工するPCA仕訳データの処理しにくさの一つの要素である3行で1つの仕訳データとなっている部分を加工していきます。3行で1つの仕訳なので、配列も3つを1つの配列にすることで、1つの配列要素に1つの仕訳データが集められるようにします。}コードとしては難しい部分はないので説明は割愛しますが、考え方として1行1レコードで取得されるGASにおいては、複数レコードで1つの要素となる場合、配列の次元数を1つあげて複数個を1個の配列にするように加工すると便利です。日付データのブランク部分を埋めるデータの特徴で、1日に複数の仕訳がある場合、一番最初の仕訳にしか日付情報が含まれていません。このままでもデータの特徴を理解していれば問題はないのですが、もし加工後のデータから一定条件(例えば金額や摘要の内容等)でデータを抽出して別のファイルに転記した場合、日付データがブランクのデータになってしまいます。それは避けたいところです。そのため各仕訳データに日付データを持たせることにします。}対応方法はシンプルで、if式で日付データ対象要素がゼロ(前処理でゼロうめしているので、日付かゼロが配列要素になっています)の場合に、一つ前のデータを参照させています。これで、1日に複数起票された場合、2つ目以降がブランクだった日付データが全て埋まることになります。まとめMFやfreeeなどベンチャー系の会計ソフトは加工しやすいデータが抽出できることが多いのですが、昔からある会計ソフトではデータフォーマットが加工に向いていないケースがあります。その場合、一旦今後の分析や抽出を容易にするために、データの加工を自分でできるようになっておくと便利です。今回のPCAのGLデータは非常にいいサンプルで、複数の処理を組み合わせないと加工しやすいデータフォーマットになりませんが、ちょっとした加工のコツをお伝えできるものでした。他の会計ソフトでも加工しにくいフォーマットが存在しているようであれば、教えてもらえれば是非加工してみたいなと思います。はてブ0ks_Accountingをフォローするks_Accounting経営管理deプログラミング関連記事GASGASをフル活用して有給管理システムを自作する〜利用コードと実際画面フロー〜有給取得管理は2019年4月以降の課題ですね。紙管理は個人的にはもってのほかです。SaaSを入れてもいいですが、これくらいのものであれば、GASで実装可能です。スプレッドシートを軸としたGASですので、今後Slack連携でプッシュする場合にも、非常に簡易に実装可能です。GASGASをフル活用して有給管理システムを自作するGASをフル活用して有給管理システムを作成します。有給取得促進のための制度が人事部の業務負荷を増やして、有給取れないという展開は正直笑えないですね。GASでの業務効率化に非常に資するタイプのタスクです。GASGsuiteマイドライブではなく共有ドライブを使う〜GASでフォルダごとコピーする方法〜Gsuiteのビジネス以上を利用されているユーザ向けの記事です。マイドライブは対象ユーザアカウントが削除されたときに、そのアカウントに紐づいているデータやスクリプトも全て削除されてしまいます。今回はマイドライブのフォルダをGASで一括コピーする方法です。GASGASとIFTTTを使ってTwitterの自動投稿予約機能を作る~概要編~GASとIFTTTを使ってTwitter自動投稿予約機能を作っていきます。全体像のイメージと出来上がりのイメージを把握して、GAS/IFTTTがそれぞれ何の役割を果たしているか理解することができます。GAS【コード解説シリーズ】GASをフル活用して有給管理システムを自作する〜承認者がメールの承認・否認を選択→申請者へ結果通知、承認者へ完了Web画面表示〜コード解説シリーズ。GASをフル活用して有給管理システムを自作するのコード解説をしています。経理財務部門にいる方なら聞いたことありますよね。税務と会計が連動して、両方の知識がないとわかりにくく、なかなかとっつきにくいものです。今回は連結特化の税率差異開示項目を紹介しています。当該記事は旧ブログからの移植記事です。コメントをキャンセルメールアドレスが公開されることはありません。scriptでできること2019.04.102020.01.22。