使いやすい文字数カウンターがないのでExcelで自作してみた

Webライター

ライターにとって、文字数カウンターは記事を書くときの必須アイテム。WordやEvernote、無料の文字数カウンターサービス、Google Chromeの拡張機能まで、優秀なサービスはたくさんあります。これまで使いやすいカウンターを探すべく、いろいろ試してみました。ただ、どれもこれも帯に短し襷に長し…。

なかなかしっくりくるのがなかったので、Excelの関数を使って文字カウンターを作ってみました。

既存の文字数カウンターで満足できなかった理由

  • 数回クリックしないと文字数の確認ができない
  • Wordに見出しと本文をペーストした場合、カウントしたい部分をドラッグするのが面倒
  • 無料のWebサービスを使う場合、ブラウザ、Webサイトを開いてコピペするのが面倒
  • Chromeの拡張機能は改行とスペースもカウントしているっぽい→文字数だけを数えて欲しい

理想は段落ごとの文字数とすべての段落の合計文字数が、クリックなしで一目瞭然であることです。

ちなみに、私が利用しているサグーワークスの投稿画面には文字カウンターがついています。が、直接入力していると、ブラウザがフリーズしたり落ちたりすることがあるんです…。だから、ローカル環境でライティングしてからコピペしています。

自作文字数カウンター、セルの説明


画像の一番上から、

  • ベージュのセルはキーワード
  • ピンクのセルは全段落の合計文字数
  • 緑のセルはメインタイトル
  • 黄色いセルは各段落の見出し
  • 白いセルは本文入力部分

ちなみにベージュとピンクと緑のセルはスクロールしても常に見えるように固定してあります。

緑セルの直下にある黄色セルを選択してから、「表示」→「ウィンドウ枠の固定」→「ウィンドウ枠の固定(F)」

今回のメインテーマである文字数カウンターは、画像向かって右端にある数字の部分です。

3つとも関数が違いますので、次の段落からそれぞれ説明していきますね。

キーワードカウンター

画像の赤マル部分がキーワードカウンターです。

=COUNT(INDEX(FIND(“文字数カウンター”,A7:A37),))

A7からA37のセルの中で「文字数カウンター」のキーワードを含むセルを見つけ出してカウントする、という意味です。

厳密に言うと、キーワードを1つ1つ数えてくれるわけではなく、あくまでもキーワードを含むセルをカウントするだけなので、正確なキーワード数を数えるわけではありません。ただ、まんべんなくキーワードが散らばっているかどうかを確認するにはちょうどよく、現状はこれでまあいいかな、と思っています(できれば正確なキーワード数が知りたいんですが、現状関数の組み方がわからないです…)。

合計文字数カウンター


画像の緑マル部分が合計文字数カウンターです。

=SUM(B7:B37)

これは単純にSUM関数を使って、段落ごとの文字数合計を出していますので簡単です。

段落ごとの文字数カウンター

画像の水色マル部分が各段落ごとの文字数カウンターです。

=LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A7,CHAR(10),””),” “,””),” ”,””))

LEN関数は文字列の文字数を返してくれる関数です。
一見、【=LEN(引数)】でOKな気がしますが、コレだとスペースと改行まで一緒にカウントしてくれちゃうので、ダメなんですよね。

そこで使用したのが、指定した文字列をほかの文字列に置き換えてくれるSUBSTITUTE関数。
SUBSTITUTE関数は文字列、検索文字列、置換文字列の順に記述します。

全角文字と半角文字のみをカウントするには、改行・全角スペース・半角スペースの3つをノーカウントにする必要があります。「CHAR(10)」はCHAR関数。コード番号10で改行を意味します。

  • (SUBSTITUTE(A7,CHAR(10),””)→A7セル内の改行をスペースなしに置き換え。
  • (SUBSTITUTE(A7,” “,””)→A7セル内の半角スペースをスペースなしに置き換え。
  • (SUBSTITUTE(A7,” ”,””)→A7セル内の全角スペースをスペースなしに置き換え。

この3つを1行で書くと上記の記述になります。

私は関数に詳しくないので、ここが一番苦労しました。
Google様に感謝…いや、教えてgooの質問者様と回答者様たちに感謝です。

まとめ


このカウンターを作ってから、これしか使っていません。興味のある方は、コピペして使ってみてくださいね!

  • =COUNT(INDEX(FIND(“文字数カウンター”,A7:A37),))
  • =SUM(B7:B37)
  • =LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A7,CHAR(10),””),” “,””),” ”,””))

「A7:A37」などのセル番号は適宜変えてください。

コメント

  1. 僕はwebならこの2つ
    http://www.moji-count.com →改行とか空白とか除外してチェック
    http://crocro.com/tools/item/count_keywords.html →キーワードをエクセルからベコっとはりつけてチェック
    あとはコーディング用のエディターで大体やってまーす。
    使ってるのはUnEditerです。
    文字数カウント、ショートカットでのタグ付、検索、置換など大体いけますので、まあまあ便利でっす!

  2. ほうほう、なるほど…
    サバ様、プラチナインタビューでもコーディング用エディター使っているっておっしゃってましたもんね。
    ずっと何のエディターを使っているのか気になっていたのです。
    教えてくれてありがとうございます!
    あとでwebのカウンターとサバ様愛用のエディター、試してみます!
    今、大量案件こなし中なのに、ワタシ何やってんのかしら~

  3. テスト前に部屋の掃除したくなるのと同じ原理では!
    オラも追いつめられると意味不明な行動しますしね…サババババ

  4. はぁ~、普段ズボラな私が忙しくなると部屋がキレイになるのはそれが理由…
    うっ…

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