# How to Spell Number in Dirhams in Excel (2 Handy Ways)

If you are looking for ways to spell a number in Dirhams in Excel, then you are in the right place. So, letâ€™s start with the main article to know the 2 efficient ways of doing this task.

## How to Spell Number in Dirhams in Excel: 2 Handy Ways

Here, we have the following dataset containing a list of products and their sales values. We will try to write down the numbers in the Sales column as words with Dirhams in the Sales in Word column.

We have used Microsoft Excel 365 version for creating this article. However, you can use any other version at your convenience.

### Method-1: Using a Formula to Spell Number in Dirhams in Excel

Here, we are going to use the combination of the SWITCH, LEFT, TEXT, ROUND, IF, AND, and MID functions to get the numbers as texts. Using this formula we will consider only the whole numbers. The maximum number limit for this formula is 999,999,999.

Steps:

• Select cell D4 where we want to apply the formula.

• Type the following formula in this cell.
`=SWITCH((LEFT(TEXT(ROUND(C4,0),"000000000"))+1),1," ",2,"One",3,"Two",4,"Three",5,"Four",6,"Five",7,"Six",8,"Seven",9,"Eight",10,"Nine")&IF(--LEFT(TEXT(ROUND(C4,0),"000000000"))=0,,IF(AND(--MID(TEXT(ROUND(C4,0),"000000000"),2,1)=0,--MID(TEXT(ROUND(C4,0),"000000000"),3,1)=0)," Hundred"," Hundred and "))`
`&SWITCH((MID(TEXT(ROUND(C4,0),"000000000"),2,1)+1),1,"",2,"",3,"Twenty ",4,"Thirty ",5,"Forty ",6,"Fifty ",7,"Sixty ",8,"Seventy",9,"Eighty ",10,"Ninety ")&IF(--MID(TEXT(ROUND(C4,0),"000000000"),2,1`
`<>1,SWITCH((MID(TEXT(ROUND(C4,0),"000000000"),3,1)+1),1,"",2,"One",3,"Two",4,"Three",5,"Four",6,"Five",7,"Six",8,"Seven",9,"Eight",10,"Nine"),SWITCH((MID(TEXT(ROUND(C4,0),"000000000"),3,1)+1),1,"Ten",2,"Eleven",3,"Twelve",4,"Thirteen",5,"Fourteen",6,"Fifteen",7,"Sixteen",8,"Seventeen",9,"Eighteen",10,"Nineteen"))&IF((--LEFT(TEXT(ROUND(C4,0),"000000000"))+MID(TEXT(ROUND(C4,0),"000000000"),2,1)+MID(TEXT(ROUND(C4,0),"000000000"),3,1))=0,,IF(AND((--MID(TEXT(ROUND(C4,0),"000000000"),4,1)+MID(TEXT(ROUND(C4,0),"000000000"),5,1)+MID(TEXT(ROUND(C4,0),"000000000"),6,1)+MID(TEXT(ROUND(C4,0),"000000000"),7,1))=0,(--MID(TEXT(ROUND(C4,0),"000000000"),8,1)+RIGHT(TEXT(ROUND(C4,0),"000000000")))>0)," Million and "," Million "))&SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),4,1)+1,1,"",2,"One",3,"Two",4,"Three",5,"Four",6,"Five",7,"Six",8,"Seven",9,"Eight",10,"Nine")&IF(--MID(TEXT(ROUND(C4,0),"000000000"),4,1)=0,,IF(AND(--MID(TEXT(ROUND(C4,0),"000000000"),5,1)=0,--MID(TEXT(ROUND(C4,0),"000000000"),6,1)=0)," Hundred"," Hundred and"))&SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),5,1)+1,1,"",2,"",3," Twenty",4," Thirty",5," Forty",6," Fifty",7," Sixty",8," Seventy",9," Eighty",10," Ninety")&IF(--MID(TEXT(ROUND(C4,0),"000000000"),5,1)<>1,SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),6,1)+1,1,"",2," One",3," Two",4," Three",5," Four",6," Five",7," Six",8," Seven",9," Eight",10," Nine"),SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),6,1)+1,1," Ten",2," Eleven",3," Twelve",4," Thirteen",5," Fourteen",6," Fifteen",7," Sixteen",8," Seventeen",9," Eighteen",10," Nineteen"))&IF((--MID(TEXT(ROUND(C4,0),"000000000"),4,1)+MID(TEXT(ROUND(C4,0),"000000000"),5,1)+MID(TEXT(ROUND(C4,0),"000000000"),6,1))=0,,IF(OR((--MID(TEXT(ROUND(C4,0),"000000000"),7,1)+MID(TEXT(ROUND(C4,0),"000000000"),8,1)+MID(TEXT(ROUND(C4,0),"000000000"),9,1))=0,--MID(TEXT(ROUND(C4,0),"000000000"),7,1)<>0)," Thousand "," Thousand and "))&SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),7,1)+1,1,"",2,"One",3,"Two",4,"Three",5,"Four",6,"Five",7,"Six",8,"Seven",9,"Eight",10,"Nine")&IF(--MID(TEXT(ROUND(C4,0),"000000000"),7,1)=0,,IF(AND(--MID(TEXT(ROUND(C4,0),"000000000"),8,1)=0,--MID(TEXT(ROUND(C4,0),"000000000"),9,1)=0)," Hundred "," Hundred and "))&SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),8,1)+1,1,"",2,"",3,"Twenty ",4,"Thirty ",5,"Forty ",6,"Fifty ",7,"Sixty ",8,"Seventy ",9,"Eighty ",10,"Ninety ")&IF(--MID(TEXT(ROUND(C4,0),"000000000"),8,1)<>1,SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),9,1)+1,1,"",2,"One",3,"Two",4,"Three",5,"Four",6,"Five",7,"Six",8,"Seven",9,"Eight",10,"Nine"),SWITCH(MID(TEXT(ROUND(C4,0),"000000000"),9,1)+1,1,"Ten",2,"Eleven",3,"Twelve",4,"Thirteen",5,"Fourteen",6,"Fifteen",7,"Sixteen",8,"Seventeen",9,"Eighteen",10,"Nineteen"))&" Dirhams"`

