メインコンテンツへスキップ

Excelでインド・ルピーの数値を単語に変換するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

数値を単語に変換することは、特に請求書や小切手などの財務文書を作成する際に一般的な要件です。Excelには数値を単語に変換する組み込み関数はありませんが、VBAを使用してこれを実現できます。以下は、インド・ルピーやその他の通貨で数値を単語に変換するためのステップバイステップガイドです。

VBAコードを使用してインド・ルピーの数値を単語に変換する

驚くべき機能を使用して英語のドルやその他の通貨で数値を単語に変換する


VBAコードを使用してインド・ルピーの数値を単語に変換する

以下のVBAコードを使用すると、数値をルピーの単語に変換できます。次の手順を行ってください:

1. 「ALT」 + 「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、以下のコードを「モジュール」ウィンドウに貼り付けます。

VBAコード: ルピーで数値を単語に変換する

Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = " Rupees " & xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function 

3. コードを挿入した後、コードウィンドウを保存して閉じ、ワークシートに戻り、空白のセルに次の数式を入力し、塗りつぶしハンドルをドラッグしてこの数式を他のセルに適用します。これで、すべての数字がルピーで表記されます。

=RupeeFormat(A2)

apply a formula to get the result


驚くべき機能を使用して英語のドルやその他の通貨で数値を単語に変換する

「Kutools for Excel」を使ってExcelの作業を簡素化し、生産性を向上させましょう。「Kutools for Excel」には強力な機能である「Numbers to Words(数値を単語に変換)」があり、40種類以上の通貨変換オプションを提供しており、数回のクリックで中国元、英語のドル、またはその他の通貨の単語に数値を迅速に変換できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelをインストールした後、次のように操作してください:

1. 変換したい数値のリストを選択し、「Kutools」>「テキスト」>「Numbers to Words(数値を単語に変換)」をクリックします。

click Numbers to Words feature of kutools

2. 「Numbers to Currency Words(数値を通貨単語に変換)」ダイアログボックスで、「言語」セクションから1つの通貨オプションを選択します。スクリーンショットをご覧ください:

specify options in the dialog box

3. そして「OK」ボタンをクリックすると、選択範囲内の数値が指定された通貨単語に変換されます。

get the result by kutools

今すぐKutools for Excelをダウンロードして無料トライアル!



  • スーパー数式バー(複数行のテキストや数式を簡単に編集可能); 閲覧レイアウト(多数のセルを簡単に読み取り・編集可能); フィルター範囲への貼り付け...
  • セル/行/列を結合してデータを保持; セル内容を分割; 重複する行を統合して合計/平均を計算... 重複セルを防止; 範囲を比較...
  • 重複または一意の行を選択空白行を選択(すべてのセルが空); スーパー検索および多くのワークブックでのあいまい検索; ランダム選択...
  • 数式参照を変更せずに複数のセルを正確にコピー; 複数のシートへの自動参照作成; 箇条書き、チェックボックスなどを挿入...
  • お気に入りの数式、範囲、グラフ、画像を素早く挿入; パスワードでセルを暗号化メーリングリストを作成してメールを送信...
  • テキストの抽出、テキストの追加、特定の位置の文字を削除、スペースを削除; ページング小計の作成と印刷; セルの内容とコメント間の変換...
  • スーパーフィルター(他のシートにフィルタースキームを保存して適用); 月/週/日ごとの高度な並べ替え、頻度など; 太字、斜体による特殊フィルタリング...
  • ワークブックとワークシートを統合; 主キーカラムに基づいてテーブルをマージ; データを複数のシートに分割xls、xlsx、PDFの一括変換...
  • ピボットテーブルのグループ化(週番号、曜日など)... ロックされたセルとロックされていないセルを異なる色で表示; 数式/名前を持つセルをハイライト...
kte tab 201905
  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付き編集と閲覧を有効化します。
  • 新しいウィンドウではなく、同じウィンドウ内の新しいタブで複数のドキュメントを開き、作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを削減します!
officetab bottom