GASコード公開しましたー

こんにちは!
くろんです!!

適当に作ったGASコードをGitHubで公開したので、適当に乗せときます。https://github.com/ckron/ReceiptParser

GitHubのURLってこれでいいのかわからない?

今回は文字列が入力されたら、
いい感じにデータをパースして新しい行として挿入するプログラムです。

仮データ↓

Order ID B12AC
6/20/2018 12:00 AM
1x        Product_A        ¥2000
opt_A        ¥150             
opt_B        ¥50
1x        Product_B        ¥1500        
opt_A        ¥150
opt_C        ¥50
Sales        ¥3900
Promotion        (¥20)

こんな感じのデータが来たら、
IDと商品名と各オプション有無とプロモーション値を分けるものです。

仮データが来たら結果はこうなります。

B12AC 6/20/2018 Product_A 1 1 0 ¥20
B12AC 6/20/2018 Product_B 1 0 1 ¥20 

今回は最終結果までを作るのではなく中間のデータ抽出をする部分をGASで行いました。
全部をやろうとするのではなく、大変な作業を1か所コードで置き換えてあげると効率よく楽できます。

あとはマクロを使っていい感じにデータを集計します。

そんな大層なプログラムじゃないですが、GASを使うとこういうのできるよ!!
的なものとして公開しました。

GAS使うと色々効率化できますよ!!

では

gas使ってる

こんにちは!
くろんです!

突然ですが、ガスって知ってますか??

ガスはガスでも爆発しないガスです!
Google Apps Scriptってやつです!

端的に説明するとGoogle スプレッドシート/ドキュメント/プレゼンテーションとかで使えるスクリプトです。
(エクセルのVBA的な位置にいるやつです)

個人的にVBAよりいい感じなのでどこら辺が気に入っているか書いてきます。

1. 癖が少ない

基本的にJSがベースになっているので、gas独自の記述などはあまりありません。

なので、VBAみたいにそれ用の記述方法とかを頭に入れなくてもJSを触ったことがあれば割と感覚でコードが書ける印象です。

' 1: VBA
Sub hoge()
  ' ここにコード
End Sub
// 2: GAS
function hoge()
{
  // ここにコード
}

こんな感じでよくわからない Sub とかいう単語の意味を覚えなくても済みます。
(VBA以外で使わんし、覚えても無駄に思う)

少なくともGASならJSの知識も得られるので無駄にならない感じがいいですね。

2. ドキュメントがいい感じ

VBAのドキュメント
https://docs.microsoft.com/ja-jp/office/vba/api/overview/excel

GASのドキュメント
https://developers.google.com/apps-script/reference

それぞれ基本的なセルアクセスとかに関するドキュメントはあまり変わらない感じですね。

GASの方は公式日本語ドキュメントが見つけられてないので日本語限定だと少し難しいかも。
そういう意味ではGASの方が少しマイナスかもしれませんね。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String
↑ JSのStringドキュメント ここの関数はGASでも使えます

ただ、公式ドキュメント外の情報は圧倒的にGASが優勢です。

どういうことかというとGASではセルアクセスとかの関数はGoogle側より用意されているのですが、文字列とかはJSに備わっているものを使うようになっています。

なので文字列操作とかでわからない部分があったら「JS 文字列操作」みたいに調べればたくさん参考が出ます。

一方、VBAは文字列操作とかもMicrosoftで用意しているので調べるのが少し難しい感じですね。
「VBA 文字列操作」みたいにすれば出てはくるが言語自体の人口が多くはないと思うので、やってみた的なのは期待できない印象です。

正直、JS同様に文字列操作ができるだけでGASを選びます。

3. 無料で使える

言わずもがなですよね。

一方は有料でいい金額払って使うもので、一方は無料でいい感じに使えたら、そりゃ無料を選びますよね。

有料にしている分の良さがあることを否定はしませんがスクリプトで色々することを考えれば、圧倒的にGASです。
なにより、家でも勉強できるし趣味とかでスプレッドシート使うときに勉強が生かせるのがモチベになるから。

まぁ、どうせスプレッドシートで作ったものを範囲選択してエクセルにコピペしても大体いけるし、最終をエクセルにするとしても私はスプレッドシート一択です。

最後に

適当にVBAよりGASの方が好きなところを書いていましたが、1つだけデメリットがあります。

処理が遅い

これですね、VBAもそこまで早かった印象ないですがGASは割と遅いです。

まぁ、速度求めるならVBAも使わずに別プログラム作った方がいいのでは?と思ってしまうので、私は割り切って使っています。

速度面以外はGASかなーって感じですね。

メリット
- 癖が少ない 
- ドキュメントがいい感じ 
- 無料で使える

デメリット
- 処理が遅い 

色々、言いましたが結論コレです。

無料最高!!ヒャッホゥ!

私からは以上です。