تبدیل عدد به حروف در اکسل

تبدیل عدد به حروف در اکسل

در اکسل، گاهی اوقات ممکن است نیاز داشته باشید که شماره ستون‌ها را به حروف متناظر آن‌ها تبدیل کنید. این کار می‌تواند در ساخت فرمول‌های پیچیده یا مدیریت داده‌های بزرگ بسیار مفید باشد. در این مقاله، با استفاده از روش‌های مختلف، نحوه تبدیل عدد به حروف در اکسل را بررسی خواهیم کرد. این آموزش می‌تواند به شما در ساده‌سازی فرآیندهای کاری و افزایش بهره‌وری کمک کند.

آموزش تصویری تبدیل عدد به حروف در اکسل (A تا Z)

طبق آنچه که در وبسایت رسمی مایکروسافت آمده است، اکسل به‌طور پیش‌فرض تابعی ندارد که اعداد را به‌صورت کلمات انگلیسی در یک ورک‌شیت نمایش دهد؛ اما می‌توانید با قراردادن کد تابع SpellNumber زیر در یک ماژول VBA (Visual Basic for Applications)، این قابلیت را اضافه کنید. این تابع به شما امکان می‌دهد مقادیر دلار و سنت را با یک فرمول به کلمات تبدیل کنید، به‌طوری‌که ۲۲.۵۰ به‌صورت «بیست و دو دلار و پنجاه سنت» خوانده شود. این قابلیت می‌تواند برای استفاده از اکسل به‌عنوان الگویی برای چاپ چک بسیار مفید باشد.

اگر می‌خواهید مقادیر عددی را به فرمت متنی تبدیل کنید، بدون اینکه آن‌ها را به‌صورت کلمات نمایش دهید، به‌جای آن از تابع TEXT استفاده کنید.

در ادامه بخوانید: آموزش vba در اکسل

ایجاد تابع SpellNumber برای تبدیل عدد به حروف در اکسل

از میانبر صفحه کلید Alt + F11 برای بازکردن ویرایشگر Visual Basic (VBE) استفاده کنید. همچنین با نمایش زبانه Developer در روبان خود هم می‌توانید به ویرایشگر Visual Basic دسترسی پیدا کنید.

روی تب Insert کلیک کنید و سپس Module را انتخاب کنید.

تبدیل عدد به حروف در اکسل

خطوط کد زیر را کپی و در ماژول بازشده جای‌گذاری کنید. این کد که به‌عنوان تابع تعریف‌شده توسط کاربر (UDF) شناخته می‌شود، وظیفه تبدیل اعداد به متن را در سراسر ورک‌شیت شما خودکار می‌کند.

Option Explicit

‘Main Function

Function SpellNumber(ByVal MyNumber)

Dim Dollars, Cents, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = ” Thousand ”

Place(3) = ” Million ”

Place(4) = ” Billion ”

Place(5) = ” Trillion ”

‘ String representation of amount.

MyNumber = Trim(Str(MyNumber))

‘ Position of decimal place 0 if none.

DecimalPlace = InStr(MyNumber, “.”)

‘ Convert cents and set MyNumber to dollar amount.

If DecimalPlace > 0 Then

Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ “00”, 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace – 1))

End If

Count = 1

Do While MyNumber <> “”

Temp = GetHundreds(Right(MyNumber, 3))

If Temp <> “” Then Dollars = Temp & Place(Count) & Dollars

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) – 3)

Else

MyNumber = “”

End If

Count = Count + 1

Loop

Select Case Dollars

Case “”

Dollars = “No Dollars”

Case “One”

Dollars = “One Dollar”

Case Else

Dollars = Dollars & ” Dollars”

End Select

Select Case Cents

Case “”

Cents = ” and No Cents”

Case “One”

Cents = ” and One Cent”

Case Else

Cents = ” and ” & Cents & ” Cents”

End Select

SpellNumber = Dollars & Cents

End Function

‘ Converts a number from 100-999 into text

Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right(“000” & MyNumber, 3)

‘ Convert the hundreds place.

If Mid(MyNumber, 1, 1) <> “0” Then

Result = GetDigit(Mid(MyNumber, 1, 1)) & ” Hundred ”

End If

‘ Convert the tens and ones place.

If Mid(MyNumber, 2, 1) <> “0” Then

Result = Result & GetTens(Mid(MyNumber, 2))

Else

Result = Result & GetDigit(Mid(MyNumber, 3))

End If

GetHundreds = Result

End Function

‘ Converts a number from 10 to 99 into text.

Function GetTens(TensText)

Dim Result As String

Result = “” ‘ Null out the temporary function value.

If Val(Left(TensText, 1)) = 1 Then ‘ If value between 10-19…

Select Case Val(TensText)

