• 公開日:

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

Google スプレッドシートではシート上に入力された文字列の文字数を簡単にカウントすることが出来ます。

文字数を確認しながら作業を進めることが出来るようになれば、入稿文字数を定められたテキストデータを作成する際などに、スプレッドシートを活用していくことが出来るでしょう。

この記事では、スプレッドシートで文字数をカウントする方法を分かりやすく紹介します。

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

Google スプレッドシートで文字数をカウントする場合、関数を使用するかGoogle Apps Script(GAS)を使用します。

以下より、スプレッドシートで文字数をカウントする方法を詳しく解説します。

LEN関数でセル内の文字数をカウントする

セルに入力された文字数をカウントする場合、LEN関数を使用します。

LEN関数とは、指定したセル内の文字数を返す関数で、数式は「=LEN(セル名)」のように記載します。

カウント結果を表示したいセルを選択

カウント結果を表示したいセルを選択します。

「=LEN 」と入力

「=LEN 」と入力します。

カウントの対象となるセルを選択

カウントの対象となるセルを選択します。

Enterを押す。

数式を確定させるためにEnterキーを押します。

文字数がカウントされる

セルに入力された文字数がカウントされました。

LENB関数でセル内の文字数をカウントする

全角と半角の文字をそれぞれ判別してカウントする場合はLENB関数を使用します。

LENBは半角文字を「1」、全角文字を「2」として文字数を返す関数です。数式は「=LENB(セル名)」のように記載します。

カウント結果を表示したいセルを選択

カウント結果を表示したいセルを選択します。

「=LENB 」と入力

「=LENB 」と入力します。

カウントの対象となるセルを選択

カウントの対象となるセルを選択します。

Enterを押す。

数式を確定させるためにEnterキーを押します。

半角の文字数がカウントされる

セルに入力された半角の文字数がカウントされました。

LEN・LENBで各種正常にカウントされる

入力したLEN関数とLENB関数をそれぞれ付随するセルにコピーしました。

LEN関数では純粋な文字数を、LENB関数では全角を1/半角2としてカウントされました。

関数でセル範囲に入力された文字数をカウントする

セル範囲を指定して、範囲内に入力されている文字数をカウントする場合、LEN関数にSUM関数とARRAYFORMULA関数を併用します。

SUM関数とは、選択したセル同士や範囲の値を加算して返す関数です。

ARRAYFORMULA関数は、指定した範囲すべてに数式の結果を反映する関数です。

LEN関数と併用して使用する際、数式は「=SUM(ARRAYFORMULA(LEN(セル範囲)) 」のように記述します。

カウント結果を表示したいセルを選択

カウント結果を表示したいセルを選択します。

「=SUM(ARRAYFORMULA(LEN( 」と入力

「=SUM(ARRAYFORMULA(LEN( 」と入力します。

カウントの対象となるセル範囲を選択

カウントの対象となるセル範囲を選択します。

Enterを押す。

数式を確定させるためにEnterキーを押します。

セル範囲に入力されている文字数がカウントされる

セル範囲に入力されている文字数がカウントされました。

GASでセルやセル範囲内の文字数をカウントする

GASでスクリプトを作成して、セルやセル範囲内の文字数をカウントする場合、メニューバーにある拡張機能からスクリプトを作成し、シート上にカスタムメニューを追加して使用します。

「Apps Script」を順に選択

「拡張機能」、②「Apps Script」を順に選択します。

「新しいプロジェクト」ボタンをクリック

「新しいプロジェクト」ボタンをクリックします。

名前を変更をクリック

「無題のプロジェクト」という名前になっているので、後に分かりやすいように名前を変更します。

名前を変更をクリックします。

名前を変更します

プロジェクトタイトルを入力し、②「名前を変更」ボタンをクリックします。

プロジェクトタイトルを「文字数カウンター」としております。

GASスクリプトをコピーして貼り付けます。

下記のスクリプトをコピーして貼り付けます。

選択したセル、もしくはセル範囲内にある文字数をカウントできるマクロをカスタムメニューとして追加し、それを使用できるスクリプトです。

// 指定したセルや範囲内の文字数をカウントする関数
function countCharactersInRange(range) {
  var count = 0;
  // 2次元配列で範囲のデータを取得
  var data = range.getValues();
  
  // 範囲内の各セルをループ
  for (var i = 0; i < data.length; i++) {
    for (var j = 0; j < data[i].length; j++) {
      var cellValue = data[i][j];
      if (typeof cellValue === 'string') {
        // セル内の文字数をカウント
        count += cellValue.length;
      }
    }
  }
  return count;
}

// カスタムメニューを追加
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('カスタムメニュー')
      .addItem('文字数カウンター', 'countCharacters')
      .addToUi();
}

// メニューアイテムが選択された時に実行される関数
function countCharacters() {
  var ui = SpreadsheetApp.getUi();
  
  // ユーザーに範囲を選択させる
  var response = ui.prompt('セルまたは範囲を入力してください(例: A1 または A1:B10)');
  var rangeNotation = response.getResponseText();
  
  if (rangeNotation) {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var range = sheet.getRange(rangeNotation);
    
    var count = countCharactersInRange(range);
    ui.alert('指定した範囲内の文字数: ' + count);
  } else {
    ui.alert('無効な範囲です。');
  }
}
「プロジェクトを保存」ボタンをクリック

「プロジェクトを保存」ボタンをクリックします。

F5を押す。

現在のシートに戻り、ページを更新させるためにF5キーを押します。

カスタムメニューをクリック

メニューバーに「カスタムメニュー」が追加表示されました。

カスタムメニューをクリックします。

文字数カウンターをクリック

作成したスクリプト「文字数カウンター」が表示されています。

文字数カウンターをクリックします。

セルもしくはセル範囲を指定する

「B1:C1」とセル範囲を入力し、②「OK」ボタンをクリックします。

セル範囲内の文字数がカウントされる

スクリプトが実行され、指定したセル範囲内にある文字数がカウントされました。

特定の文字をカウントする場合

Google スプレッドシートで特定の文字をカウントする場合においても、関数を使用するかGASでスクリプトを作成します。

以下の記事にて、スプレッドシートで特定の文字をカウントする方法を詳しく解説しています。

スプレッドシートで特定の文字数をカウントする方法