アプリ版:「スタンプのみでお礼する」機能のリリースについて

A列(行数はその都度変わります)に人の名前のふりがなが全角カタカナで入っています。
条件付き書式で全角カタカナ以外が含まれている場合に色をつける方法はありませんでしょうか。
よろしくお願いいたします。

A 回答 (4件)

手元にExcel無いですが、A1が対象として、


=(JIS(A1)<>A1)
で、A1を全角変換した結果が、元の文字列と異なる->半角文字が含まれる
なら、色付けとか。
    • good
    • 0
この回答へのお礼

ありがとうございます。試してみます。

お礼日時:2020/01/24 14:52

ASC関数の方だと思う。



全角カタカナを半角カタカナにはできるけど、
全角ひらがなを半角ひらがなにはできない。(そもそも半角ひらがなと言うものが無い)
半角にできなければそのままの値が返るので、文字列のバイト数を調べれば良い。

そんなわけでASC関数とLENB関数を組み合わせで条件を作ってみましょう。

「佐藤」さんは ”さとう” または ”サトウ” ですね。
ASC関数を使わずにLENB関数で文字数を数えるとどちらも
「6」「6」
ですが、
ASC関数を使うと、”さとう” 、 ”サトウ” になり、
これをLENB関数で文字数を数えると
「6」と「3」になります。
ASC関数を使わないときと使ったときで、LENB関数が返す値が同じなら「ひらがな」と判断して良いと思います。

ただ、読み仮名すべてに濁点を含む文字の場合、思うような結果を得られないことがあります。
「馬場」さんの読みは、”ババ” ですが、半角にすると ”ババ” となります。
元の文字列 "ババ" をLENB関数で数えても、
ASC関数で ”ババ” とし、LENB関数で数えても、
同じ「4」なので、ひらがなで入力されていると判断されてしまいます。

こんな例外があるということですが、まあ、何とかなるんじゃないですか。
    • good
    • 0
この回答へのお礼

ありがとうございます。試してみます。

お礼日時:2020/01/24 14:51

>全角カタカナ以外



これはどのようなデータを想定されているのですか?
フリガナは手打ちするのですか?
    • good
    • 0
この回答へのお礼

いいえ。自分で手打ちするのではなく、データは人からもらいます。

お礼日時:2020/01/24 14:49

VBAなら簡単だと思いますのでとりあえず作ってみました


--------------------------------------------------------------------------------
Public Sub psubKanaChk()
 Dim intR As Integer
 Dim intC As Integer
 Dim intS As Integer
 Dim strB As String
 intR = 2
 With Sheet1
  Do Until .Cells(intR, 2).Value = ""
   For intS = 1 To Len(.Cells(intR, 2).Value)
    strB = Mid(.Cells(intR, 2).Value, intS, 1)
    If Asc(strB) >= &H8340 And _
     Asc(strB) <= &H8396 Then
    Else
     .Cells(intR, 2).Interior.Color = RGB(255, 240, 240)
     Exit For
    End If
   Next intS
   intR = intR + 1
  Loop
 End With
End Sub
--------------------------------------------------------------------------------
ワークシート1のB2セルから下方にデータ末端までを判定し、対象の場合に背景色を変えるプログラムです、必要に応じて修正下さい

条件付き書式をご希望ということなので恐らくデータの変更があるという想定ですと、changeイベントにでも当該関数をcallしてもらえれば対応可能かと思います

参考までにお試しください
    • good
    • 0
この回答へのお礼

ありがとうございます。試してみます。

お礼日時:2020/01/24 14:47

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