- ベストアンサー
excelで半角数値の有無をチェックする関数
セルの内容に半角数字が1文字でも入っていればTRUE,なければFALSEを返すような関数はありますか? ない場合,どうすれば実現できるでしょうか? (例) 1丁目2-3 …TRUE 1丁目2-3 …TRUE ("1"が半角なので) 1丁目2-3 …TRUE ("3"が半角なので) 1丁目2-3 …FALSE (数字はすべて全角なので)
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
単独の関数はありませんが、A1セルに文字列があるとき以下の式で >半角数字が1文字でも入っていればTRUE,なければFALSEを返す ことができます。 =MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))<=LEN(A1) IF文と組み合わせて =IF(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))<=LEN(A1),"半角数字有り","半角数字なし") のように使ってください
その他の回答 (5)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 こんな感じもありかな? =COUNT(INDEX(FIND(ROW($A$1:$A$10)-1,A1),,))>0
- imogasi
- ベストアンサー率27% (4737/17069)
半角カナ・英字がないという前提を置ければ =IF(A1<>JIS(A1),"半角あり","") と簡単になる。 多分実用上は使えるのでは。 横浜市1-2 半角あり 横浜市1-3a 半角あり 横浜市ヒガシ 半角あり 横浜市a 半角あり 横浜市港北区1-3 横浜市港北区1-4 半角あり
- lark_0925
- ベストアンサー率63% (37/58)
=COUNT(FIND({"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"},A1))>0 但し、配列を使っているので、セルの確定は Ctrl+Shift+Enterで確定します。
- mshr1962
- ベストアンサー率39% (7417/18945)
A1に文字があるとして =IF(SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<58)*1),TRUE,FALSE) ※半角の!"#$%&'()*+-./0123456789(キャラクターコード<58)がTRUEの対象になります。
- hana-hana3
- ベストアンサー率31% (4940/15541)
=IF(LENB(A1)-LEN(A1)*2=0,FALSE,TRUE)
お礼
まとめてしまってすみませんが,この場を借りて皆様にお礼申し上げます.ありがとうございました. 半角文字の有無でしたらANo.1やANo.5の方法もよさそうですね.ANo.6は範囲内のセル(例示ではA1~A10の10個)を一気にチェックするのでしょうか.私には難しくて理解できませんでした.思いのほか多数の回答を頂きましたので,これを機会に関数についてもう少し勉強したいと思います. 質問内容に最も合致したものにポイントを差し上げたつもりですが,理解不足で判断に誤りがあるかもしれません.ご了承ください. 皆様のおかげで解決できましたことに感謝いたします.