見出し画像

【非エンジニアのGAS開発】親会社から押し付けられた20分の手作業を30秒で終わらせた話


プロローグ:親会社からの無理難題

「新システム導入に伴い、データの受け渡しは毎月CSVを手作業で変換していただきます」

——親会社からの連絡を見た瞬間、頭に浮かんだのは「Excel地獄」の文字。
2025年にもなって、なぜこんな手間のかかる方法を押し付けられるのか……?

「手順書は10数ページ、所要時間は20分ほどです」
講師は爽やかに笑う。が、こちとら素直に笑えない。
「こんなの、毎月やるの……?」
うちのシステム部・山田が嘆きの声を漏らす。

第一章:青田さん初登場——会計入力の番人

ここで今回、新戦力(といっても社内ではすでに有名人)の青田さんが登場。
彼女はスプレッドシートのimportrangeやExcelの関数を使いこなし、会計入力に関しては右に出る者なしと評判の「会計入力の番人」だ。

「この手作業、ちょっとお願いできる?」
私は青田さんに声をかけた。プロの目で見てもらえれば何とかなるかと期待していたのだが……。

「A列をコピーして……次に関数を……で、フィルターを……」
手順書を片手に特訓してみるが、異様に手順が多い。
普段はサクサク仕事をこなす青田さんが、ここまで戸惑うとは……。

「慣れれば15分程度らしいけど、これを毎月?正直、しんどいですよね」
青田さんの声に疲れがにじむ。
普段の彼女はエクセル操作にも定評があるのに、何度やっても20分かかる「クソエクセル」作業とは。

その姿を見ていると、なんとも言えない気持ちになった。
「こんな重労働、機械にやらせるべきだ……」
私はとうとう重い腰を上げた。

第二章:6時間の文字化け地獄とブログ検索の光

まずは、AIに「CSVを自動変換する方法」を聞いてみる。
「文字コードはSHIFT-JISを指定してください!」——AIはそう答えるが、
いざExcelで開いてみると、画面には謎の文字列が並ぶ。

