ゆんの業務改善ブログ

①生産性向上 ②業務改善 ③自動化 について情報発信しています。VBAプログラムは本当の初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。

プログラミング|業務改善関連用語事典

プログラミングと言えばコンピュータが動作する指示を人間が分かる様にしたプログラミング言語を使って記述することです。ここでは業務改善のための道具という立場から見たプログラミングを解説します。

f:id:mutable_yun:20191206190033p:plain

目次

業務改善のためのプログラミング

早速プログラミングという作業を業務改善の立場から見てみましょう。ここで言うプログラムとはVBAやPythonのようなスクリプト言語を使って自動化ツールや特定の目的を達成する事ができるシステムの一部*1を作る事を指します。目的は業務改善です。

ゲームや基幹システムを作るようなプロのエンジニアが取り扱うプログラミングとはニュアンスが異なります。エンジニアが開発するプログラムは厳密な要件定義を必要とし、また、チームを組んで開発します。このような点も参考になる部分は取り入れるのが好ましいですが、業務改善においてはプログラミングは目的ではなく手段であるという立場を取ります。

かなりいろいろな事ができる

エンジニアのような基幹システムを作る事ができなくても、VBAやPython使う事ができれば実に様々なことができます。VBAでできる事はエクセルVBAでできることと限界|業務自動化からピアノ演奏までに詳しくまとめていますが、一部例を挙げると下記の様なものです。

以上は自動化の例です。他にもデータの更新のための入力を制限したり、Pythonではデータの分析や前処理というようなことも可能です。ある程度の機能を実装しようとするとそれなりに努力が必要ですが、逆に一度身に付ければ特にVBAは長く使える技術ですので、オススメです。

自動化ではRPAも一時期話題となりましたが、慣れるとVBAやPythonの方が思い通りに細かい作業が指定できますし、メンテナンスも自分で作った文やりやすいのでRPAに手をつけるならVBAかPythonのどちらかを先に学ぶ事を推奨します。またRPAはソフトのバージョンが頻繁に上がるため、バージョンの違いによる不具合などにも対応する必要があります。VBAは良くも悪くも20年前と今でほとんど同じ文法です。

プログラミングは地道な作業

Pythonにおけるデータ分析など世の中の注目を集めている技術は華やかに感じます。しかし、プログラミングというのは相当地味な作業です。華やかさとは縁遠いと言わざるを得ません。私感ですが、その作業工程はプラモデルや鉄道模型、ジオラマ、レゴブロックを作るのに似ていると思います。

まず全体としてどのようなモノを作るのかを考え、全体やユーザーが触れる部分をどのように作るかを考えます。この工程を外部設計と言います。これはプラモデルやジオラマでは構想で紙に絵を描いていく作業に当たります。次に細かい機能面を考え、どのように実装するのかを考えます。これを内部設計と言います。それぞれの部分を作成したらつなげてテストをしていきます。それぞれの部分を作成し、つなげるというのもプラモデルやレゴに近いモノがあります。この細かいところをそれぞれ作ったり、つなげて実装する部分がプログラミングに当たる部分です。

f:id:mutable_yun:20200111155934p:plain

作りたいモノを考え、自分の手を動かして作ると言うのが好きな人はプログラミングもきっと好きになるのではないでしょうか。念のための補足ですが、エンジニアがゲームや基幹システムを仕事で作る話ではありません。非エンジニアの事務職業務改善で行う手段としてのプログラミングについての解説です。

業務改善におけるプログラミングのまとめ

簡単ですがまとめます。

  • VBAやPythonなどのプログラミング言語を学ぶと自動化を始めとしていろいろな事ができるようになる
  • 自動化だけでなくデータの更新のための入力をさせたり、分析のための前処理を行う事もできる
  • プログラミング作業はツールを作る作業の一部
  • 外部設計、内部設計、プログラミングの順に進む
  • プログラミングは地味な作業
  • プラモデルやジオラマ、レゴを組み立てる様な作業なので手を動かしてモノを作るのが好きな人は好きかも知れない
  • この記事で解説しているプログラミングは、非エンジニアの事務職が業務改善の用途で使うもので、エンジニアのそれとは異なる

興味が持てればぜひチャレンジしてみましょう。文系/理系は全く関係ありません。始めて挑戦してみたい方は、下に挙げている関連記事も参考にしてみて下さい。

<関連記事>

*1:サブシステム