openpyxlを使用しPythonでExcel(エクセル)での算術演算について解説しています。(Windows10)
なお、openpyxlモジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■openpyxlを使用しExcel(エクセル)での算術演算
では、早速openpyxlを使用しExcel(エクセル)での算術演算を行います。
■数値を加算する
■コード
import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = 100 sheet['A2'] = 200 sheet['A3'] = 300 sheet['A4'] = 400 sheet['A5'] = 500 sheet['A6'] = '= SUM(A1:A5)' wb.save(r"C:\Users\user\test\sum.xlsx")
インポートでopenpyxlモジュールを呼び出します。wbという変数を作成し、その中にopenpyxl.Workbook()と記述し、新しいExcel(エクセル)、ワークブックを作成し格納します。
格納後、sheetという変数を作成し、その中に新しいワークブックでアクティブなワークシートを取得し格納します。
格納後、今回はアクティブなワークシートの「A1」から「A5」のセルに数値を書き込みます。
書き込んだ後は、アクティブなワークシートの「A6」に「= SUM()」と記述し、「A1」から「A5」に書き込んだ数値を加算します。
加算した後に、wb.save()と記述し、数値を加算した状態のExcel(エクセル)、ワークブックを、指定した場所に保存します。
■実行
今回のスクリプトを「excel_add_numbers.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、今回指定したファイルの保存場所である「C:\Users\user\test(フォルダパス)」に、Excel(エクセル)ファイルが保存されていることを確認できました。
Excel(エクセル)の中身を確認すると、セルに書き込んだ数値が加算されていることを確認できました。
■数値を乗算する
次に、openpyxlを使用しExcel(エクセル)のセルの範囲内すべての数値を乗算してみます。
■コード
import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = 5 sheet['A2'] = 6 sheet['A3'] = 7 sheet['A4'] = 8 sheet['A5'] = 9 sheet['A6'] = '= PRODUCT(A1:A5)' wb.save(r"C:\Users\user\test\product.xlsx")
インポートでopenpyxlモジュールを呼び出します。数値を加算する時と同じように、新しいExcel(エクセル)、ワークブックを作成し、アクティブなワークシートのセルに数値を書き込みます。
書き込んだ後に、「= PRODUCT()」と記述し、アクティブなワークシートのセルに書き込んだ数値を乗算します。
乗算した結果を、指定した場所にExcel(エクセル)ファイルで保存します。
■実行
このスクリプトを「excel_add_product.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、Excel(エクセル)ファイルが保存されていることを確認できました。Excel(エクセル)の中身を確認してみると、ワークシートのセルに書き込んだ数値が乗算されていることを確認できました。
■数値の平均(算術平均)を表示する
次に、openpyxlを使用しExcel(エクセル)のセルの範囲内すべての数値の平均(算術平均)を表示してみます。
■コード
import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = 100 sheet['A2'] = 200 sheet['A3'] = 300 sheet['A4'] = 400 sheet['A5'] = 500 sheet['A6'] = '= AVERAGE(A1:A5)' wb.save(r"C:\Users\user\test\average.xlsx")
インポートでopenpyxlモジュールを呼び出します。数値を乗算する時と同じように、新しいExcel(エクセル)、ワークブックを作成し、アクティブなワークシートのセルに数値を書き込みます。
書き込んだ後に、「= AVERAGE()」と記述し、アクティブなワークシートのセルに書き込んだ数値の平均(算術平均)を出力します。
出力した結果を、指定した場所にExcel(エクセル)ファイルで保存します。
■実行
このスクリプトを「excel_add_average.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、Excel(エクセル)ファイルが保存されていることを確認できました。Excel(エクセル)の中身を確認してみると、ワークシートのセルに書き込んだ数値の平均(算術平均)が表示されていることを確認できました。
■割り算の整数部分を求める
次に、openpyxlを使用しExcel(エクセル)で割り算の整数部分を求めてみます。
■コード
import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = '= QUOTIENT(64, 8)' sheet['A2'] = '= QUOTIENT(25, 4)' wb.save(r"C:\Users\user\test\quotient.xlsx")
インポートでopenpyxlモジュールを呼び出します。新しいExcel(エクセル)、ワークブックを作成し、アクティブなワークシートの取得します。
取得後、アクティブなワークシートのセルに「= QUOTIENT()」と記述します。括弧内では、第1引数に割られる数値、第2引数に割る数値を記述します。これで割り算の整数部分を求めることができます。
最後に指定した場所にExcel(エクセル)ファイルで保存します。
■実行
このスクリプトを「excel_add_quotient.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、Excel(エクセル)ファイルが保存されていることを確認できました。Excel(エクセル)の中身を確認してみると、割り算の整数部分を求めることができました。
■割り算の余りを求める
次に、openpyxlを使用しExcel(エクセル)で割り算の余りを求めてみます。
■コード
import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = '= MOD(64, 8)' sheet['A2'] = '= MOD(25, 4)' wb.save(r"C:\Users\user\test\mod_answer.xlsx")
インポートでopenpyxlモジュールを呼び出します。新しいExcel(エクセル)、ワークブックを作成し、アクティブなワークシートの取得します。
取得後、アクティブなワークシートのセルに「= MOD()」と記述します。括弧内では、第1引数に割られる数値、第2引数に割る数値を記述します。これで割り算の余りを求めることができます。
最後に指定した場所にExcel(エクセル)ファイルで保存します。
■実行
このスクリプトを「excel_mod_answer.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、Excel(エクセル)ファイルが保存されていることを確認できました。Excel(エクセル)の中身を確認してみると、割り算の余りを求めることができました。
■数値をカウントする
次に、openpyxlを使用しExcel(エクセル)で数値をカウントしてみます。
■コード
import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = 100 sheet['A2'] = 200 sheet['A3'] = 300 sheet['A4'] = 400 sheet['A5'] = 500 sheet['A6'] = '= COUNT(A1:A5)' wb.save(r"C:\Users\user\test\count_number.xlsx")
インポートでopenpyxlモジュールを呼び出します。新しいExcel(エクセル)、ワークブックを作成し、アクティブなワークシートの取得します。取得後、ワークシートのセルに数値を書き込みます。
書き込んだ後に、「= COUNT()」と記述し、アクティブなワークシートのセルの数をカウントします。
カウントした結果を、指定した場所にExcel(エクセル)ファイルで保存します。
■実行
このスクリプトを「excel_count_numbers.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、Excel(エクセル)ファイルが保存されていることを確認できました。Excel(エクセル)の中身を確認してみると、アクティブなワークシートのセルの数がカウントされていることが確認できました。
コメント