2019年のチャレンジ・研究まとめ

2019年ももうすぐ終わりです。日本の96%くらいの人にはきっと役に立たないような話ですが、今年1年間のチャレンジ・最適化の成果物をまとめてみます。

チャレンジという趣味

私は常時、ビジネス面においても、プライベート面においても、何かしらの新しい技術、テクニック、知識などを仕入れて自分のモノにし、納得の行くレベルになるまで本気でやり込む、というのを続けています。特に偉いでしょとかオススメとかキャリアアップとかそういう話ではなく、趣味として「チャレンジ」をしています。

趣味としての「チャレンジ」
特に目的や利益が無くてもいいので、特定のゴールまで何かを習得・上達・最適化することを楽しむこと

例えば、「ビジネスにめちゃくちゃコミットして業界トップになる」とか「朝から晩まで特定のゲームをやり込んで大会に出る」とか「目をつぶっても100mまっすぐ歩けるように鍛える」とか、楽しいじゃないですか。そういうのが全て対象になります。チャレンジするテーマやテクニックは頻繁に変わりるため、すごい便利なビジネステクものから、マニアックでニッチで変態的なテーマまでを含みます。きっと日本中で500人~1000人くらいの人にしか役に立たなそうな、でもすごい便利だよなぁと思うテクニックにチャレンジすることも多々あります。なお技術的チャレンジについては、研究と呼ぶ方が適切かもしれませんが、チャレンジでまとめます。

2019年総括

2019年は、このあたりの領域でチャレンジ・最適化をやっていました。振り返ってみると、ビジネスでもプライベートでもG suiteを毎日触るので、G Suite関連ツールの最適化っぽいチャレンジが多めでした。ちょっとやりすぎた感が否めません。他にもタッチタイピングの限界に挑戦してe-typingスコアが500を超えたとかのネタはありますが、実用的な成果が残ったもののみ記載します。

1_フォルダ・ファイル管理の最適化(構造化)&操作の高速化
2_Googleスプレッドシートの爆速化

1_フォルダ・ファイル管理の最適化(構造化)&操作の高速化

PCのデスクトップ画面もGoogleドライブのマイドライブも、油断するとどこもかしこもフォルダ・ファイルだらけになり、作業効率が著しく落ちます。結果、フォルダとファイルを大量に取り扱って生きていく世界では、フォルダ・ファイル管理の最適化(構造化)に取り組む必要があります。1名~50名未満程度の組織では、以下のような手法が便利です。

手法:01_→02_と全フォルダの頭に数字をつける
効果:カーソルを使わずにテンキーでフォルダ選択できるようになる(Google Drive不可)
手法:各フォルダ内に子フォルダを増やしすぎない(多くて10個程度?)
効果:目線の移動時間を減るので、物理的に探す秒数が減る
手法:フォルダ階層を増やしすぎない(多くて5~6階層程度?)
効果:階層の移動が減るので、移動操作にかかる秒数が減る
手法:全てのフォルダとファイルに厳格な命名ルールをつける
(「yyyymmdd_大項目_中項目_小項目.pdf」など
効果:徹底するとフォルダツリーベースより早い検索バーベースのフォルダ・ファイル抽出ができるようになる

ちなみに、フォルダ・ファイル操作の高速化においては、一般的なショートカット(Ctrl + C, X, V, A, Z等)に加え、以下のショートカットキーをなるべく習得(暗記)することが非常に重要です。

Googleドライブ編
・フォルダ&ファイルの右クリック:a
・フォルダ&ファイル名の変更:n
・ドライブ内検索バーへのカーソル移動:バックスラッシュ(\)
Windowsローカル編
・フォルダ&ファイルの右クリック:キーボードのアプリケーションキー
・フォルダ&ファイル名の変更:F2
・エクスプローラーの検索バーへのカーソル移動:Ctrl + F

2_Googleスプレッドシートの爆速化

Googleスプレッドシート(概ねExcelも同様)では、vlookupやsumifなどの対象範囲が広い関数に indirect ,offsetなどの再計算が走る関数(揮発性関数と言います)が含まれていると、1つのセルを編集するだけで20秒以上待たなければならない、という事象が発生します。こういった関数を使っている場合は、以下を全てやると、条件により2倍~10倍以上の高速化が望めます。

1. 揮発性関数を限界まで削除する
indirectやoffsetを一切使わずに、範囲内で座標指定ができるindex関数を利用します。特に、文字列一致で参照したい場合は、index,match,match関数が効果絶大です。
2.if関数の計算回数を減らす
シート内でif構文を使っている場合に、同じifの条件で作動するセルが何十個も何百個も発生しているケースがあります。Googleスプレッドシートには、arrayformula関数という配列関数が実装されているため、if関数内の数式が同じ場合は、if( 条件式, arrayformula(), arrayformula() )という構文を活用すると、ifの計算回数を減らせる場合があります。
3. arrayfomulaの対象配列を1列ではなく複数列にする
先述したarraformula関数は、カンマで区切ることにより、複数列に計算結果が記入される配列を作成可能です。これにより、例えば事業計画シートなどにおいて、「1Q」「2Q」「3Q」「4Q」「年間」という5列の集計列がある場合、計算対象行が10行でも100行でも、1セルに入力したarrayformulaで全て計算可能となります。つまり、100行×5列の計算であっても、1セルのarrayformura関数1つのみで記述が可能です。
4. importrange関数で処理後に計算する
計算結果が重いのは、複数の計算が同じシート上で走るからで、他のシートで重い計算を一度させてから呼び込めば重くはなりません。Googleスプレッドシートでは、URLベースでどんなスプレッドシートのデータも呼び込めるimpotrange関数が利用可能なため、importrangeで持ってきた複数のシートを、別URLのスプレッドシートで集計するという処理が可能です。


というわけで、2019年のチャレンジまとめでした。来年も色々チャレンジしたいと思います!

この記事が気に入ったらサポートをしてみませんか?