中山テック 代表の中山です。
さて、弊社チルさんと晩酌をしている際に「セルの中の文字数を数えるのが大変」であると聞きました。
そんな時は中山テックにお任せあれ!
1つのセルに判定文を入れるだけであら簡単!文字数チェッカーが出来てしまいます。
早速やり方をご説明したいと思います。
文字エリアと計算エリアに分けます。
行と列の幅を大きめに変更しておきます(150文字入れるため余裕を持たしたい)。
計算エリアも警告文によってはちょっと広くします。
続いて文字入力エリアですが、このまま文字入力すると隣のセルに飛び出してしまいます。
できれば、セル内で折り返したいですよね。
その場合は文字入力エリアで右クリック⇒セルの書式設定⇒配置タブ⇒折り返して全体を表示するを選択。
これで文字が折り返されます。
文字数制限処理
IF関数を使う
IF(条件,真の処理,偽の処理)
例えば、A1セルが1だった場合(A1=1)にTRUEと入れます。
そうでなければFALSEを入れるとします。
- Excel(エクセル)で行を表示させない方法~グループ化らくらく非表示♪~
- 各プログラミング言語のHelloWorldをご紹介
- セルの中は何文字?Excel(エクセル)のとある関数を使って文字数を計算する方法~警告文も作ろう!~
- 【JavaScript×CSS】×ボタン押したら広告を削除する方法~画像代用も可~
- エンジニアが使うべきクラウド5選
LEN関数を使う(IF関数に混ぜ込む)
LEN(対象セル)
LENという関数を使うと対象セル内の文字数をゲットできます。
※全角文字でも1文字で計算してくれます
前項のIF関数を使用して「もし150文字を超えたら、"150文字超えたよ!現在XXX文字です"と出し
そうでなければ"現在XXX文字です"のみを出す」という命令文を記載します。
=IF(LEN(A1)>150,"150文字超えたよ!現在"&LEN(A1)&"文字です","現在" & LEN(A1)&"文字です")
この命令文をB1セルに入れてあげましょう。
※アンパサンド(&)は文字列と関数を結合させるものと覚えて頂ければと
1+1の計算なら「"1+1=" & 1+1」と命令し、セルに「1+1=2」と出ます
A1セルに文字を入れてないので0文字ですと表示されました。
では150文字を超えたらどうなるでしょう。
無事完成です!
一度Enterを押して何文字かをチェックしなければならない手間がありますが、一つの指標にはなると思います。
また、複数行でやりたいという方はA1とB1セルをコピーして好きなだけ下にペーストしてください。
リアルタイムで計算したい
文字を打ったらB1セルの文字数もカウントされる仕組みを作るには?
流石にVBAでのプログラミングが必要となります。
他、「150文字を超えたよ!」のみ赤文字にしたい、という場合もVBAで制御する必要があります。
まぁ時間ある時に作ってみますね。
まとめ
以前VBSで文字数チェックツールを作るというブログも執筆しましたが、Excelバージョンは非常に簡単です。
何せ関数のみで実現できてしまうので(高機能なチェッカーを作りたい場合は別ですが)。
もし必要という方がいらっしゃいましたら是非参考にしてみて下さい!
最後までご覧いただき、ありがとうございました。