質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1859閲覧

Python openpyxlを利用して計算式を連続挿入

warudakumi

総合スコア23

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/07/14 12:33

Pythonにて、openpyxlを利用して計算式を連続挿入方法
Jupyterを利用しております

下記結果をfor文で回したいと考えました

html

1import openpyxl 2wb = openpyxl.load_workbook("sample.xlsx") 3sheet = wb["Sheet1"] 4 5sheet.cell(row=3, column=7).value = "=B3&C3" 6sheet.cell(row=4, column=7).value = "=B4&C4" 7sheet.cell(row=5, column=7).value = "=B5&C5" 8sheet.cell(row=6, column=7).value = "=B6&C6" 9 10wb.save("sample_result.xlsx")

下記やったことですが、EXCELを開くと一部読み取ることが出来ない〜
実際の式部分には =SUM(Bi&Ci) の状態となります

html

1import openpyxl 2wb = openpyxl.load_workbook("sample.xlsx") 3sheet = wb["Sheet1"] 4 5for i in range(3,8): 6 sheet.cell(row=i, column=7).value = "=SUM(Bi&Ci)" 7 8wb.save("sample_result.xlsx")

また、取得を.max_rowなどで、最大値まで、自動で計算式が入る方法を教えていただければ幸いです

何卒よろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以下のような感じでしょうか。
SUMを利用しているので&ではなく:でセル範囲を指定しています。

Python

1import openpyxl 2wb = openpyxl.load_workbook("sample.xlsx") 3sheet = wb["Sheet1"] 4 5min_row = sheet.min_row 6max_row = sheet.max_row 7for i in range(min_row, max_row+1): 8 sheet.cell(row=i, column=7).value = "=SUM(B{}:C{})".format(i,i) 9 10wb.save("sample_result.xlsx")

イメージ説明

投稿2019/07/14 12:52

can110

総合スコア38262

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

warudakumi

2019/07/14 13:16

返信、コメント誠にありがとうございます こちらの情報提示が少なく、文字の結合(住所の結合)や郵便番号の結合を考えておりましたので、&にしておりました、forでの回し方がわかりました &でも動くことも確認できましたので、大変参考になりました、初心者ではございますが、Pythonを活用して行きたいと思っておりますので、今後共よろしくお願いいたします ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問