Case 10: Result = “Ten”

Case 11: Result = “Eleven”

Case 12: Result = “Twelve”

Case 13: Result = “Thirteen”

Case 14: Result = “Fourteen”

Case 15: Result = “Fifteen”

Case 16: Result = “Sixteen”

Case 17: Result = “Seventeen”

Case 18: Result = “Eighteen”

Case 19: Result = “Nineteen”

Case Else

End Select

Else ‘ If value between 20-99…

Select Case Val(Left(TensText, 1))

Case 2: Result = “Twenty ”

Case 3: Result = “Thirty ”

Case 4: Result = “Forty ”

Case 5: Result = “Fifty ”

Case 6: Result = “Sixty ”

Case 7: Result = “Seventy ”

Case 8: Result = “Eighty ”

Case 9: Result = “Ninety ”

Case Else

End Select

Result = Result & GetDigit _

(Right(TensText, 1)) ‘ Retrieve ones place.

End If

GetTens = Result

End Function

‘ Converts a number from 1 to 9 into text.

Function GetDigit(Digit)

Select Case Val(Digit)

Case 1: GetDigit = “One”

Case 2: GetDigit = “Two”

Case 3: GetDigit = “Three”

Case 4: GetDigit = “Four”

Case 5: GetDigit = “Five”

Case 6: GetDigit = “Six”

Case 7: GetDigit = “Seven”

Case 8: GetDigit = “Eight”

Case 9: GetDigit = “Nine”

Case Else: GetDigit = “”

End Select

End Function

کلید Alt + Q را فشار دهید تا به اکسل بازگردید. تابع SpellNumber اکنون آماده استفاده است.

توجه داشته باشید که این تابع فقط برای ورک‌شیت فعلی کار می‌کند. برای استفاده از این تابع در ورک‌شیت دیگر، باید مراحل کپی و چسباندن کد را در آن ورک‌شیت تکرار کنید.

در ادامه بخوانید: محاسبه میانگین در اکسل

استفاده از تابع SpellNumber در سلول‌های جداگانه

فرمول زیر را در سلولی که می‌خواهید عدد نوشتاری را نمایش دهید، تایپ کنید:

=SpellNumber(A1)

A1 سلولی است که حاوی عددی است که می‌خواهید تبدیل کنید. همچنین می‌توانید مقدار را به‌صورت دستی مانند زیر تایپ کنید:

=SpellNumber(22.50)

برای تأیید فرمول، Enter را فشار دهید.

ذخیره ورک‌شیت تابع SpellNumber

اکسل نمی‌تواند ورک‌شیت با توابع ماکرو را در قالب استاندارد ورک‌شیت بدون ماکرو (.xlsx) ذخیره کند. اگر روی File > Save کلیک کنید، یک باکس VB project باز می‌شود. روی No کلیک کنید.

آموزش تصویری تبدیل عدد به حروف در اکسل

شما می‌توانید فایل خود را به‌عنوان  Excel Macro-Enabled Workbook (.xlsm) ذخیره کنید تا فایل خود را در قالب فعلی نگه دارید.

  • روی File > Save As کلیک کنید.
  • روی منوی کشویی Save as type کلیک کنید و Excel Macro-Enabled Workbook را انتخاب کنید.
  • روی Save کلیک کنید.

 

تبدیل شماره ستون به حروف در اکسل

اگر می‌خواهید شماره ستون را به حروفی از A تا Z تبدیل کنید (ستون‌های تک‌حرفی) می‌توانید از یک فرمول بسیار ساده استفاده کنید. این فرمول به شما امکان می‌دهد تا شماره ستون را به حرف متناظر آن تبدیل کنید.

فرمول ساده برای تغییر شماره ستون به حروف

برای تبدیل شماره ستون به حرف از تابع CHAR استفاده می‌کنیم. همانطور که در آموزش فرمول نویسی در اکسل وب‌سایت ۲۴ وب لرن گفته شده است، توابع اکسل چیزی جز فرمول‌های ازپیش‌تعریف‌شده که محاسبات مورد نیاز را در پس‌زمینه انجام می‌دهند، نیستند.

تابع CHAR یک کاراکتر را براساس کد ASCII آن بازمی‌گرداند. برای تبدیل عدد به حروف در اکسل وقتی عدد شماره ستون است، می‌توانید از فرمول زیر استفاده کنید:

CHAR(64 + col_number)

به‌عنوان‌مثال، برای تبدیل عدد ۱۰ به حرف ستون، فرمول به این صورت است:

=CHAR(64 + 10)

همچنین می‌توانید یک عدد را در یک سلول وارد کنید و به آن سلول در فرمول خود ارجاع دهید:

=CHAR(64 + A2)

تبدیل عدد به حروف اکسل

