Excelで濁点を分離する方法を紹介!

Excelで濁点を分離する方法を紹介!

Microsoft Excelを使用していて、文字列から濁点を分離したいと思ったことはありませんか?文字列の分離を手作業で行うと時間がかかるので、自動的に分離させたいですよね。この記事では、Excelで濁点を分離する方法をご紹介しています。

目次[非表示]

  1. Excelで濁点を分離する方法

Excelで濁点を分離する方法

Microsoft Excelを使用していて、文字列から濁点分離したいと思ったことはありませんか?文字列の分離を手作業で行うと時間がかかるので、自動的に分離させたいですよね。この記事では、Excelで濁点を分離する方法をご紹介していきます。

「Visual Basic」をクリック

それでは、Excelで濁点を分離する方法について説明していきます。濁点を分離するには、専用のマクロの作成を行います。まずはウィンドウ上部の「開発」タブをクリックしてリボンメニューを開き、「コード」項目の「Visual Basic」をクリックしましょう。もし「開発」タブが見当たらない場合は、下記リンク先の記事を参考にしてくださいね。

ExcelでVBAでマクロを作る方法を紹介! | Aprico
「挿入」→「標準モジュール」をクリック

「Microsoft Visual Basic for Applications」ウィンドウが表示されます。画像の例では、ウィンドウ左側のフォルダツリーから「VBAProject(Book1)」を右クリックして表示されるメニューの「挿入」→「標準モジュール」をクリックして選択しています。

コードウィンドウが表示されたら、下記のコードを入力

コードウィンドウが表示されるので、下記のコードを入力しましょう。コードの入力が完了したら、ウィンドウ上部の「Sub/ユーザーフォームの実行」ボタンをクリックしましょう。これで、マクロが登録されます。

Sub bunkatsu()
    Dim c As Range
    Dim i As Integer
    Dim t As Integer
    Dim str As String
    Const moji1 As String = "がぎぐげござじずぜぞだぢづでどばびぶべぼガギグゲゴザジズゼゾダヂヅデドバビブベボ"
    Const moji2 As String = "ぱぴぷぺぽパピプペポ"
    Const moji3 As String = "ヴ"
    For Each c In Selection
        t = 0
        For i = 1 To Len(c)
            str = Mid(c, i, 1)
            If InStr(moji1, str) > 0 Then
                c.Offset(0, t + i) = Chr(Asc(str) - 1)
                c.Offset(0, t + i + 1) = "゛"
            t = t + 1
            ElseIf InStr(moji2, str) > 0 Then
                c.Offset(0, t + i) = Chr(Asc(str) - 2)
                c.Offset(0, t + i + 1) = "゚"
                t = t + 1
            ElseIf InStr(moji3, str) > 0 Then
                c.Offset(0, t + i) = Chr(Asc(str) - 79)
                c.Offset(0, t + i + 1) = "゛"
                t = t + 1
            Else
                c.Offset(0, i + t) = str
            End If
        Next
    Next
End Sub

文字列を入力してB2セルを選択

マクロの登録が完了したら、早速このマクロを使用して文字列から濁点を分離してみましょう。画像の例では、B2セルに「ペットボトル」と入力してあります。B2セルを選択します。

「マクロ」をクリック

続いてウィンドウ上部の「開発」タブをクリックしてリボンメニューを開き、「コード」項目の「マクロ」をクリックしましょう。

「bunkatsu」を選択して「実行」ボタンをクリック

使用するマクロの選択画面が表示されるので、「bunkatsu」を選択して「実行」ボタンをクリックしましょう。

B2セルに入力されている文字列から濁点を分離させた文字が、C2セル以降にそれぞれ表示される

これでB2セルに入力されている文字列の「ペットボトル」から濁点を分離させた文字が、C2セル以降にそれぞれ表示されますよ。以上が、Excelで濁点を分離する方法の説明となります。


関連記事