これで解決!GASを使って文字数をカウントする方法

GASって簡単に文字数をカウントできるって聞いたけど、どうやるんだろう…?
猫男
猫男
catman
catman
安心しろ、catmanが高速でGASを使った文字数のカウント方法を教えてやるさ。

GASで文字数をカウントする方法

文字数をカウントする方法は、JavaScriptと同じだ。

文字列の長さを取得する方法

GASではJavaScriptと同じように、lengthプロパティを使って文字列の長さを取得できる。基本的な方法を見てみよう。

function countCharacters() {
  var text = "こんにちは、catmanです!";
  var charCount = text.length;
  Logger.log("文字数: " + charCount);
}

このスクリプトは、文字列の長さをLoggerで出力してくれる。

 

おぉ、lengthを使うだけで文字数が分かるんだね!簡単そう!
猫男
猫男

スプレッドシートで文字数をカウントする

スプレッドシート内のセルに入力された文字列の文字数をカウントしたい??

そんなときは、スプレッドシートをGASで操れば実現可能だ。

function countCellCharacters() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cellValue = sheet.getRange("A1").getValue();
  var charCount = cellValue.length;
  Logger.log("セルA1の文字数: " + charCount);
}

このスクリプトは、スプレッドシートのA1セルの文字数を取得して出力してくれる。

スプレッドシートでも同じようにカウントできるのは便利そうだね
猫男
猫男

特定の文字を除いてカウントする

もし特定の文字(例えば空白など)を除いてカウントしたい場合、正規表現を使うといい。

function countWithoutSpaces() {
  var text = "これは テスト です";
  var charCount = text.replace(/\s/g, "").length;
  Logger.log("空白を除いた文字数: " + charCount);
}

このスクリプトは、空白を除いた実質的な文字数を取得する。

  • var text = "これは テスト です";
    → 対象となる文字列。空白が含まれている。
  • text.replace(/\s/g, "")
    → 正規表現 /\s/g を使って、すべての空白文字(半角・全角含む)を削除。

    • \s は空白文字(スペース、タブ、改行など)
    • g フラグは「global(全体)」→ すべての該当箇所に適用
  • .length
    → 空白を除いた文字列の文字数をカウント。
  • Logger.log("空白を除いた文字数: " + charCount);
    → 結果をログに出力。
    この例では「これはテストです」となり、文字数は8になる。
正規表現って難しそうだけど、こういう場合に便利なんだね!勉強しておこうっと。
猫男
猫男

 

練習問題

では、GASを使ってスプレッドシートの”B1″セルに入力されたテキストの文字数をカウントし、Loggerに出力するスクリプトを書いてみましょう。

 

 

解答・解説

解答はこちらです。

function countB1CellCharacters() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cellValue = sheet.getRange("B1").getValue();
  var charCount = cellValue.length;
  Logger.log("セルB1の文字数: " + charCount);
}

解説:
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet() で現在アクティブなスプレッドシートのシートを取得します。
getRange(“B1”).getValue() でシートのB1セルの値を取り出します。
– 文字数は length プロパティで取得し、Loggerで出力します。

 

catman
catman
GASを使いこなして、どんな文字数カウントも楽々こなせるさ!大量のデータにも怖がる必要はないぞ。
助かったよ、catman!GASがだんだん楽しくなってきた!
猫男
猫男