این فرمول، شماره ستون موجود در سلول A2 را به حرف متناظر آن تبدیل می‌کند.

در اینجا، عدد ۶۴ کد ASCII برای کاراکتر قبل از ‘A’ است؛ بنابراین با اضافه‌کردن شماره ستون به ۶۴، کد ASCII حرف متناظر ستون را به دست می‌آورید.

تبدیل شماره ستون به حروف (هر ستون)

اگر به‌دنبال فرمولی هستید که برای هر ستونی (ستون‌های تک‌حرفی، دوحرفی و سه‌حرفی) در اکسل کار کند، نیاز به استفاده از یک فرمول کمی پیچیده‌تر دارید. در اینجا از ترکیب توابع ADDRESS و SUBSTITUTE استفاده می‌کنیم.

فرمول زیر به شما کمک می‌کند تا شماره ستون را به حرف متناظر آن تبدیل کنید:

SUBSTITUTE(ADDRESS(1, col_number, 4), “1”, “”)

با قراردادن حرف ستون در سلول A2، فرمول به این شکل می‌شود:

=SUBSTITUTE(ADDRESS(1, A2, 4), “1”, “”)

در این فرمول، A2 سلولی است که شماره ستون مورد نظر در آن قرار دارد.

تبدیل عدد به حروف اکسل

نحوه عملکرد فرمول به این صورت است که :

ابتدا، شما یک آدرس سلول با شماره ستون مورد نظر خود ایجاد می‌کنید. برای این کار، آرگومان‌های زیر را به تابع ADDRESS ارائه می‌دهید:

  • ۱ برای آرگومان row_num (شماره سطر مهم نیست، بنابراین می‌توانید از هر عددی استفاده کنید)؛
  • A2 (سلول حاوی شماره ستون) برای آرگومان column_num؛
  • ۴ برای آرگومان abs_num برای بازگرداندن یک مرجع نسبی.

با پارامترهای بالا، تابع ADDRESS رشته متنی “A1” را به‌عنوان نتیجه بازمی‌گرداند.

از آنجایی که ما فقط به حرف ستون نیاز داریم، شماره سطر را با کمک تابع SUBSTITUTE حذف می‌کنیم که در متن “A1” به‌دنبال “۱” (یا هر شماره سطری که در تابع ADDRESS هاردکدنویسی کرده‌اید) می‌گردد و آن را با یک رشته خالی (“”) جایگزین می‌کند.

 

استفاده از تابع سفارشی برای تبدیل عدد به حروف در اکسل

اگر به‌طور مرتب نیاز به تبدیل شماره ستون به حروف دارید، ایجاد یک تابع user-defined (UDF) می‌تواند به شما کمک کند. این تابع سفارشی عملکرد تبدیل را به‌صورت ساده و سریع انجام می‌دهد.

برای ایجاد این تابع، کد زیر را در محیط VBA اکسل وارد کنید:

Public Function ColumnLetter(col_num)

ColumnLetter = Split(Cells(1, col_num).Address, “$”)(1)

End Function

در این فرمول، از ویژگی Cells برای اشاره به یک سلول در سطر ۱ و شماره ستون مشخص‌شده و ویژگی Address  برای بازگرداندن یک رشته حاوی یک مرجع مطلق به آن سلول مانند ($A$1) استفاده می‌کنیم. سپس، تابع Split رشته برگردانده‌شده را به عناصر جداگانه با استفاده از علامت $ به‌عنوان جداکننده تقسیم می‌کند و ما عنصر (۱) را که حرف ستون است، بازمی‌گردانیم.

پس‌از واردکردن کد فوق می‌توانید از تابع ColumnLetter برای تبدیل شماره ستون به حروف استفاده کنید. به‌عنوان‌مثال، اگر شماره ستون در A2 قرار دارد، فرمول زیر حروف متناظر آن را بازمی‌گرداند:

=ColumnLetter(A2)

این تابع مانند توابع داخلی اکسل کار می‌کند و می‌تواند در فرمول‌های پیچیده‌تر هم استفاده شود.

تبدیل عدد به حروف در اکسل

اگر بخواهید حرف ستون یک سلول خاص را پیدا کنید، می‌توانید از ترکیب توابع COLUMN و ADDRESS استفاده کنید. این ترکیب به شما کمک می‌کند تا شماره ستون سلول مورد نظر را به حرف متناظر آن تبدیل کنید.

فرمول کامل به شکل زیر خواهد بود:

SUBSTITUTE(ADDRESS(1, COLUMN(cell_address), 4), “1”, “”)

به‌عنوان‌مثال، بیایید حرف ستون سلول C5 را پیدا کنیم:

=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), “1”, “”)

دریافت حرف ستون از یک سلول خاص

