dポイントプレゼントキャンペーン実施中!

A列に入力されている文字列の中にカタカナ(半角,全角含む)が含まれている場合Errorを返す関数ってありますか?
文字列は何文字というのは決まっていません。

A 回答 (4件)

たぶんこれで大丈夫だと思いますので、試してみてください。



Visual Vasic Editorを起動して標準モジュールに貼り付ければ、ユーザー定義関数として使えます。

Function Katakana(文字列 As Range) As String
 Dim myStr As String, n As Long, _
    myLen As Long, myRange As Range

 For Each myRange In 文字列
   myStr = myRange.Value
   If myStr <> "" Then
     myLen = Len(myStr)
     Do
       n = n + 1
       Select Case Asc(Mid(myStr, n, 1))
       Case 166 To 223, -31936 To -31850
         Katakana = "Error"
         Exit Function
       End Select
     Loop Until n = myLen
     n = 0
   End If
 Next myRange
 Katakana = ""
End Function
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
実はStrConvでユーザー定義関数を作成してはみたんですが、ユーザー側がVBがわからない為、関数で出来ないかと思い今回質問してみました。
関数では限界がありますね。どうもありがとうございました。

お礼日時:2003/05/12 09:52

すいません途中でした。


=IF(MIN((FIND({"ア","カ","サ","タ","ナ"},JIS(A1)&"アカサタナ",1)))>LEN(JIS(A1)),FALSE(),TRUE())
長いので省略しましたが、ア~ンまですべてのカタカナを設定する必要があります。
FIND関数でカタカナの位置を見つけ、MIN関数で一番手前の位置を見つけます。その位置が元のA1の文字内であればカタカナが含まれていることになります。
JIS関数で全角にそろえられます。
    • good
    • 0

=IF(MIN((FIND({"ア","カ","サ","タ","ナ"},JIS(A1)&"アカサタナ",1)))>LEN(JIS(A1)),FALSE(),TRUE())


長いので省略しましたが、ア~ンまで設定してやるとすべての
    • good
    • 0

言語は何ですか?

この回答への補足

Exceldの関数ですが。なるべくVBAは使用したくないので

補足日時:2003/05/08 17:16
    • good
    • 0

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