【3月6日実施】システムメンテナンス実施のお知らせ

セルの内容が、数値か、文字列か、空白かどうかは関数で出来るのですが、文字列の場合、それが漢字(ひらがな、かたかな含む)かそうではないのか識別できる関数またはVBAはないでしょうか?

A 回答 (6件)

数式を書き間違えていました。


D25セルを検査する場合は、

=IF(AND(CODE(D25)>=12322,CODE(D25)<=29734),"漢字","漢字以外")

ですね(汗)。
    • good
    • 8
この回答へのお礼

ありがとうございます。おそくなってすみません。

お礼日時:2003/03/18 09:58

全角文字を1つでも含むかどうか、ということに限定した場合、



LENとLENBの結果が同じなら半角文字のみ、異なるなら全角を1つ以上含む(結果の差=全角文字数)

という判定はどうでしょう。
    • good
    • 2
この回答へのお礼

ありがとうございます。おそくなってすみません。

お礼日時:2003/03/18 09:58

こんにちは。

maruru01です。

No.3(No.4)の方の付けたし程度ですが、漢字コードに関するページを1つ紹介します。

http://hp.vector.co.jp/authors/VA017832/hide_chi …

参考URL:http://hp.vector.co.jp/authors/VA017832/hide_chi …
    • good
    • 0

指定したセルの先頭文字が漢字か否かを識別する式は、CODE関数を使って、以下のようになります。



=IF(AND(CODE(D25)>=12322,CODE(D26)<=29734),"漢字","漢字以外")

ただし、CODE関数は指定したセルの先頭文字の文字コードしか返しませんので、指定したセルの2文字目以降もチェックしたい場合には(このままでは)使えません。

12322はJIS漢字の先頭「亜」の文字コード(シフトJISコードの10進数、29734は同じく末尾の「熙」の文字コードです。
ひらがな・カタカナを含むのであれば、9250以上という条件になりますが、実際には全角英数文字は含むのか?、全角記号は含むのか? 全角ギリシャ文字は含むのか? IBM拡張文字などの外字は含むのか? 等々、AQUALINEさんがどういう条件で判定したいのかによって、数式は変わってきます。
IMEパッドなどを参照して、CODE関数の引数に適当な文字コードを指定してください。
 
    • good
    • 0
この回答へのお礼

ありがとうございます。おそくなってすみません。

お礼日時:2003/03/18 09:57

> セルの内容が、数値か、文字列か、空白かどうかは関数で出来るのですが、


> 文字列の場合、それが漢字(ひらがな、かたかな含む)かそうではないのか
> 識別できる関数またはVBAはないでしょうか?

自分で作るしかないでしょう。
ひらがな、カタカナの文字コード表を作り、マッチングを掛よいと思います。

(すでに誰かがおなじものを作っている可能性もありますので、探した方がよい
かもしれません)
    • good
    • 0
この回答へのお礼

ありがとうございます。おそくなってすみません。

お礼日時:2003/03/18 09:57

全角の英数字や記号をどちらに含むのかによって、


処理の仕方が変わってくると思います。
また、英数字と漢字が混ざっていた場合はどうするのかも
補足してください。

もし全角と半角を見分けられれば良いということならば、

=IF(A1=JIS(A1),"全角です","半角です")

でOKです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
「数字を除く英字(半角全角とも)、かたかな、漢字、ひらがなを一つでも含むもの」でひとくくりに出来ればいいです。

お礼日時:2003/03/10 14:18

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A