Â In this large formula, you have to just change the cell reference from C4 to any other reference and change the currency from Dirhams to any other currency as per your requirement.

Note: For changing all of the cell references easily you can use the Find and Replace option to replace C4 from any other reference.

Here, we will explain the first part of the formula which will help you understand the whole formula.

`=SWITCH((LEFT(TEXT(ROUND(C4,0),"000000000"))+1),1," ",2,"One",3,"Two",4,"Three",5,"Four",6,"Five",7,"Six",8,"Seven",9,"Eight",10,"Nine")&IF(--LEFT(TEXT(ROUND(C4,0),"000000000"))=0,,IF(AND(--MID(TEXT(ROUND(C4,0),"000000000"),2,1)=0,--MID(TEXT(ROUND(C4,0),"000000000"),3,1)=0)," Hundred"," Hundred and "))`

Formula Breakdown

• ROUND(C4,0) â†’ becomes
• ROUND(29484.09,0) â†’ will round up the fraction value.
• Output â†’ 29484
• TEXT(ROUND(C4,0),”000000000″) â†’ becomes
• TEXT(29484,”000000000″) â†’ change the format of the number and convert it into text
• Output â†’ 000029484
• LEFT(TEXT(ROUND(C4,0),”000000000″)) â†’ becomes
• LEFT(000029484) â†’ extracts the first character from this number text value
• Output â†’ 0
• LEFT(TEXT(ROUND(C4,0),”000000000″))+1 â†’ becomes
• “0”+1 â†’ add 1 to the text value and convert it into a number
• Output â†’ 1
• SWITCH((LEFT(TEXT(ROUND(C4,0),”000000000″))+1),1,” “,2,”One”,3,”Two”,4,”Three”,5,”Four”,6,”Five”,7,”Six”,8,”Seven”,9,”Eight”,10,”Nine”) â†’ becomes
• SWITCH(1,1,””,2,”One”,3,”Two”,4,”Three”,5,”Four”,6,”Five”,7,”Six”,8,”Seven”,9,”Eight”,10,”Nine”) â†’ SWITCH will return a result according to the assigned value (here, we assigned a Blank for 1)
• Output â†’ BLANK
• –LEFT(TEXT(ROUND(C4,0),”000000000″))=0 â†’ becomes
• –“0″=0 â†’ double negation will convert text to number
• 0=0 â†’ returns TRUE for fulfilling the condition
• Output â†’ TRUE
• IF(–LEFT(TEXT(ROUND(C4,0),”000000000″))=0,,IF(AND(–MID(TEXT(ROUND(C4,0),”000000000″),2,1)=0,–MID(TEXT(ROUND(C4,0),”000000000″),3,1)=0),” Hundred”,” Hundred and “)) â†’ becomes
• TRUE,,IF(AND(–MID(TEXT(ROUND(C4,0),”000000000″),2,1)=0,–MID(TEXT(ROUND(C4,0),”000000000″),3,1)=0),” Hundred”,” Hundred and “)) â†’ returns a Blank for fulfilling condition
• Output â†’ BLANK

