文字数 関数。 文字のバイト数を調べる(LENB)

文字数を調べる(LEN)

文字数 関数

「関数・文字列抽出」シリーズ• 1.LEFT関数、RIGHT関数 (1)LEFT関数の使い方 問題 幹部社員の中から16名を選抜して名簿を作成した。 役職の先頭から3文字を取り出しなさい。 また、アカウントの頭文字を取り出しなさい。 解説 文字列の先頭(左)から数えて指定された文字数分だけ取り出す関数は、 LEFT関数です。 文字列と取り出す文字数を指定します。 例えば、「総務部長」の先頭3文字は「総務部」ですが、LEFT関数で表すと「LEFT "総務部長",3 」となります。 LEFT関数の挿入の画面を用いてもかまいません。 これで3文字だけ取り出すことができます。 頭文字は左から数えて1文字という意味です。 LEFT関数は全角も半角も1文字とカウントして取り出します。 別解 LEFT関数の第2引数(文字数)を省略することができます。 省略すると、「1」を指定したものとみなされます。 つまり、頭文字の取得となります。 これで頭文字だけになります。 (2)RIGHT関数の使い方 問題 役職の右から2文字を取り出しなさい。 また、アカウントの数値の部分を取り出しなさい。 解説 文字列の末尾(右)から数えて指定された文字数分だけ取り出す関数は、 RIGHT関数です。 文字列と取り出す文字数を指定します。 例えば、「総務部長」の右の2文字は「部長」ですが、RIGHT関数で表すと「RIGHT "総務部長",2 」となります。 それ以外は同じです。 セルA2の文字列の末尾から2文字を取り出します。 RIGHT関数の挿入の画面を用いてもかまいません。 これで2文字だけ取り出すことができます。 アカウントの数値の部分はすべて4文字であることが分かります。 これで数値の部分だけ取得することができます。 文字数を指定しなければ1文字だけ取得します。 (3)LEFTとRIGHTの間に文字を入れる 問題 アカウントの数値4桁を取り出し、最初の2文字と後の2文字の間にスラッシュを入れなさい。 解説 まず、数値の部分だけを取得します。 LEFT関数またはRIGHT関数で取り出した文字列を使って、さらにその一部分を取り出すこともできます。 最初の2文字を取り出します。 さらに、スラッシュを連結するとともに「RIGHT B2,2 」を連結します。 左の2文字とスラッシュと右の2文字の計5文字の文字列となります。 このようにLEFT関数またはRIGHT関数で取り出した文字列を&で連結することによって新たな文字列を作り出すこともできます(参考:)。 2.LEFT、RIGHT関数の文字数 (1)文字数の仕様 問題 セルA1に入力した文字列について、B列に入力した文字数だけ文字列を抽出したい。 LEFT、RIGHT関数でそれぞれ取り出しなさい。 解説 LEFT関数、RIGHT関数はともに、取り出す文字列と文字数を指定します。 LEFT関数でセルA1は絶対参照、セルB2は相対参照です。 文字数でマイナスの値を指定するとエラーになります。 文字数が0の場合は空白になります。 元の文字数が4文字で、4文字以上の文字数を指定すると元の文字列と同じになります。 このように元の文字列以上の文字数を指定した場合、文字列全体が返されます。 このことはRIGHT関数も同じです。 (2)文字数が揃うとは限らない 問題 A列の文字列のうち、先頭から10文字目まで表示しなさい。 解説 左から10文字目までを取り出します。 左から10文字目までを取得しますが、元の文字列が9文字以下の場合は元の文字列と同じになります。 LEFT関数やRIGHT関数は、指定した文字数までを取得しますが、指定文字数以下の場合はその文字数までとなります。 したがって、文字数を指定したからと言って、必ずしも文字数が揃うとは限りません。 (3)補足説明:文字列操作を練習するときのフォントについて 游ゴシックやフォント名に「P」のつくフォント(プロポーショナルフォントという)は文字によって幅が異なるため、文字が縦に揃いません。 そのため、文字数が数えにくいことがあります。 RIGHT関数やLEFT関数のように文字数を指定する関数を練習するときには、「MSゴシック」など文字幅が統一されたフォント(等幅フォントという)を使用します。 3.数値文字列を数値に変換する 問題 A列の文字列のうち、数値の部分だけを取り出しなさい。 ただし、数値の最初が0の場合は3桁で表示しなさい。 解説 数値の部分だけを取り出します。 すべて4桁になります。 Excelでは通常、数値の先頭が0の場合は自動変換機能によって0が省略され3桁の数値になります。 しかし、LEFT関数やRIGHT関数を使った場合、先頭の0は消えません。 しかも左揃えのままです。 これは数値ではなく、 文字列として認識されているからです。 これを「数字文字列」ということがあります。 RIGHT関数に1を掛けます。 これによって文字列と認識されたものが数値に変換され、先頭の0が消えるのと同時に右揃えになります。 別解 いっぱんに、Excelで文字列として認識されている数値文字列について、その 直前又は直後に四則演算(足し算引き算掛け算割り算)があれば数値化されます。 次のような演算をして数値化をします。 1を掛ける• 0を足す• 先頭にマイナスを2つ付ける(マイナス2つでプラスになる)• 4.文字数の統一と0埋め 問題 16人の社員の氏名、社員番号を半角英数字で入力した。 氏名は最長で9文字である。 (2)社員番号を5桁にしなさい。 ただし、桁数が足りない場合は左に0を補いなさい。 解説 名字にアスタリスク9個を連結します。 これによって10文字目以降のアスタリスクが消えるため、結果としてアスタリスクで埋めたことになります。 特定の文字列で右側を埋めることによって文字数を揃えるには、 右側に多めに文字を連結してから、LEFT関数で余分な文字列を削除します。 社員番号は3桁か4桁ですが、5桁にするためには最大で2桁足りません。 そこで、左側に0を2つ連結します。 これで5桁になります。 特定の文字列で左側を埋めることによって文字数を揃えるには、左側に多めに文字を連結してから、RIGHT関数で余分な文字列を削除します。 ちなみに、先頭に0を付けて桁数を揃えることをゼロ埋め(ゼロパディング)と言います。 5.LEFT・RIGHTを数値で使った場合の表示形式 (1)表示形式を変えるには数値化する 問題 A列に数値を入力した。 LEFT関数で左から5文字を取り出した場合、表示形式を変えることができるか。 また、LEFT関数で取り出した直後の文字列と、数値化したものは同じ値と言えるか。 解説 左から5文字を取り出します。 数値の場合もLEFT関数やRIGHT関数が使えます。 通常は、LEFTは上から、RIGHTは下からの桁を取り出すことができます。 ただし、小数点やマイナスも1文字に含まれますので、小数点やマイナスがある場合、左から5文字を取り出しても、上から5桁になるわけではありません。 必ず文字数で指示した通りの有効桁数になるわけではないので注意が必要です。 このとき、取り出した値は「文字列」であって数値ではありません。 したがって、表示形式を変えることができません。 カンマ桁区切りにすることはできませんし、通貨スタイル(円マーク)にすることもできません。 また、小数点数の表示桁数を変えることもできません。 これを数値化するには1を掛けます。 数値になりましたので、表示形式を変えることは可能です。 文字列と数値を比較します(参考:)。 すべてFALSEになります。 Excelでは、LEFT関数やRIGHT関数で取り出した直後の文字列と、数値化したものは異なるものとして扱われます。 (2)表示形式は無関係 問題 A列にカンマ桁区切りの数値「98,765」と表示されている。 RIGHT関数で右から4文字を取り出したところ、一方は「8765」となり、もう一方は「4321」となった。 このようになる原因を述べなさい。 解説 3桁ごとに区切られるカンマは入力したものではなく書式(表示形式)です。 表示形式によって表示されている文字は、LEFT関数やRIGHT関数で取り出すときの文字数には含まれません。 このセルに保存されている値(数式バーの値)は「98765」であり、左の4文字は「9876」です。 計算結果は「98765. 4321」で、整数値の表示になっているだけです。 左の4文字は「4321」です。 数式の場合は特に注意が必要です。 このように、表示形式の影響でセルに保存されている値と表示されているものが異なることがありますが、セルに表示されているものは無関係です。 LEFT関数やRIGHT関数は、保存されている値(数式バーの値)から取り出されます。 (3)日付や時刻にLEFTやRIGHTを使ってはいけない 問題 日付を8桁で入力したセルがあり、LEFT関数を用いて左側の4文字を取り出すことによって西暦の部分を取り出すことができた。 そこで、日付を入力したセルも同様にLEFT関数を用いたところ、西暦とは無関係の数値になった。 このようになる原因を述べなさい。 解説 日付を8桁で入力している場合は単なる8桁の数値であり、LEFT関数を使うこともできます。 しかし、日付がシリアル値として入力されている場合、セルに保存されているのは整数値のシリアル値です(参考:)。 2020年11月23日のシリアル値は44158ですから、その左4文字である4415が取り出されます。 日付(時刻)の場合は、YEARなどの日付(時刻)を処理する関数を用いるか、またはTEXT関数を用いるべきであり、LEFTやRIGHTを使ってはいけません。 6.MID関数 (1)MID関数の使い方 問題 A列の文字列は、英字1文字+数字4文字+英字10文字以内で構成されるコードである。 2文字目から5文字目までを取り出しなさい。 また、6文字目だけを取り出しなさい。 解説 文字列の途中から数えて指定された文字数分だけ取り出す関数は、MID関数です。 文字列と、開始位置、取り出す文字数の3つを指定します。 MID関数は途中から数えるので、数え始める場所(開始位置)を指定しなければなりません。 先頭の文字を1としますので、開始位置は2となります。 取り出す文字数は全部で4文字となりますので文字数=4です(5ではないことに注意!!)。 セルA2の文字列の左から数えて2文字目から開始して、4文字となるように取り出します。 MID関数の挿入の画面を用いてもかまいません。 6文字目だけを取り出す場合、文字数は1です。 LEFT関数やRIGHT関数とは異なり、MID関数の第3引数(文字数)を省略することはできません。 1文字だけ取得するには必ず「1」を指定しなければなりません。 (2)N文字目以降全部 問題 A列の文字列は15字以内であることが分かっている。 2文字目以降をすべて取り出しなさい。 解説 MID関数の取り出す文字数を100文字にしてみましょう。 2文字目から100文字取り出すという意味です。 しかし、A列の文字列は100文字も無いので文字列の最後まで表示されます。 MID関数で十分に大きい文字数を指定すれば、文字列の最後まで取得することができます。 したがって、MID関数で文字数を指定したからといって、取り出される文字列の文字数が必ずしも揃うとは限りません。 7.文字の挿入 (1)ハイフンを入れる 問題 5文字目と6文字目の間にハイフンを入れなさい。 解説 文字列の途中に何らかの記号を入れるには、その前後で分割しなければなりません。 例えば、「m0311-shinoda」とハイフンを入れる場合、「m0311」「shinoda」をそれぞれ取り出すことを考えます。 左の5文字は「LEFT A2,5 」です。 6文字目以降は「MID A2,6,10 」と10文字くらい指定しておけばよいでしょう。 これらを&で連結します。 (2)順序を変える 問題 A列の文字列は、ひらがな1文字、数字4桁、ハイフン、漢字の順に並んでいる。 この順序を変えて、漢字、ハイフン、ひらがな、ハイフン、数字の順にしなさい。 例えば「お1017-栃木」の場合は「栃木-お-1017」とする。 解説 文字列の一部分を取り出してその順序を変えて結合することもできます。 MID関数は全角も半角も1文字とカウントして取り出します。 漢字は2文字と3文字がありますが3を指定すればよいです。 したがって、ハイフンで連結すると次のような数式になります。 文字数を-1~5として取り出しなさい。 解説 MID関数で文字列を絶対参照にして取り出します。 開始位置は3文字目です。 文字数をマイナスにするとエラーになります。 文字数を0にすると空白になります。 取り出せる文字が2文字しかないので、文字数2文字以上は同じになります。 9.MID関数と数値化 問題 8桁で入力された数値を4桁、2桁、2桁に分離しなさい。 また、MID関数で取り出した文字列を数値に変換しなさい。 解説 最初の4文字を取り出すのはLEFT関数です。 次の2桁はMID関数です。 最後の2桁はRIGHT関数です。 MID関数は、LEFT関数やRIGHT関数と同じように取り出した答えは「文字列」です。 数値ではありませんので先頭に0がついたままです。 また、左揃えになります。 これを数値化するには1をかけます。 これで数値となり、先頭の0が消えて右揃えになります。 10.MID関数を使った文字列分割 (1)1文字ずつ分割 問題 A列の文字列を、1文字ずつ分割してB列以降に表示しなさい。 解説 MID関数は途中の文字列を抽出する関数であり、文字数を1にすると1文字だけ取得することができます。 これを利用して先頭から1文字ずつ抽出してみましょう。 横向きに1~8の数値を入力します。 これはMID関数の開始位置です。 文字列と開始位置は複合参照です。 これによって、1文字ずつ分割することができます。 カンマやスペースも1文字としてカウントされます。 また、「織田 信長」に8文字目は存在しませんが、開始位置として指定した数値が全体の文字数を超える場合は空白になります。 (2)2文字ずつ分割 問題 A列の文字列を、2文字ずつ分割してB列以降に表示しなさい。 解説 2文字ずつ取得するとき、開始位置は奇数(1、3、5、・・・)となります。 A列の文字列は10文字なので、開始位置を11にすると取得できる文字が無いので空白になります。 別解 1、2、3、・・・と入力したとします。 この場合は2倍して1を引けば奇数になります。 11.MID関数で整数値を文字に変換する 問題 (1)十二支は「子丑寅卯辰巳午未申酉戌亥」の順なので、申年(さるどし)から始めると「申酉戌亥子丑寅卯辰巳午未」になる。 この文字列を1文字ずつ分割しなさい。 (2)西暦が12の倍数のとき申年であることが分かっている。 西暦から十二支を求めなさい。 解説 1~12の整数を入力します。 これは開始位置です。 これは1~12の整数を十二支に変換したのと同じです。 このように1から始まる整数値を、別の1文字に置き換えるにはMID関数を使います。 西暦を12で割ったときの余りを求めます(参考:)。 余りは0~11の整数です。 西暦が12で割ったときの余りが0のとき申年です。 これに1を足すと1~12となります。 「余り+1」と十二支の順番は一致するので、1~12の整数を「申酉戌亥子丑寅卯辰巳午未」に変換すればよいです。 これで西暦を十二支に変換できます。 いっぱんに、整数値をABCABCABC・・・のように循環する文字列に変換するにはMID関数を使います。 なお、MID関数の開始位置を0にするとエラーになりますので、0にならないように注意します。 12.MID関数を使った判定 問題 A列に得点を入力した。 90点以上、80点以上、70点以上、60点以上、59点以下を、それぞれS、A、B、C、Dとしなさい。 解説 得点を10で割り、その整数部分に1を足すと11段階評価(1~11)になります。 この評価を「DDDDDDCBASS」に置き換えたらよいです。 これでアルファベットになります。 いっぱんに、数値をAAABBBCCC・・・のように一定の範囲で区切って文字列に変換するにはMID関数を使います。 LEFT、RIGHT、MID関数で指定する文字数や、MID関数の開始位置で指定する数値が 小数の場合は、自動的に小数点以下切り捨ての整数値となります。 したがって、INT関数で切り捨て処理をする必要はありません。

