強引にエクセルの関数だけで実装するとなると以下のようになると思います。
① 検索したい列に含まれうる文字数分、数字を横に展開していきます。(今回は5とします)
② D列に以下のような関数を用意して、必要範囲分、関数をコピーします。(今回はD3~H16)
そうすることで検索したい列の文字列を1文字ずつに分解します。
③ H列(②の右端)より右のセルに以下のような関数を用意して、必要範囲分、関数をコピーします。(今回はI3~M16)
②で分解した文字を半角に変換した上で、文字コードの範囲を調べています。
1度半角に変換することで、全角カナのチェックを同時に行えるようにしています。
166~223:半角カナ
48~57:半角数値
164:「、」
=IF(AND(CODE(ASC(D3))>=166,CODE(ASC(D3))<=223),"○",IF(AND(CODE(ASC(D3))>=48,CODE(ASC(D3))<=57),"○",IF(CODE(ASC(D3))=164,"○","×")))
(文字コード表 シフトJIS(Shift_JIS))
④ あとは③で判定した結果のなかに「×」が含まれていたらエラーとしてC列に結果を出力しています。
=IF(COUNTIF(I3:M3,"×")=0,"","〇")
VBAで正規表現を使って実装すると以下のようなコードで実現できると思います。
Sub CheckKana()
Column = 2
Row = 3
word = Cells(Row, Column)
Dim RE, strPattern As String
Set RE = CreateObject("VBScript.RegExp")
Do While word <> ""
With RE
.Pattern = "[^0-90-9ァ-ヶヲ-゚、]"
.IgnoreCase = True
.Global = True
Set reMatch = .Execute(word)
If reMatch.Count > 0 Then
Cells(Row, Column + 1) = "○"
End If
End With
Row = Row + 1
word = Cells(Row, Column)
Loop
End Sub
正規表現で以下の文字列以外のものがあれば、エラーとして「○」を出力するようにしています。
[0-9]:半角数値
[0-9]:全角数値
[ァ-ヶ]:半角カナ
[ヲ-゚]:全角カナ
[、]:、(読点)
余談ですが、エクセルのある列にカナしか含まれてないようなデータを作りたいのであれば、エクセルのデータを作る側のシステムの方でカナしか含まれないような制御をしておくのが適切かと思います。
また、エクセルは表計算ソフトなので複雑な文字列のチェックなど行うにはあまり向いていないですね。