Excelの自動入力がしたくてPythonを学んだら、会社を辞めたくなった話

はじめに

  • 今自分がいる会社を選択したのは自分であることを、十分に認識しています
  • 話を盛ったりぼかしています。ご了承ください
  • 若者のたわごとが苦手な人は、今すぐブラウザバックをお願いいたします

これを書いた目的

  • 後になって当時何を考えていたか振り返るため
  • 長文を書くことのリハビリ
  • どこかの心優しい人がこの文章を読んでいただける期待

私について

  • 宮城県出身
  • 新卒入社3年目の24歳会社員
  • 仕事について、詳しくは言えないが非IT企業で事務や雑用をやっている

これまで起こったこと

入社2年目の転勤

入社2年目から転勤して、東北の某地方で働いています。

Pythonと出会う

Excelで約4500行手入力する仕事を振られる

2020年9月のある時、職場の人からExcelで約4500行手入力する資料を作ってほしいと指示されました。その時は、4500行を入力しなければいけない事実は資料が完成するまで分からず、指示した人も私も後になって知りました。

他のExcelファイルの内容を目視で確認しながら、その内容から条件に応じて新しいデータを新しいExcelファイルに入力するという仕事でした。

VBAかPythonを学ぶか検討して、Pythonを選ぶ

データを手入力していくうちに、「VBAとやらで自動入力できないかなぁ」とふと思いました。

VBAが具体的にどんなものかは知りませんでしたが、大学生の頃にC言語を授業で学んでいたおかげで、規則性のある作業はプログラミングでどうにかなるのでは?と思いつくことができました。(今はCはほぼ忘れていてすぐには書けません)

VBAが何のか調べていると、何かの拍子に「Python」という単語を見つけました。超つよつよエンジニアの大学時代の友人もPythonが書けるとか言ってたな、と思いながらPythonも調べました。

調べた結果、VBAよりもPythonは記述が楽で、VBAはほぼOffice製品でしか活用できないが、Pythonは汎用性が優れていることが分かりました。そしてなんとなく、Pythonを学び始めました。

C言語を教えてくれた大学の先生に感謝しながらPythonを学ぶ

Pythonを学び始めた当時は、プログラミング言語というのは、命令の書き方は違うけど、命令の内容は大体似ているという事実を知りませんでした。

C言語を学んだ経験から、Pythonの基礎の基礎の部分はすんなり覚えられました。C言語を教えてくれた大学の先生に感謝しかありません。

学習は、「PyQ」というサービスを利用しました。見本のコードを写経して、ブラウザ上で実行できるというものです。類似のサービスで「Progate」がありますが、なんとなくPyQを選んでみました。

9月の連休は、ほとんどPythonの学習に没頭していました。

PythonでExcelの自動書き込みに成功してしまう

なんとなくPythonを覚えたなと思い、PythonでExcelを操作する方法を学習しました。

事務の分野でもPythonが注目されているらしく、ネットの記事がたくさん見つかりましたが、体系的に学びたく本を買いました。

なんとなく学べたなと思い、当初の目的の約4500行書き込むスクリプトの作成に取り掛かりました。

紆余曲折あり、(こっそり会社でも)悩みながらも、なんとかスクリプトを完成することができ、無事に職場の人へ納品できました。

Pythonを学び始めてからここまで3週間くらいだったので、声を大にして言えませんが自分に対して驚きました。

また、過去にC言語を学んだときは、大学の授業でやらなければならないという受け身な態度で学んでいましたが、今回は自分から勉強に取り掛かって自分で完成させられたので、人生で最もうれしい出来事でした。

Pythonで遊んでみる

Pythonが少し分かるようになったおかげで、Pythonの色々な使い方に関心を持ちました。特に、Raspberry PiでPythonを実行できることを知って、大学生の頃に買って眠らせていたRaspberry Pi Zeroをいじっていました。

  • Raspberry Pi Zeroで、あるWebサイトから気象情報をスクレイピングして、GPIOピンに取り付けた1インチディスプレイに表示させてみる
  • Raspberry Pi Zero、温湿度気圧センサー、SORACOM Air(IoT向けのSIM。スマートフォンでUSBテザリングさせた。)を組み合わせて、5分おきに計測する装置のような物を作ってみる
  • Raspberry Pi 4を別に買ってみて、計測したデータをSORACOMから呼び出して、LINEで通知したりTwitterに投稿するスクリプトを書く

など。

事務作業でPythonに幾度も助けられる

