お問い合わせ
    氏名

    メールアドレス

    件名

    お問い合わせ内容



    会員登録(無料)
    ログイン
    スキルアップは今すぐこちら!▶

    【GAS】文字列を数値に変換する方法(JavaScript)

    GAS(グーグルアップススクリプト)
    この記事は約3分で読めます。

    例えば、列の合計値を出そうとして、セルの値を足していくと…

    全部の数字が繋がって、連結された状態になってしまいました・・・。

    こちらを「数値の合計」に変換してみます。

    とりあえず、コード。

    こんな感じになりました。シンプルに列の右側の数値を全部足していく感じにしてみました。

    function sumrow() {
    const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    const sheet = spreadsheet.getActiveSheet();
    const activesheet = sheet.getActiveCell();
    const Row = activesheet.getRow();
    const lastCol = sheet.getLastColumn();
    const COL_NUM = 2;
    let calc = "";
    let total = "";
    for(i=0; i<lastCol;i++){
      calc = sheet.getRange(Row,COL_NUM+i).getValue();
      total += calc;
    }
    return total;
    }

    そして、セルで実行してみると。

    _| ̄|○

    文字を数値に変換する(Number)

    結果を見ると文字の連結のようになっているので、取得した値を数値に変換します。

    セルの値を取得している部分を「Number」を使って変換します。total、calc、それぞれの変数をNumber()を使って変換します。

    for(i=0; i<lastCol;i++){
      calc = sheet.getRange(Row,COL_NUM+i).getValue();
      total = Number(total) + Number(calc);
    }

    Number
    Number はプリミティブラッパーオブジェクトで、 37 や -9.25 のような数値を表現したり操作したりするために使用されます。

    https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number
    Number('123')  // 数値 123 を返す
    Number('123') === 123  // true
    
    Number("unicorn")  // NaN
    Number(undefined)  // NaN

    結果▶

    数値に変換されました!

    まとめ

    ということで、Numberのコンストラクターを使うと、変数の中身を数値に変換してくれます。

    そもそも、let calc = “”;、let total = “”;の部分をlet calc = 0;、let total = 0;としておくと、変換が要らなかったような気もします・・・。

    が、文字を後から数値に変換したいという場合には今回の方法が使えます。

    ご参考ください😃

    0 件のコメント

    コメント
    タイトルとURLをコピーしました