SIerの三種の神器と言ったら、、、Excelです!!!(考えてみたけど三種もなかった) コンサル三種の神器として、パワポ・エクセル・ワードみたいな話を聞いたことがありますが、パワポ、エクセルまでが正しくて、ワードを使うことって殆どないんじゃないかと思ってます。

脱線しましたがSIerでは、設計書、WBS、課題管理、説明資料、手順書などなど、ありとあらゆるものがExcelで記載されます。 そのような背景もありSIerで働いていると自ずとExcel技術は身に付くのですが、私自身pythonを齧っていることもあり、データ整理をexcel上、python上どちらでやるべきかよく迷います。 現状、使い分けで対応していますが、一度それについて考えてみようと思います。

データ整理って、Excel上orPythonでやるべき?

まずそれぞれのメリデメを記載すると以下のようになります。


Excel

メリット

  • そもそもデータ整理に使用するための資料の殆どがexcelであるため、excel資料同士で連携が取りやすい(他のexcelシートから、Vlookupして値を取得するとかを非常にやります)
  • フィルター機能を駆使して、調べたい情報を容易に変更して確認することができる

デメリット

  • セルごとにデータ型が容易に変更できてしまう。それにより、同一シート内の同じ列上でもデータ型がバラバラな場合があり、データ整理の失敗要因となりがち
  • データ数や使用する関数が増えると、非常に重くなる
  • 誤って値を変更してしまう可能性がある。変更してしまった場合、戻すのが非常に困難。
  • 10万行以上のデータ整理をする際、excelが落ちるor出力された結果が明らかおかしい時がある


Python

メリット

  • 大量データの分析でも高速に処理できる
  • tqdm等を用いて進捗状況の管理ができる

デメリット

  • 結局pythonの良さを十二分に生かそうとすると、openxmlを用いてexcelファイル上で操作するのではなく、csvファイルに変換してから処理する必要が出てくる
  • (職場環境にもよると思うが)作業証跡の一部として、pythonコードを記載することへの抵抗がある
  • 作業のレビューを受けるときに、説明が難しい


それぞれのメリデメ踏まえた上で、どう考えるのか?

結局、SIerにおいてはほぼ全ての資料がexcelで残されていることから、excel上で作業をするというのが殆どの場合の上策になると感じています。 pythonでは、openxmlを使用することでxlsxファイルを扱うことはできるのですが、古い形式のexcel(xsl)は取り扱うことができません。

今の所私の働き方としては、基本Excelだけで仕事する方法を取っています。 他のファイルを参照しなくて良いデータ調査とかの場合においては、pythonを用いてデータ整理をしています。

Pythonのデータ整理・分析力をつけるためにもできればPythonを使用したいのですが、現状殆どの場合Excelで作業した方が早いことが殆どです。

まとめ

大学生の時はExcelなど殆ど使っていなかったですが、社会人1年過ごすことでExcelのいろはは完全に学んだなという印象です。 スキルがつかないと言われるSIerですが、Excelスキルは高確率で身につくと思います 笑 大学生時代は、Excelスキルなんて、と思っていましたが、結構馬鹿にならないものだと思います! まあ、これ以上学びたいかと言われると正直興味ないのですが、、、

あと私はマクロは勉強してないです! マクロが必要となる処理の場合、Pythonで書いてます。 後マクロが動いている間、他Excelシートが使えなくなるため、マクロを勉強する費用対効果が低いと思って勉強を辞めてしましました、、、

以上です。 お読みいただき、ありがとうございました!