Pythonを使って、Excelの別シートからデータを集めることもできます。
※Pythonの画面 by FUJIFILM X-Pro3+90mmF2
Pythonの前提
PythonでExcelの操作をするには、
・Pythonのインストール、ダウンロード
・PowerShell(Windows)、ターミナル(Mac)で、openPyxlをインストール
という手順が必要です。
この記事や動画を参考にしていただければ。
PythonでExcelの別シートから転記
今回の事例は、こういったシートが4月から翌年3月まであり、その合計値を
シート「集計」に集めるというものです。
合計値のセルはシートごとに異なります。
同じ場所の場合はもっとシンプルです。
PythonでExcelの転記をするなら、こう書きます。
wbはファイルを意味し、wb[‘4月’]でシート「4月」、wb[‘4月’][‘d38’]でシート「4月」のセルD38という意味です。
シート「4月」のセルD38をシート「集計」のセルB1に転記する場合、
・Excelを操作するライブラリ(アプリのようなもの)を開く
・Excelファイルにアクセスする(値のみ)
・転記する
・保存する
という手順になります。
Excelファイルの指定をするには、エクスプローラー(Windows)・Finder(Mac)でパス名をコピーしましょう。
Pythonは、Excelファイルを閉じた状態で実行する必要があり、最後に保存する必要があります。
これをすべてのシートで繰り返すように変えていきましょう。
PythonでExcelのすべてのシートから転記
Pythonで繰り返しをするときに使うのは、forです。
その下のインデントがついている部分(Tab)を繰り返します。
まずは、このように変えてみましょう。
wsというのは各シートを意味します。
wb[‘4月’]をwsに書き換えます。
これで各シートを指定できるのです。
このd38は、こう書くこともでき、さらに
38をws.max_rowに書き換えましょう。
各シートで、最終行(max_row)は違うのでこう指定するのです。
Pythonの場合、文字と数字をくっつける(+)ことはできないので、ws.max_rowをstr(string=文字)で文字にします。
このままだと、b1にずっと転記してしまうので、1行ずつずらします。
rowに1を入れて、まずはB1、次にB2、B3……と増やしていくようにこう変えましょう。
全体はこんな感じです。
Excelファイルも置いておきます。
EX-ITサンプル_複数Excelシート集計Python.xlsx
#ライブラリの読み込み import openpyxl #設定 file=r'/Users/yoichiinoue/Dropbox/EX-ITサンプル_複数Excelシート集計Python.xlsx' # Excelファイルの読み込み wb=openpyxl.load_workbook(file ,data_only=True) #転記先の行 row=1 #転記 for ws in wb.worksheets: wb['集計']['b'+str(row)].value = ws['d'+str(ws.max_row)].value row=row+1 # 保存 wb.save(file)
なお、Excelマクロ(VBA)だと、こう書きます。
比べていただくと同じようなことをしていることがわかるかと。
Excelマクロだと
・別途インストール、設定が必要ない(ほぼ)
・Excelファイルを開きながら実行できる
というメリットがあり、
Pythonだと、
・Excel以外の自動化にも使いやすい
・Excelと他のアプリの組み合わせの自動化もしやすい
という特徴があります。
Pythonのほうがシンプルで、最終行をmax_rowと入れて気軽に使えるのも便利です。
試してみていただければ。
■編集後記
昨日は、メールコンサルティング、週刊メルマガ執筆、YouTube収録など。
カメラのレンズ試しも。
■1日1新→Kindle『1日1新』 ・Instagram『1日1新』
チョップドサラダデイズ
■娘(4歳8ヶ月)日記→Kindle『娘日記』
勤労感謝の日を保育園で教えてもらったようで、「パパとママにありがとうって言う」と楽しみにしています。
パパも一応含めてくれているようです。
ブログは仕事と認めてくれているので。
会社に行ってないけど。
■著書
『税理士のためのプログラミング -ChatGPTで知識ゼロから始める本-』
『すべてをがんばりすぎなくてもいい!顧問先の満足度を高める税理士業務の見極め方』
ひとり税理士のギモンに答える128問128答
【インボイス対応版】ひとり社長の経理の基本
「繁忙期」でもやりたいことを諦めない! 税理士のための業務効率化マニュアル
ひとり税理士の自宅仕事術
リモート経理完全マニュアル――小さな会社にお金を残す87のノウハウ
ひとり税理士のセーフティネットとリスクマネジメント
税理士のためのRPA入門~一歩踏み出せば変えられる!業務効率化の方法~
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる
AI時代のひとり税理士
新版 そのまま使える 経理&会計のためのExcel入門
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
【監修】十人十色の「ひとり税理士」という生き方