数値が指数表記になってしまいます。解決方法はありますか?

Excelで桁数の多い数値を扱う場合、Excelの機能により自動的に指数表示になるときがあります。
例えば、以下の図では実際には「123456789012」と入力されていますが、見た目では「1.23457E+11」と表示されています。

スクリーンショット 2025-09-25 180833.png

このままの状態でCoopelがA1セルの値をコピーすると、[セルをコピー]アクションの結果としては「1.23457E+11」と指数表示のままの値がコピーされており、後続のアクションで[セルをコピー]の結果を参照したときに意図しない結果になることがあります。

 

ここではExcelで指数表記を避けるための方法を2つ紹介します。

 

方法1:[セルの書式設定]アクションを使う場合

シナリオサンプル

アクションの解説

  • スクリプトを実行

    このアクションでは[セルをコピー(指数表記修正前)]の要素数(コピーするセルの数)を取り出します。

    ①引数:

    {"data": [セルをコピー(指数表記修正前)]}

    ②JavaScript:

    data.length;
  • セルの書式設定

    前のアクションである[スクリプトを実行]でセルの件数を取得し、その範囲にのみ書式を設定します。

    ①対象シート:事前に設定したシートを参照します。[シートをシート番号で指定]を使用している場合も同様に参照します。

    ②設定対象の範囲:この表記の場合、A1から[セルをコピー(指数表記修正前)]でコピーした最終行までが書式設定の対象となります。

    ③書式の設定:0

実行結果

指数表記が解消され、正しい表記がコピーされています。

実際のExcelでも指数表記が解除されていることが確認できます。

方法2:[数式を設定]アクションを使う場合

この方法では指数になっている値を、指数表記を解除して別のセルに設定します。

シナリオサンプル

アクションの解説

  • 各要素について繰り返す

    ①受け取るリスト:[セルをコピー(指数表記修正前)]を参照します。

  • カウンター

    ①追加する値:1行ずつ処理をしていく場合は「1」を設定します。

    ②初期値:1行目から処理を行う場合は未記入にします。2行目から処理を行う場合、①追加する値を「1」、②初期値を「1」とします。

  • 数式を設定

    ①対象シート:事前に設定したシートを参照します。[シートをシート番号で指定]を使用している場合も同様に参照します。

    ②数式:TEXT(A[カウンター],"0")

    ③設定対象のセル:関数を反映させるセルを指定します。表記例のようにすると、B列に反映されます。

実行結果

指数表記が解消され、正しい表記がコピーされています。

実際のExcelでもB列に指数表記が解除されている値が設定されていることを確認できます。

コメント

0件のコメント

サインインしてコメントを残してください。