次の

【Excel(エクセル)で作業改善】文字数カウントの方法(LEN関数・LENB関数など)

文字数 関数

使い方 上の大きなテキストボックスに、文字数を数えたい文章を入力して 「カウント」ボタンをクリックします。 すると、「文字数」欄には入力された文字列の文字数が、 「バイト数」欄には入力された文字列のバイト数が、表示されます。 文字数 半角文字・全角文字ともに1文字として数えた数が表示されます。 改行文字は1文字と数えます。 改行を除いた文字数 半角文字・全角文字ともに1文字として数えた数が表示されます。 改行文字は数えません。 改行、空白を除いた文字数 改行文字と空白文字(タブ、半角全角空白)を除いた文字数が表示されます。 バイト数 各文字コードに変換したときのバイト数(改行文字を含む)が表示されます。 通常、Windowsのテキストファイルの文字コードは「Shift-JIS」です。 メール送受信時の文字コードは、通常「JIS」です。 改行文字は2バイトとして数えます。 行数 行数が表示されます。 」" は合わせて1マスに記述するものとしてカウントします。 句読点 "、" や "。 " 、もしくは鍵かっこ "」" がマスの最後の次に位置する場合は、次の行ではなく前の文字と一緒のマスに記述するものとしてカウントします。 前の行末が句点 "。 " で次の行頭が空白でない場合、空白があるものとしてカウントします。

次の

【文字数カウント】

文字数 関数

セルに入力されている文字数を調べます。 では実際に試して見ます。 元となるExcelを用意 下記のようなExcelシートを用意します。 変換の対象となるセルは「B2」です。 変換後の結果を表示するセルを選択 半角から全角に変換した結果を表示するセルを選択します。 変換後の結果を表示するセルは「C2」です。 関数の設定 挿入する関数を選択します。 メニューの「挿入」から「関数」を選択します。 「関数の検索」で「len」を入力し、「関数名」で「LEN」が選択されていることを確認してから「OK」ボタンをクリックします。 「文字列」の箇所に文字数を調べたいセルの位置を入力します。 今回の場合は「B2」となります。 入力したら「OK」ボタンをクリックします。 結果の表示 下記のように対象のセルに含まれる文字の文字数が表示されます。 また他のセルにも同様に適用してみると下記のような結果となります。 1つのセルに含まれる関数や計算式を他のセルに適用する方法は『』を参照して下さい。

次の