アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelの中に全角ひらがな、漢字、半角英数が混在しいる場合一括で変換するのではなく、半角英数字が混ざっているセルがどれかチェックする方法はありますか?

サンプルとして画像のD5、D6に全角英数字が混在してることがわかればいいなと思ってます。
ひらがな、漢字は全角で問題ないです。英数のみ半角となってるかチェックだけとなります。

Excel関数はまだ覚え初めなので、ご教示お願いします!

「Excelの中に全角ひらがな、漢字、半角」の質問画像

A 回答 (2件)

文字列


 ”日曜日”

 ”14日”
で説明してみましょう

・・・
 =LEN(”日曜日”)
これは
「日」で1
「曜」で1
「日」で1
となり、
「3」
が返ってきます。
 =LENB("日曜日")
これは
「日」で2
「曜」で2
「日」で2
となり、
「6」
が返ってきます。

 =LEN(”14日”)
これは
「1」で1
「4」で1
「日」で1
となり、
「3」
 =LENB("14日")
これは
「1」で1
「4」で1
「日」で2
となり、
「4」
が返ってきます。

・・・
もしも
「14」が半角ではなく全角であったら
 =LEN("14日")
は「3」
 =LENB("14日")
は「6」
になります。
LEN関数で返ってきた値(3)を2倍したもの(6)が、LENB関数で返ってきた値(6)と同じなら
半角文字は含まれないと判断できます。


・・・別回答・・・
JIS関数というものがあります。
これは半角文字を全角文字に変換してくれる関数です。
 =JIS("14日")
とすると
「14日」を
「14日」に直した値が返ってきます。
これを利用して
 =IF(LENB(JIS("14日"))=LENB("14日") , "全角だけ" , "半角含む")
みたいにできます。(この例では”半角含む”が返ります)


・・・余談・・・

全角文字は2バイトで構成される文字ということを忘れないでください。

文字コード(ASCIIコード)を16進数で示すと、それぞれ、
全角の
「1」は、「23 31」の2バイトのコード
「4」は、「23 34」の2バイトのコード
半角の
「1」は、「31」の1バイトのコード
「4」は、「34」の1バイトのコード
になります。

※ 1バイトは16進数で 0~FF まで、10進数で 0~255 までの値です。
    • good
    • 1
この回答へのお礼

LEN関数で返ってきた値とLENB関数で返ってきた値が同じ場合半角がないのは出来ました!混在していた場合が出来なかったのでまた調べて理解してからにします。ありがとうございました。

お礼日時:2019/07/14 16:50

文字の長さを数える関数があります。


LEN
LENB
この二つ。

LEN関数は見た目の文字数を数えます。
LENB関数は文字列のバイト数を数えます。

半角文字は1バイト(8ビット)で構成される文字、全角文字は2バイト(8ビット×2)で構成される文字なんです。
ですので、LEN関数で数えた数を【2倍】して、LENB関数で数えたバイト数と【同じ】なら「半角文字」は【ない】と判断できます。

・・・
というか、作りかけているんじゃないの?それ。
具体的に何が分からないのかを示したほうが良いよ。
「LEN関数とLENB関数の使い方が分かりません」
みたいにね。
    • good
    • 1
この回答へのお礼

銀鱗さん
ありがとうございます。
作りかけたのですが、ひらがな、漢字は全角なので全て「全角あり」となってしまいます。「=IF(LEN(D1)<>LENB(D1),"全角あり","")」関数をとしてます。
LEN、LENBの使い方がわからないです。

お礼日時:2019/07/14 10:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!