• Press ENTER and drag down the Fill Handle.

In this way, you will be able to spell the number in dirhams easily.

### Method-2: Using VBA to Spell Number in Dirhams in Excel

Here, we will consider the whole numbers as Dirhams and fraction numbers as Fils.

Steps:

• Go to the Developer tab >> Visual Basic

Then, the Visual Basic Editor window will open up.

• Go to the Insert tab >> Module.

After that, a new module Module1 will be created.

• Type the following code in your created module.
``````Function Dirham_word(ByVal amount)
Â Â Â  Dim whole_num, fraction_num, changed_val
Â Â Â  Dim pos_dec, increased_amount
Â Â Â  ReDim Position(9) As String
Â Â Â  Position(2) = " Thousand "
Â Â Â  Position(3) = " Million "
Â Â Â  Position(4) = " Billion "
Â Â Â  Position(5) = " Trillion "
Â Â Â  amount = Trim(Str(amount))
Â Â Â  pos_dec = InStr(amount, ".")
Â Â Â  If pos_dec > 0 Then
Â Â Â Â Â Â Â  fraction_num = extract_10(Left(Mid(amount, pos_dec + 1) & "00", 2))
Â Â Â Â Â Â Â  amount = Trim(Left(amount, pos_dec - 1))
Â Â Â  End If
Â Â Â  increased_amount = 1
Â Â Â  Do While amount <> ""
Â Â Â Â Â Â Â  changed_val = extract_100(Right(amount, 3))
Â Â Â Â Â Â Â  If changed_val <> "" Then whole_num = changed_val & Position(increased_amount) & whole_num
Â Â Â Â Â Â Â  If Len(amount) > 3 Then
Â Â Â Â Â Â Â Â Â Â Â  amount = Left(amount, Len(amount) - 3)
Â Â Â Â Â Â Â  Else
Â Â Â Â Â Â Â Â  Â Â Â amount = ""
Â Â Â Â Â Â Â  End If
Â Â Â Â Â Â Â  increased_amount = increased_amount + 1
Â Â Â  Loop
Â Â Â  Select Case whole_num
Â Â Â Â Â Â Â  Case ""
Â Â Â Â Â Â Â Â Â Â Â  whole_num = "No Dirham"
Â Â Â Â Â Â Â  Case "One"
Â Â Â Â Â Â Â Â Â Â Â  whole_num = "One Dirham"
Â Â Â Â Â Â Â Â  Case Else
Â Â Â Â Â Â Â Â Â Â Â  whole_num = whole_num & " Dirham"
Â Â Â  End Select
Â Â Â  Select Case fraction_num
Â Â Â Â Â Â Â  Case ""
Â Â Â Â Â Â Â Â Â Â Â  fraction_num = " and No Fils"
Â Â Â Â Â Â Â  Case "One"
Â Â Â Â Â Â Â Â Â Â Â  fraction_num = " and One Fil"
Â Â Â Â Â Â Â Â Â Â Â Â Â  Case Else
Â Â Â  Â Â Â Â Â Â Â Â fraction_num = " and " & fraction_num & " Fils"
Â Â Â  End Select
Â Â Â  Dirham_word = whole_num & fraction_num
End Function

Function extract_100(ByVal amount)
Â Â Â  Dim Output As String
Â Â Â  If Val(amount) = 0 Then Exit Function
Â Â Â  amount = Right("000" & amount, 3)
Â Â Â  If Mid(amount, 1, 1) <> "0" Then
Â Â Â Â Â Â Â  Output = extract_1(Mid(amount, 1, 1)) & " Hundred "
Â Â Â  End If
Â Â Â  If Mid(amount, 2, 1) <> "0" Then
Â Â Â Â Â Â Â  Output = Output & extract_10(Mid(amount, 2))
Â Â Â  Else
Â Â Â Â Â Â Â  Output = Output & extract_1(Mid(amount, 3))
Â Â Â  End If
Â Â Â  extract_100 = Output
End Function

