ExcelとGoogleスプレッドシートで、15桁を超えるあたりの挙動が異なることを記事にしました。
有効桁数は15桁ですが、処理できる最大値は無量大数よりも大きいのがExcelの仕様です。
有効桁数の15桁を超えても、内部でちゃんと計算できていることを「Python in Excel」で確認できます。
15桁を超えても計算できることをPython in Excelで確認する
先日の、A1セルに「99999999999996」を入力、A2セルに式「=A1+1」を入力後A15セルまでオートフィル、B1:B15セルに15桁を超えるような式「=A1+900000000000000」を入力を行った後のワークシートで、以下の操作を行うと15桁を超えてもExcelで計算ができている様子を確認できます。
num = xl("B1")
f'{num:,d}'
と入力して[Ctrl]+[Enter]
↓
C1セルをC15セルまでオートフィル
上記の操作を行うと、下図のような状態になります。
「1,000,000,000,000,001」となって欲しいけれど、「1,000,000,000,000,000」と表示されているB6セルの隣のC6セルにも、「1,000,000,000,000,001」が表示されています。
Pythonセルに入力したコードの意味
C1セルに入力した1行目は、
num = xl("B1")
変数numにB1セルの値を代入しているコードです。
2行目の
f'{num:,d}'
は、拙著『Python入門を読み終えた人へ…1:文字列フォーマットの基本』の「3章 str.formatとf-string」でも解説しているf-string(f文字列・フォーマット済文字列リテラル)を使って、変数numをフォーマットするコードです。
「num:」の後ろに、「,d」と指定することで、変数numの値を、桁区切り「,」つきの10進表記の文字列にしています。
最終更新日時:2023-12-15 17:49
Home » Python » Python in Excelの使い方 » Python in Excelなら15桁を超えても計算できることを確認できる