Excelは表計算ソフトなので主役は数値ですが、その数値が何なのかなどの文字列も多く使用されます。
今回は、それら文字列を扱うときに知っておいていいかもね、的な関数や小技を集めました。
こんな風な販売データがあったとして、例を見ていきましょう。

LEN関数|文字列の文字数
例えば「商品詳細の項目が何文字あるか知りたい」という事態に陥ったとします。
そのときに使うのがLEN関数です。
LEN関数
=LEN(文字列)
lengthを調べる関数ということですね。
=LEN(“リンゴジュース”)
みたいな書き方でもOKですし、文字列が入っているセルを指定してやっても大丈夫です。

こんな関数使うのか…? てなるかもしれませんが、たまにあるんですよ。入力文字数の最大値をどうすっぺかな〜とか、仕事しているといろいろあるんです。
LENB関数|文字列のバイト数
参考としての紹介です。文字列の文字数ではなく、バイト数を数える関数もあります。
LENB関数
=LENB(文字列)
でも、いまどきの人って、バイト数とか、気にします…?
20世紀にPCを触っていたときはそりゃもう気にしまくっていまして。
何しろ3.5インチのフロッピーディスクが1.44MBしかなかったんですよ。今ではスマホでも256GBじゃ少ないってのに。
えっ、フロッピーディスクを知らない?
「上書き保存」とかのアイコンの💾を何だと思ってるの? 見たことない? そっかー…。
えーと、3.5インチのフロッピーディスクの1.44MBがどんなもんかというと、いまどきのスマホの写真なんか1枚も保存できないという体たらくですよ。
Excelファイルも、超複雑なマクロとかグラフとかが入っていない、シンプルな表計算だけであれば10とか20とか一応保存できるけど、程度です。
ワタシの場合、ゆるゆる文系学生だったので卒論データは本文と元データをフロッピーディスク1枚に収めることができたけど、それが精一杯(グラフや図表もあるからね)というカンジです。
記憶媒体がそんなんだし、Excelもちょっとでも重たい作業をするとすーぐフリーズするしで、とにかく軽量命! 容量は少ないのが正義! というのが魂の芯まで染みついている世代です。
そんなんだから昔はバイト数ってのを結構気にしていて、減らせるもんならとにかく減らそうと腐心したのでした。
それが今では重量級のファイルをほぼ無制限に保管できるような環境になってしまい、いい時代になったなあ…としみじみとすると共に、「無駄な数式の入った、どうでもいいようなクソ重いファイルが、クラウドにどっさり漂っているんだろうなあ…」と想像すると、ちょっと暗い気分になります。
なお、1バイトは半角英数字1文字分です。
日本語の全角のひらがなや漢字は2〜3バイト必要です。
今でもWindowsのパス名やファイル名はバイト数に制限があるということを一応覚えておいてください(なので古い人間は全角日本語をファイル名に使わず、英数字で何とかしようとしがち。これを半角日本語で解決しようとする人もいるけど、半角日本語は半角日本語で問題がいろいろ発生するので、軋轢が生じる)。
LENB関数も、LEN関数と同じような感覚で使えます。

LEFT関数 RIGHT関数|左端・右端から何文字か取り出す
文字列の一部だけを取り出したいとき、左・右から何文字という指定ができるのがLEFT関数とRIGHT関数です。
LEFT関数
=LEFT(文字列, 左端から取り出す文字数)
RIGHT関数
=RIGHT(文字列, 右端から取り出す文字数)
下の画像では、「商品詳細」の文字列に対して、J列にLEFT関数・K列にRIGHT関数が入っています。

MID関数|取り出す文字列の開始位置と文字数を指定
左右の端っこからじゃなくて、真ん中から取り出せないの?
とお思いでしょうとも。できますよ。
MID関数
=MID(文字列, 取り出しの開始位置, 取り出す文字数)
文字列の2文字目から2文字を取り出したいというときは、こうなります。

VALUE関数|数値に変換
これはよく使う関数です。
VALUE関数
=VALUE(数値に変換したい文字列)
数値に変換したい文字列ってなんぞや。
ってカンジですが、例えば日付の「2026/1/10」。これは一見文字列に見えますが、正体は数値です。
書式設定で表示形式を日付でなく数値にしてやれば数値にできますが、VALUE関数でも同じことができます。

これをなぜ多用するかというと、世の中のExcelには、数値に見えるけど実は文字列として認識されているデータが多々あるから。
こちらの記事で「冒頭ゼロ消失問題」の解決策として数値の前に「’」をつける方法を示しました。こういうのが「一見数値だけど実は文字列」になってしまいます。
これをそのままXLOOKUPだのINDEXだのに使うとエラーになります。
それを解決するために、文字列になっているセルをVALUE関数で数値にする、というので多用します。
なお、逆に数値を文字列にするのがTEXT関数です。
文字列を区切る
なんかずらずらと文字列が並んでいるけれど、これを区切って列を分けたい。

そんなときは関数ではなく、Excelの機能でいけます。
分割したい範囲を選択して、「データ」タブから「テキストを列に分割する」あるいは「区切り位置」をぽちっとしてください。

そうすると、どこで分割するかを訊かれます。
スペースで区切るのか、タブとかセミコロンとかの記号か、はたまたほかの設定か、など指定できます。
それを適用すると、1列だったデータが2列以上になります。

これも割と使う機能。住所とか氏名とかメールアドレスとかずらずら〜っと並んでいると加工しようがないので、まず分割してから、みたいなカンジに使います。
ワタシはINDEX関数なんかを使いやすくするために作業用の列や行を追加しまくる派なのですが。

あちこちの要素を繋ぐときに、間に「_」を挟みます。
視認性がよくなるからというのが一番の理由ですが、いざ何らかの事情で分割するときに分割場所を指定しやすくなるから入れているというのもあります。
(こうやって元のデータと一緒になっていると分割する機会なぞないのですが、作業用のテキストだけを取り出して加工して…みたいなことも起こりうるので)。
おわりに
Excelで上手く数値を操れないとき、文字列が思うようなカタチになっていないせい…というのはよくあることです。
文字列も上手に加工して、数値もさくさく処理していきましょう。



