【短期集中連載】〈第2回〉プログラミングの難しい知識は不要! Excel×Pythonで最低限押さえたい3つのルール
何百回と繰り返されるコピペ、複雑なフォーマットへの手入力、時間のかかるウェブからの情報収集……単純な事務作業の手間をなんと10分の1以下に圧縮する時短化ツール、Python。
『めんどうな作業が秒速で終わる! Excel×Python自動化の超基本』(宝島社)の著者である伊沢剛さんにExcel×Pythonのすごさを解説していただく連載の第2回は、PythonでExcel業務を自動化するために知るべき、たった3つのルールを紹介します!
プログラミングにありがちな難しい専門知識や仕組みの理解は、一切不要。Excel×Pythonに必要な最低限の基礎知識を紹介しましょう!
「順次」「選択」「反復」の3つのルール
Excel業務をPythonで自動化するということは、Excelで行っている作業をプログラムによって再現するということです。したがって、私たち人間が行っている作業をコードで書き表すためのルールを押さえておく必要があります。
知っておくべきルールは、3つだけです。1つずつ解説しましょう。
①順次
みなさんの仕事で、1つのアクションだけで作業が終了するものはほとんどないはずです。上から順番にデータを入力して合計を計算する、グラフを作成して資料に貼り付け、メールで送るなど、単純な仕事でもいくつかの作業手順を経て完結しています。
この「手順」をプログラムに理解してもらうためのルールが、「順次」です。
具体的には、例えば以下のようなコードを見てください。
#順次処理 上から1つずつ処理されていきます
print(“1つめの処理”)
print(“2つめの処理”)
print(“プログラム終了”)
このプログラムを実行してみましょう。
すると、自動で“1つめの処理”、“2つめの処理”、“プログラム終了”という3つの言葉が出力されました。
このように、「コードに書かれた作業が上から1つずつ処理される」というのが順次の仕組みです。
②選択
たとえば、顧客データから20歳以上の人と20歳未満の人を分けてまとめ直す、という作業があったとしましょう。そんなとき、皆さんは自分の手でデータを振り分けたりExcelのフィルタリング機能を活用したりして、「20歳以上か、20歳未満か」を必ず判断しています。
この動きを再現するのが、「選択」のルールです。
具体的には、以下のようになります。
#選択
#ポイント 6行目と8行目はTabキーを押してずらします(インデント)
age = input(“年齢を入力して下さい”) #キーボードから入力を受け付けます
age = int(age) #文字として扱われているデータを数値に変換します
if age >= 20: #入力されたageの値が20以上ならすぐ下の命令が実行されます
print(“お酒を飲めます”)
else: #20未満の場合は下の処理が実行されます。
print(“お酒を飲んではいけません”)
print(“プログラム終了”)
プログラムを実行すると、Visual Studio Code下部のターミナルに「年齢を入力して下さい」と表示され、キーボード入力を受け付ける状態になります。年齢にあたる部分を半角数字で入力してください。
“#”がついたコメントで説明のあるとおり、20以上であれば”お酒を飲めます”、20未満なら“お酒を飲んではいけません”と出力されるはずです。このルールを応用して、さまざまな作業に生かしていくことになります。
③反復
最後の3つめのルールは、「反復」です。これは、コードで指定するところまで同じ作業を繰り返すというルールで、作業で取り扱うデータが多ければ多いほど効果的になります。
コードを見てみましょう。
#反復
#1から10までを足し算します。
goukei = 0
for i in range(1,11): #iの値を1から1づつ増やして11になったらループから抜ける
goukei = goukei + i #goukeiの値にiを加算する
print(“合計は” + str(goukei) + “です”) #goukeiを文字列に変換して表示
#1から10までを表示します
count = 1
while count <= 10: #countの値が10以下の間11行目を繰り返します
print(count)
count = count + 1
実行すると、以下のような結果が出力されます。
1から10までの間で数字の記入を1ずつ増やす作業を繰り返したうえで、”合計は” + str(goukei) + “です”というコードに対し、str(goukei)の部分がプログラムで計算された「55」として出力されていることがわかります。
これらの3つのルールと実際のプログラムの動きは、次の動画にもまとめています。
この「順次」「選択」「反復」というルールを組み合わせ、人間がやる作業をプログラムで再現する、というのが業務自動化の考え方です。今までは人間の手で何百回とコピペして作っていたような資料も、プログラムによってものの数秒でできます。
Pythonによる業務自動化とは、一言でいえば「行う作業の工程を細かく分け、コードという言葉によって書き出す」ことを意味します。
プログラミング言語によって、どんな仕事をすればいいのかをパソコンに説明してあげるイメージです。
逆にいうと、コードによる書き出しさえしてしまえば、パソコンで作業が完結する仕事についてはほとんどがPythonで自動化できるのです。
ざっと説明しましたが、Excel×Pythonには大きな可能性が秘められています。
テレワークになったことで、上司から大量の事務作業を振られて後はほったらかしという人も多いと思います。そんな人にとって、Pythonが業務効率化の救世主になれば幸いです。
『めんどうな作業が秒速で終わる! Excel×Python自動化の超基本』(宝島社)
著/伊沢剛(教育系YouTuber)
定価/1980円+税
電子書店
https://www.amazon.co.jp/dp/4299008154/ref=cm_sw_r_tw_dp_x_XQWFFb4NSKKGN