�\�{�l�

何度尋ねてもAIは
「SHIFT-JISでやってみましょう(キリッ)」と繰り返すだけ。
「いや、だからそれがダメで……!」

「こうなったら、ブログ検索してみるか」

私が“古の叡智”であるWeb検索をかけると、とある記事がヒット。
「日本独自の文字コードなら"MS932"を指定せよ!」
これだ……!

function convertToCSV(data) {
  // MS932で文字化け撲滅
  const csv = Utilities.parseCsv(data, 'MS932');
  return csv.join('\n');
}

やってみると、嘘のように文字化けが消えた。
正しいCSVを吐き出すまでにかかった開発時間は6時間。
「最初から知ってる風に言うなよ、AI……」と内心ツッコミながらも、どうにか第一関門を突破した。

第三章:プログレスバーは安心の証

文字化け問題を解決し、変換自体は動くようになった。
青田さんも「すごいです課長! これなら作業が圧倒的に楽に……」と喜ぶ。

ところが、それも束の間の平穏。次の壁が現れた。
「課長、実行中なのか待ち時間なのか、画面からは全然わかりません……」
そう、人は“動いてる感”がないと落ち着かない。

AIのサンプルコードを試してみたものの、プログレスバーは一瞬で100%を示して終了。

「これじゃ進捗どころか、ただのスライドショーだな」

最終的には、キャッシュサービスを使ったプログレス管理を組み込み。

(以前、たまたま上手くいったコードを丸ごとAIに渡したら、秒で理解してくれた。)

なんやかんやあって、UIを整える時間も含め、ここまで追加で3時間ほど要した。

function updateProgress(current, total) {
  const progress = Math.round((current / total) * 100);
  CacheService.getScriptCache().put('progress', progress, 300);
  // 画面に反映するHTMLを返す
  return HtmlService.createHtmlOutput(
    `<div class="progress-bar" style="width:${progress}%;background-color:green;">
       ${progress}%
     </div>`
  );
}

作業短縮時間を可視化したくて実装した経過時間表示と、緑のバーがスルスルと伸びていくのを見て、青田さんはホッとしたように微笑む。
「人間って、こんな単純なことでも安心するんですね……」

第四章:マニュアルは、見た目も大事!

ツール画面とマニュアル(HTML)

システムが安定稼働するようになったところで、社内デモを実施。
青田さんが実際に画面を操作し、ワンクリック30秒で作業が終わる様子に、皆の目が輝いた。

しかし、そこで出てきたのが「どうやって使うんだ?」問題。
マニュアルを作るなら、と私は決意した。

「使う人の気持ちになって考えないと」

実は、このマニュアルにもこだわりポイントがたくさん。

/* マニュアルのデザインテーマ */
:root {
  --primary: #4a90e2;  /* 優しい青 */
  --success: #2ecc71;  /* 爽やかな緑 */
  --background: #f5f6fa;  /* 柔らかな背景色 */

エラー発生時の対処法もしっかりFAQでカバーする。

<div class="important-note">
  <i class="fas fa-info-circle icon"></i>
  <!-- やさしい言葉で解説 -->
  エラーが出ても慌てないでください。
  ほとんどの場合、以下の確認で解決できます:
  
  ・ファイルは正しいフォルダに入っていますか?
  ・文字化けしていませんか?
  ・データの形式は合っていますか?
</div>

「困ったときは、ここを見てね♪」という感じで。

結果として:

  • 手順は箇条書きでシンプルに

  • 重要な注意点は目立つボックスで強調

  • アイコンを使って視覚的に分かりやすく

  • 優しい色使いで見やすさを重視

青田さんからは
「これなら新入社員の子も迷わなそう」
「色使いが可愛くて、見るのが楽しい!」
という評価をいただいた。

マニュアルって、ただの説明書じゃない。
使う人の気持ちに寄り添う、大切なコミュニケーションツールなんだ。

...とはいえ、これは私の憶測かもしれない。
「おじさんの考える可愛いは、押し付けがましいかな?」
と不安になりつつも、とりあえず完成。

青田さんが「すごく使いやすい!」と言ってくれたので、 まあ、良しとしよう。

デモを終えた青田さんが言う。
「課長、これ、親会社に売れるんじゃないですか?」
——彼女の目はキラキラと輝いていた。

私はニヤリとしながらコーヒーをすすぐ。
「でもね、これは私たちだけの秘密兵器だから」

そう、親会社に押し付けられた手作業を、
裏ではツールで高速化していることは内緒だ。

エピローグ:次の戦いは在庫管理?

導入後、青田さんが格闘していた20分の苦行は30秒に激減。
「これ、もう手作業には戻れません!」とシステム部の山田も感激している。

だが、まだ終わりではない。
「在庫管理データの集計方法がバラバラなんやけど……」
営業役員の一言を皮切りに、さらなる戦いが始まりそうな予感がする——。


教訓まとめ

  1. AIは便利でも、最終的に救ってくれるのは人類の叡智(ブログ検索)

  2. MS932の尊さを知れ:日本独自のレガシー仕様は一筋縄ではいかない

  3. プログレスバーは安心の象徴:人間は“動いてる感”がないと不安になる

  4. マニュアルは未来の自分と仲間を救う最強兵器

  5. 青田さんの苦労を見逃すな:誰かの困りごとは、開発を決意する絶好のタイミング

次回予告

「伝説の経理課長、在庫管理のカオスを制す!」

「在庫資料の作り方、各課長に任せてるけどさ…なんとか標準化できんか?」
営業役員の言葉は軽かった——だが、そこには深い闇があった。

バラバラのフォーマット、異なる集計ルール、非効率な作業時間。
4人の営業課長がそれぞれ4時間かけて作る資料を、たったワンクリックで統一する魔法のツールを作るしかない!

AIと共に挑んだデータ地獄、進捗が見えないプログレスバーとの死闘、そしてついに…すべての課長に「ちょっと便利すぎるんじゃない?」と言わせるツールが爆誕。

次回、「混沌をワンクリックに!」編、お楽しみに!



いいなと思ったら応援しよう!