بدیهی است که نتیجه “C” است.

دریافت حرف ستون سلول فعلی

اگر می‌خواهید حرف ستون سلول فعلی (سلولی که فرمول در آن قرار دارد) را پیدا کنید، تنها تفاوت با مثال قبلی این است که تابع COLUMN را بدون هیچ آرگومانی استفاده می‌کنید:

=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), “1”, “”)

دریافت حرف ستون سلول فعلی

این فرمول به‌صورت خودکار ستونی را که سلول فعلی در آن قرار دارد، تشخیص می‌دهد و حرف متناظر آن را بازمی‌گرداند. این روش زمانی مفید است که بخواهید فرمول‌های پویا ایجاد کنید که به‌طور خودکار با تغییر مکان سلول‌ها تطبیق یابند.

 

چگونه می‌توانید به یک متخصص اکسل تبدیل شوید؟

در این مقاله با مفاهیم و تکنیک‌های تبدیل عدد به حروف در اکسل آشنا شدید؛ اما اگر می‌خواهید بر مهارت‌های پیشرفته اکسل تسلط کامل پیدا کنید و صفر تا صد اکسل را در کمترین زمان ممکن یاد بگیرید، از صفحه محصول دوره آموزش اکسل مقدماتی تا پیشرفته ۲۴ وب لرن دیدن کنید.

این دوره دریچه‌ای به دنیای شگفت‌انگیز امکانات پنهان اکسل است. از فرمول‌نویسی ساده تا تکنیک‌های پیچیده مانند PivotTables و ماکرونویسی، همه را در یک بسته جامع خواهید آموخت.

پس‌از گذراندن دوره آموزش جامع ۲۴ وب لرن به‌راحتی می‌توانید جداول پیچیده را در چند ثانیه تحلیل ‌کنید، گزارش‌های عالی با نمودارهای حرفه‌ای ارائه ‌دهید و فرآیندهای زمان‌بر را با ماکروها خودکارسازی ‌کنید. این دوره با ۶۰% تخفیف ویژه، سرمایه‌گذاری هوشمندانه‌ای برای آینده شغلی شماست و پشتیبانی ۲۴ساعته و دسترسی مادام‌العمر به به‌روزرسانی‌ها، خیال شما را از یادگیری کامل راحت می‌کند.

فرصت محدود است! همین حالا از صفحه محصول دیدن کنید و قدم در مسیر تبدیل‌شدن به متخصص اکسل بگذارید.

 

سوالات متداول

چگونه می‌توانم شماره ستون را به‌صورت خودکار به حرف تبدیل کنم؟

شما می‌توانید از تابع `CHAR` برای ستون‌های تک‌حرفی (A تا Z) یا از ترکیب توابع `ADDRESS` و `SUBSTITUTE` برای هر ستونی استفاده کنید. همچنین با ایجاد یک تابع سفارشی در VBA می‌توانید این کار را به‌راحتی انجام دهید.

چگونه می‌توانم حرف ستون سلول فعلی را پیدا کنم؟

برای پیدا کردن حرف ستون سلول فعلی، می‌توانید از فرمول زیر استفاده کنید:

=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), “1”, “”)

این فرمول به‌طور خودکار حرف ستون سلول فعلی را بازمی‌گرداند.

آیا می‌توانم از شماره ستون برای ایجاد مراجع دینامیک در فرمول‌ها استفاده کنم؟

بله، با تبدیل شماره ستون به حرف و استفاده از تابع `INDIRECT` می‌توانید مراجع دامنه دینامیک ایجاد کنی و از آن‌ها در فرمول‌هایی مانند `XLOOKUP` استفاده کنید.

سخن پایانی

در این مقاله به بررسی روش‌های مختلف تبدیل عدد به حروف در اکسل پرداختیم. از توابع ساده داخلی گرفته تا توابع سفارشی VBA، ابزارها و فرمول‌هایی معرفی شد که به شما کمک می‌کند شماره ستون‌ها را به حروف الفبایی تبدیل کنید. با استفاده از این ابزارها قادر خواهید بود فرمول‌های پویا و کارآمدتری ایجاد کنید و گزارش‌های دقیق‌تر و شفاف‌تری ارائه دهید.

1 دیدگاه دربارهٔ «تبدیل عدد به حروف در اکسل»

  1. وقت بخیر آیا برای تبدیل عدد به حروف میشه برای حروف فارسی هم اینکار رو کرد یا آموزش ها فقط برای حروف لاتین هست. چون دقیق ما برای کارمون به همچین مشکلی خوردیم و نیاز داریم تبدیل حروف به عدد در اکسل رو انجام بدیم

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

0
    0
    سبد خرید شما
    سبد خرید شما خالی استبرگشت به فروشگاه
    پیمایش به بالا