
A 回答 (9件)
- 最新から表示
- 回答順に表示
No.9
- 回答日時:
数か月前にも似たような質問をされて、いくつかの回答もついているのに、ご質問者は何の反応なさらずに、締め切りになっています。
https://oshiete.goo.ne.jp/qa/13687746.html
今回も同じことになるのでしょうか?
No.8
- 回答日時:
エクセルのワークシート関数は苦手なので ユーザー関数で。
Function CheckCharaType(strCharacter As String) As String
If Len(strCharacter) > 0 Then
If strCharacter Like "*[0-9A-Za-zヲ-゚]*" Then
CheckCharaType = "○"
Else
CheckCharaType = "×"
End If
End If
End Function
B1セルに
=CheckCharaType((A1))
のように。
引数が 文字列になっているので、
ワークシート以外でも使うことができます。
No.7
- 回答日時:
考え方は、既出の回答と同じように、1文字づつ全ての文字をチェックする方法です。
既に、他の回答者さんのご説明のとおり、半角カナ文字であれば、文字コードが
「ヲ(166)」~「゚(223)」・・・(a)
全角の数字であれば、
「0(9008)」~「9(9017)」・・・(b)
全角のローマ字であれば
「A(9025)」~「z(9082)」・・・(c)
というそれぞれの範囲にあるので、添付画像では、B2セルに、
=IF(ISERROR(LOOKUP(1,0/FIND(CHAR(ROW($166:$223)),A2)))*ISERROR(LOOKUP(1,0/FIND(CHAR(ROW($9025:$9082)),A2)))*ISERROR(LOOKUP(1,0/FIND(CHAR(ROW($9008:$9017)),A2))),"×","〇")
という数式を入れて、下方向へコピーしています。
数式を簡単に説明すると、
まず、FIND関数を用いて文字列の中に上記(a)(b)(c)の文字があるのかをチェックします。FIND関数はそれらの文字が見つかればその位置、見つからなければ#VALUE!を返します。従って「0/FIND(複数の検索値,検索対象)」とすると、「0と#VALUE!の配列」が返ります。
LOOKUP関数を組み合わせて「=LOOKUP(1,0/FIND(複数の検索値,検索対象))」とすると、検索したい上記(a)(b)(c)のうち、何らかの文字がヒットしていれば0、ヒットしていなければ#N/A!が返ることになります。
そこで、ISERROR関数と組み合わせて「=ISERROR(LOOKUP(1,0/FIND(複数の検索値,検索対象)))」とすると、上記(a)(b)(c)のうち何れの文字もヒットしていなければ「TRUE」、ヒットしていれば「FALSE」が返ります。
これを、上記(a)、(b)、(c)それぞれの文字についてチェックするので「ISERROR~」を3回用いてそれぞれチェックし、全て「TRUE」なら何れの文字も含まれないので「×」、何らかの文字が含まれるなら「○」を返すということになります。

No.6
- 回答日時:
VBAで良ければ、添付図のようなユーザー定義関数 MyCheckを
つくり、その関数を設定すると○×が簡単に設定できます。
B1のセルに
=MyCheck(A1) と入力し、下へオートフィルでコピーすれば完了です。
ユーザー定義関数で良ければ、その旨補足してください。