Function extract_10(amount_10)
Â Â Â  Dim Result As String
Â Â Â  Output = ""
Â Â Â  If Val(Left(amount_10, 1)) = 1 Then
Â Â Â Â Â Â Â  Select Case Val(amount_10)
Â Â Â Â Â Â Â Â Â Â Â  Case 10: Output = "Ten"
Â Â Â Â Â Â Â Â Â Â Â  Case 11: Output = "Eleven"
Â Â Â Â Â Â Â Â Â Â Â  Case 12: Output = "Twelve"
Â Â Â Â Â Â Â Â Â Â Â  Case 13: Output = "Thirteen"
Â Â Â Â Â Â Â Â Â Â Â  Case 14: Output = "Fourteen"
Â Â Â Â Â Â Â Â Â Â Â  Case 15: Output = "Fifteen"
Â Â Â Â Â Â Â Â Â Â Â  Case 16: Output = "Sixteen"
Â Â Â Â Â Â Â Â Â Â Â  Case 17: Output = "Seventeen"
Â Â Â Â Â Â Â Â Â Â Â  Case 18: Output = "Eighteen"
Â Â Â Â Â Â Â Â Â Â Â  Case 19: Output = "Nineteen"
Â Â Â Â Â Â Â Â Â Â Â  Case Else
Â Â Â Â Â Â Â  End Select
Â Â Â  Else
Â Â Â Â Â Â Â  Select Case Val(Left(amount_10, 1))
Â Â Â Â Â Â Â Â Â Â Â  Case 2: Output = "Twenty "
Â Â Â Â Â Â Â Â Â Â Â  Case 3: Output = "Thirty "
Â Â Â Â Â Â Â Â Â Â Â  Case 4: Output = "Forty "
Â Â Â Â Â Â Â Â Â Â Â  Case 5: Output = "Fifty "
Â Â Â Â Â Â Â Â Â Â Â  Case 6: Output = "Sixty "
Â Â Â Â Â Â Â Â Â Â Â  Case 7: Output = "Seventy "
Â Â Â Â Â Â Â Â Â Â Â  Case 8: Output = "Eighty "
Â Â Â Â Â Â Â Â Â Â Â  Case 9: Output = "Ninety "
Â Â Â Â Â Â Â Â Â Â Â  Case Else
Â Â Â Â Â Â Â  End Select
Â Â Â Â Â Â Â  Output = Output & extract_1(Right(amount_10, 1))
Â Â Â  End If
Â Â Â  extract_10 = Output
End Function

Function extract_1(amount_1)
Â Â Â  Select Case Val(amount_1)
Â Â Â Â Â Â Â  Case 1: extract_1 = "One"
Â Â Â Â Â Â Â  Case 2: extract_1 = "Two"
Â Â Â Â Â Â Â  Case 3: extract_1 = "Three"
Â Â Â Â Â Â Â  Case 4: extract_1 = "Four"
Â Â Â Â Â Â Â  Case 5: extract_1 = "Five"
Â Â Â Â Â Â Â  Case 6: extract_1 = "Six"
Â Â Â Â Â Â Â  Case 7: extract_1 = "Seven"
Â Â Â Â Â Â Â  Case 8: extract_1 = "Eight"
Â Â Â Â Â Â Â  Case 9: extract_1 = "Nine"
Â Â Â Â Â Â Â  Case Else: extract_1 = ""
Â Â Â  End Select
End Function``````

Formula Breakdown:

• Here, a total of 4 functions are created among them the main function is Dirham_word and the other sub-functions are extract_100, extract_10, and extract_1. extract_100, extract_10, and extract_1 will be used to convert texts in the ranges 100-999, 10-99, and 1-9.
• We have declared whole_num, fraction_num, changed_val, pos_dec, and increased_amount as Variant.
• Throughout the code, we have applied the CASE statement for considering different cases.

• Apply the created function in cell D4.
`=Dirham_word(C4)`

• Press ENTER and drag down the Fill Handle.

In this way, you will have the following result.

Read More: How to Spell Number in Taka in Excel

## Practice Section

For doing practice, we have added a Practice portion on each sheet on the right portion.

## Conclusion

In this article, we tried to show the ways to spell a number in Dirhams in Excel. Hope you will find it useful. If you have any suggestions or questions, feel free to share them in the comment section.

## Related Articles

<< Go Back to Spell Number in Excel | Convert Number to Text | Learn Excel

Get FREE Advanced Excel Exercises with Solutions!
Tanjima Hossain

TANJIMA HOSSAIN is a marine engineer who enjoys working with Excel and VBA programming. For her, programming is a handy, time-saving tool for managing data, files, and online tasks. She's skilled in Rhino3D, Maxsurf C++, MS Office, AutoCAD, and Excel & VBA, going beyond the basics. She holds a B.Sc. in Naval Architecture & Marine Engineering from BUET and is now a content developer. In this role, she creates tech-focused content centred around Excel and VBA. Apart from... Read Full Bio

We will be happy to hear your thoughts

Advanced Excel Exercises with Solutions PDF