[ノンプロ研]初級講座GAS+freee API講座002第6回目

スプレッドシートの操作(実践編)です。 スプレッドシートのデータをぐりぐりと操作していきます
2
山口征啓@九大MHA, LIFE Study @ID_HelpDesk

本日はノンプロ研 GAS初級 + freeeAPI講座第2期の第6回、スプレッドシートの操作(実践編)です。 いよいよGAS初級パートの最終回になりました。 今日はスプレッドシートをぐりぐりと操作していきます。 #ノンプロ研 #GAS_freeeAPI講座 pic.twitter.com/efxZPSHR7X

2021-10-22 19:12:26
拡大
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

もうすぐ #ノンプロ研 #GAS_freeeAPI講座 第6回始まります。 今日は「スプレッドシートの操作(実践編)」で前半終了となります。

2021-10-22 19:50:02
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

ヤマグチさんお住まいの北九州では世界体操開催。 全国ネットで中継が始まっているようです。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:03:16
Jun FUJIKI | be a good friend @bagoodfriendJP

今日も #ノンプロ研 #GAS_freeeAPI講座 でTA(ティーチングアシスタント)しますよ。今日で前半のGAS初心者部分は終わりますよー。

2021-10-22 20:09:51
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

小学校イベントで全校生のシャトルラン大会のサポート しています。 Fkeyさんに教えてもらったQRスキャナーを実戦投入しています。 配列の取り回しでスキルに難あり! #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:10:06
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

今日のアジェンダは 1. Arrayオブジェクト 2. 配列 3. 構造化データ の3つです。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:11:43
Jun FUJIKI | be a good friend @bagoodfriendJP

まずはArrayオブジェクトの解説からスタート。Arrayオブジェクトとか配列とか聞くと身構えるかもですが、あくまで便利に使える箱みたいなものとリラックスして向き合うのがよいですね。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:12:32
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

Arrayオブジェクト lengthプロパティ  Arrayオブジェクト.length これで配列の要素数が返ってきます。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:13:21
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

Arrayオブジェクト.includes(値)  存在する :true  存在しない:false これ、配列から要素の検索するのに便利。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:15:01
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

indexOfメソッド 配列内を検索してその一を取得する Arrayオブジェクト.indexOf 値が存在する:配列の要素番号(0以上の整数) 値が存在しない:-1 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:16:57
山口征啓@九大MHA, LIFE Study @ID_HelpDesk

includesメソッドとindexOfメソッド、データが大きくなればなるほど、役に立ちますねー。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:18:08
Jun FUJIKI | be a good friend @bagoodfriendJP

実は…indexOf()メソッド、あんまり自分では使えてないかも。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:22:07
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

flatメソッド Arrayオブジェクト.flat() 例 const numbers =[[10, 30],[20], [40]].flat(); console.log(numbers); これを実行すると [10,30,20,40] となる #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:24:43
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

pushメソッド 配列の最後尾に要素を追加する   Arrayオブジェクト.push(値) #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:28:06
Jun FUJIKI | be a good friend @bagoodfriendJP

push()メソッドは大好き。for…of文とのコンビで何度も何度も使ってます。たまに背伸びしてmap()メソッド使いますが… #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:30:04
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

shiftメソッド Arrayオブジェクト.shift 一番上の1行がなくなります。 スプレッドシートのデータを持ってきた時、ヘッダ(1行全部)を削除して実データの塊が得られます。 便利。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:30:07
Jun FUJIKI | be a good friend @bagoodfriendJP

shift()メソッドは、スプレッドシートとかのデータの見出し行を削除するのによく使いますが、同時にこのshift()メソッドは切り出した見出し行を別の定数に代入できるので見出し行を抜き出したいときにもよく使います。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:36:08
Jun FUJIKI | be a good friend @bagoodfriendJP

shift()は削除するイメージで捉えられることが多いですが。もともとshiftの意味は 〔位置や方向を〕変える、移す という英語なので、最初の要素を別に移していると捉えるのがしっくりくるかなと思っています。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:38:56
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

★shift()メソッドは抜き出した要素が戻り値となる members.shift(); console.log(members);  → members にデータ部だけが返ってくる const header = members.shift(); console.log(header);  →headerに [ 'name', 'age', 'favolite' ] が返ってくる #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:41:15
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

処理時間の測定 スプレッドシートの読み書きはめっちゃ遅いです。 更新セルを目で追っていても遅いなと感じます。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:42:33
山口征啓@九大MHA, LIFE Study @ID_HelpDesk

shiftメソッドは変わったメソッドですが、スプレッドシートを扱うとよく使います。 また抜き出した先頭は戻り値で取り出すことができるので、あとからまたくっつけることができます。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:46:41
山口征啓@九大MHA, LIFE Study @ID_HelpDesk

スプレッドシートのセルを読むだけでも5000回繰り返すと10秒くらいかかります。 ということは18万セルくらい読むとそれだけで6分になってしまいます。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 20:55:56
kiriharaHiro 電子工作とIoT_ICT活用を勉強中 @KiriharaHiro

構造化データ セル結合されてるシート GASで処理しようとすると 気持ち悪くなるなぁ。 #ノンプロ研 #GAS_freeeAPI講座

2021-10-22 21:08:23