No.5
- 回答日時:
こんばんは
既に回答があるように、1文字ずつチェックするしかないですね。
例えば、半角カナ文字であれば、文字コードが「ヲ(166)」~「゚(223)」の範囲にあるかをチェックすれば良いので、仮にA1セルに対象の文字列があるとすれば
=SUMPRODUCT((165<CODE(MID(A1,ROW(OFFSET(A1,0,0,LEN(A1))),1)))*(CODE(MID(A1,ROW(OFFSET(A1,0,0,LEN(A1))),1))<224))
で、判定できます。
式の計算結果は、判定対象範囲の文字が存在すればその文字数になります。
(範囲にないことを判定したければ、0が返ることを確認すれば良いでしょう)
上記の式は文字コードで判定していますが、直接文字で「ア~ヲ」の範囲かどうかを比較しても可能です。
(1種類の範囲だけならその方が式は短くなります。)
(ただし、半角カタカナの場合、文字コード順ではなくあいうえお順で判断されるようです。)
そのようなこともあり、文字コード化したほうが扱いやすいので、上式ではコード化して比較しています。
また、チェックしたい文字範囲が複数ある場合には、上式を繰り返しても可能ですが、それだと範囲分だけ繰り返すので式が大変長くなってしまいます。
一方で、エクセルでは2次元迄の配列計算が可能ですので、比較対象範囲を配列化すれば、ほぼそのままの長さの式で判定可能です。
(範囲の文字コードの分だけは長くなりますが・・)
上式では対象文字を1文字ずつに行方向(=1列内)に展開していますので、比較範囲を列方向(=1行内)に展開するようにすれば、ほぼそのままの要領で複数範囲を判断することが可能です。
(同じ方向(=行と行や列と列)に展開すると、上手くいきませんのでご注意)
No.3
- 回答日時:
条件が不明確な点があるので、確認です。
○:半角のカナ・カナ記号 (JIS X 0201)
。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソ
タチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚
○:全角の英字・数字・記号 (JIS X 0208)
!”#$%&’()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_
‘abcdefghijklmnopqrstuvwxyz{|}~
×:半角の英字・数字・記号 (JIS X 0201)
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
×:全角のカナ・カナ記号 (JIS X 0208)
。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソ
タチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜
×:その他の全角文字(平仮名・漢字・ギリシャ文字・キリル文字・全角記号など)
---------
上記の条件(記号を含める、全角文字か半角文字かだけを識別する)でよければ、以下の方法でできると思います。
(1) B列の元データをASC関数で半角文字に変換し、作業用のC列に置く。
C列の式 → =ASC(B列の元データ)
(2) C列全体を選択して「コピー」し、そのまま「値貼り付け」する。
(3) C列に「ふりがな」を設定する。種別は「全角カタカナ」を指定する。
(4) B列の元データとC列の「ふりがな」が不一致かどうかを判定する。
D列の式 → =IF(B2=PHONETIC(C2),"×","○")
半角カナ・半角カナ記号・全角英数字は「使用不可」としたいという一般的なケースなら、この方法で「×=可、○=不可」と読み替えればOKです。
もし、半角カナ記号は×としたい、英数字以外の全角文字も×としたい、という場合は、この方法は使えません。
下図の赤○が「○」でよいか、「×」がよいか、という確認です。
(半角/全角を分かりやすくするため等幅フォントを使用しています)
↓

No.2
- 回答日時:
(1)半角カナ
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
(2)全角の数字(3)全角のローマ字
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
http://office-qa.com/Excel/ex134.htm
これらを組み合わせる
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) 複数のセルの入力文字数の合計の文字数制限のポップアップ 2 2023/09/01 17:31
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) 日本語向きの“ダブルクオーテーション”の入力 1 2022/10/16 11:33
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/04/01 09:10
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
数式を残したまま、別のセルに...
-
vba テキストボックスとリフト...
-
エクセルで指定したセルのどれ...
-
Excel 例A(1+9) のように番地の...
-
エクセルの書式設定の表示形式...
-
枠に収まらない文字を非表示に...
-
【Excel】 セルの色での判断は...
-
エクセルのセルの枠を超えて文...
-
VBAでセルを指定した画像のコピ...
-
エクセルで住所と建物名を分け...
-
(Excel)数字記入セルの数値の後...
-
EXCEL VBA セルに既に入...
-
Excel2003 の『コメント』の編...
-
月毎に参照するセルを変更したい。
-
セルをクリック⇒そのセルに入力...
-
ハイパーリンクの参照セルのズ...
-
エクセル オートフィルタで絞...
-
エクセルの一つのセルに複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報