普段の事務作業も短縮化したく、Pythonスクリプトをいくつか書きました。中には、Pythonを学んでいなかったらとても苦労しただろうなと思う場面もありました。

  • 多量のファイルのファイル名を変える
  • 多量のファルダのフォルダ名をテキストに書き出す
  • 多量にあるフォルダの、ファルダ内の1番目のファイルのファイル名を、フォルダ名に変える
  • 数字のリスト同士を突合させて、両方のリストに数字が乗っているかを判定する

など。

IT企業に気持ちが揺らぐ

2020年12月頃、プログラムを書くことが楽しいという理由から、現職とは違う仕事をしたくなりました。当時を今振り返れば、やりたいことの目的をはっきりさせないまま、やりたいことの手段にばかり目が行っていたので、考えが甘かったなと反省しています。

挑戦してみる

縁があって、超つよつよエンジニアの大学時代の友人が会社を紹介してくれました。その友人から、紹介する会社でPHPを採用しているからLaravel(PHPのアプリを簡単に作れる土台)でWebアプリを作ってみるといいと言われ、Laravelでとても簡単なWebアプリを作ってみました。(助言してくれた友人に感謝しかない)

GUIなアプリを作れたのが初めてだったので、とてもうれしかったです。

落ちる

2021年1月に面接を受けてみましたが、落ちました。ただ、先ほども述べたように、やりたいことの目的をはっきりさせてなかったし、Pythonでまだまだ学ぶべきことがあるのにPHPに手を出していいのか、と自分なりにわだかまりがあったので、落ちて当然だったと思います。

今の仕事に対し、違う視点を持つ

PythonやWeb開発をかじりつつも、通常の業務をこなさなければいけません。ところが、プログラミング学習をしたり転職活動で自分を見直した経緯から、今の会社の仕事のやり方について、以前とは違う視点を持つようになりました。

(申し訳ないが)IT音痴な人が多いため、WindowsやOfficeの操作が我流になっている。なのに、ITが分かる人を育てる取り組みをしない。

また、縦割りがガチガチすぎて、ITに関わらず様々なノウハウが社内で共有されてない。

Excelを正しく使っていない

特に、Excelの使い方はひどく、

  • セルの結合は当たり前
  • 行と列を意識した規則性のあるデータの入力をしていない
  • 図形、画像、シートを1ファイルに多量に載せる
  • テーブルを分割せず、1ファイルにデータを何もかも収めようとしている
  • 何でもかんでもExcelで作ろうとしている

など多数の問題があるにも関わらず、Excelを使っている人たち自身は問題を認識していません。

SaaS利用を提案するも、拒否される

IT音痴な人でもなんとなく触れて、Excel利用の問題もろもろを解決するにはSaaSを使えばいいのではと思い、上司等に提案しました。某ビデオ会議アプリを導入しているので、某サブスクリプションを契約していて、そのサブスクリプションの中に既に色々なアプリが含まれているはずなので、導入が少しは楽だと思ったのも1つの理由です。

ところが、提案は拒否されました。返答を自分なりに解釈してみました。

仕事には「目的」があって、目的には「手段」があって、手段をこなすために「道具」が必要です。会社としては、「道具」を変える小手先の方法で案を出してほしいようですが、私は「手段」を抜本的に変えなければどうしようもないと考えています。

今後

その前に

冒頭にも書きましたが、そんな会社を選んだのは自分です。大学生の時に人生の目的をはっきりさせず、手抜きで就活をしていた自分が明らかに悪いです。しっかり反省します。

会社を辞めたい

今の会社は変えられる余地があるのに変えようとしないし、業務で本来短縮できるはずの時間が短縮されないのはとても悲しいです。短縮できた時間で、他の仕事をしたり、勉強したり、早く帰ったりできるのに。

偉そうなことを言える立場ではないですが、人生短いのでこんなところで消耗してられません。

やりたいこと

正直、はっきりまとまっていないので、焦らずじっくり考えようと思います。

漠然と思っていることは、ITが苦手な人でもITを駆使して業務を回せる仕組みを導入する仕事や、最低限のITが分かる人材を育てる仕事に携わりたいと思っています。

現状の課題

自分を考えややる気を、他の人へ客観的に証明できる材料をもっていません。

(資格として、基本情報技術者試験に2017年に合格してることぐらい。)

興味があること

  • Microsoft 365のWebアプリ(Power Apps、Powe Automate、SharePoint、Plannerなど)
  • Pythonで事務作業を自動化すること(Excelを読み書きしたり、ファイルやフォルダを移動したりリネームするなど)

できること

  • 人並みにWindowsやOfficeを触れる
  • かじった程度のPythonを書ける

これから

  • せっかくかじったPythonなので、もっと勉強して一定のレベルまで到達させたい
  • Power Appsがとても魅力的に感じたので、もっと調べてみる

@android_sushi