معرفی تابع CHAR
تابع CHAR در اکسل برای تبدیل یک عدد به کاراکتر متناظر آن استفاده میشود. هر عدد در سیستم کدگذاری کاراکترها، معادل یک نویسه خاص است؛ مثلاً عدد 10 معمولاً برای ایجاد خط جدید در داخل یک سلول استفاده میشود.
به زبان ساده، اگر بخواهید با فرمول اکسل کاراکترهایی مثل خط جدید، تب، علامت نقلقول، نقطهگذاری خاص یا برخی کاراکترهای کنترلی را بسازید، تابع CHAR یکی از بهترین گزینههاست.
یکی از پرکاربردترین مثالهای تابع CHAR، نوشتن چند خط متن در یک سلول است. فرض کنید در سلول A1 نام و در سلول B1 نام خانوادگی قرار دارد و میخواهید هرکدام در یک خط جدا نمایش داده شوند:
=A1&CHAR(10)&B1
در این فرمول، CHAR(10) باعث ایجاد خط جدید بین مقدار سلول A1 و B1 میشود. برای اینکه نتیجه بهدرستی دیده شود، باید گزینه Wrap Text را برای سلول فعال کنید.
کاربردهای اصلی تابع CHAR
- ایجاد خط جدید داخل یک سلول با CHAR(10)
- ترکیب متنها و نمایش آنها در چند خط
- اضافه کردن کاراکترهای خاص مانند تب، نقلقول و بولت
- ساخت گزارشهای خواناتر داخل سلولها
- تمیزتر کردن خروجی فرمولهای ترکیبی
- استفاده در فرمولهای شرطی برای نمایش پیامهای چندخطی
- ساخت لیستهای متنی داخل یک سلول
- ترکیب با توابعی مثل IF، TEXTJOIN، XLOOKUP، COUNTIF، AND و OR
ساختار (Syntax)
ساختار تابع CHAR بسیار ساده است و فقط یک آرگومان دریافت میکند:
=CHAR(number)
ساختار فارسی توضیحی تابع به شکل زیر است:
=CHAR(عدد کد کاراکتر)
در این تابع، شما یک عدد وارد میکنید و اکسل کاراکتر متناظر با آن عدد را برمیگرداند.
آرگومانها
number / عدد کد کاراکتر
تنها آرگومان تابع CHAR عددی است که مشخص میکند چه کاراکتری باید نمایش داده شود. این عدد معمولاً باید بین 1 تا 255 باشد. اگر عدد خارج از محدوده مجاز باشد، ممکن است اکسل خطا نمایش دهد.
مثلاً فرمول زیر کاراکتر متناظر با عدد 65 را نمایش میدهد که در بسیاری از سیستمها حرف A انگلیسی است:
=CHAR(65)
مثالهای ساده و پایه
مثال 1: نمایش حرف انگلیسی با کد عددی
اگر بخواهید کاراکتر متناظر با عدد 65 را نمایش دهید، از فرمول زیر استفاده میکنید:
=CHAR(65)
نتیجه این فرمول معمولاً حرف A است.
مثال 2: ایجاد خط جدید بین دو متن
فرض کنید در سلول A1 مقدار «نام: علی» و در سلول B1 مقدار «شهر: تهران» قرار دارد. برای نمایش این دو مقدار در دو خط جداگانه در یک سلول، از فرمول زیر استفاده کنید:
=A1&CHAR(10)&B1
نتیجه بهصورت دو خطی نمایش داده میشود، البته به شرطی که گزینه Wrap Text فعال باشد.
مثال 3: ترکیب متن ثابت با خط جدید
گاهی میخواهید متنهای ثابت را در چند خط داخل یک سلول نمایش دهید:
="نام: علی"&CHAR(10)&"شهر: تهران"
این فرمول دو عبارت را در دو خط جداگانه نشان میدهد.
مثال 4: اضافه کردن علامت نقلقول دوتایی
برای قرار دادن علامت نقلقول دوتایی داخل متن، میتوانید از CHAR(34) استفاده کنید:
="نام محصول: "&CHAR(34)&A1&CHAR(34)
اگر مقدار A1 برابر Laptop باشد، خروجی به شکل نام محصول: “Laptop” نمایش داده میشود.
مثالهای کاربردی و واقعی
مثال 1: ساخت کارت اطلاعات مشتری در یک سلول
فرض کنید اطلاعات مشتری در سلولهای A2 تا D2 قرار دارد: نام در A2، شماره تماس در B2، شهر در C2 و وضعیت سفارش در D2. برای ساخت یک کارت اطلاعاتی چندخطی میتوانید از فرمول زیر استفاده کنید:
="نام مشتری: "&A2&CHAR(10)&"شماره تماس: "&B2&CHAR(10)&"شهر: "&C2&CHAR(10)&"وضعیت سفارش: "&D2
این فرمول یک خروجی مرتب و چندخطی در یک سلول ایجاد میکند.
مثال 2: ترکیب CHAR با SUM برای ساخت گزارش فروش
فرض کنید فروش ماهانه در محدوده B2:B7 قرار دارد. برای نمایش جمع فروش همراه با عنوان در چند خط، از فرمول زیر استفاده کنید:
="گزارش فروش"&CHAR(10)&"جمع کل: "&SUM(B2:B7)
خروجی این فرمول عنوان گزارش را در خط اول و جمع فروش را در خط دوم نمایش میدهد.
مثال 3: ترکیب CHAR با AND برای نمایش پیام شرطی چندخطی
فرض کنید نمره آزمون در B2 و درصد حضور در C2 است. اگر نمره حداقل 70 و حضور حداقل 80 باشد، وضعیت قبولی نمایش داده شود:
=IF(AND(B2>=70,C2>=80),"وضعیت: قبول"&CHAR(10)&"شرایط لازم رعایت شده است","وضعیت: مردود"&CHAR(10)&"یکی از شرایط رعایت نشده است")
در این مثال، تابع CHAR پیام را خواناتر و چندخطی میکند.
مثال 4: ترکیب CHAR با OR برای بررسی چند شرط
فرض کنید اگر وضعیت پرداخت در B2 برابر «پرداخت شده» باشد یا وضعیت ارسال در C2 برابر «ارسال شده» باشد، پیام مناسب نمایش داده شود:
=IF(OR(B2="پرداخت شده",C2="ارسال شده"),"سفارش فعال است"&CHAR(10)&"نیاز به بررسی نهایی دارد","سفارش هنوز فعال نشده است")
تابع OR شرطها را بررسی میکند و CHAR(10) خروجی را چندخطی میسازد.
مثال 5: ترکیب CHAR با COUNTIF برای گزارش تعداد سفارشها
فرض کنید وضعیت سفارشها در محدوده C2:C100 قرار دارد. برای نمایش تعداد سفارشهای تکمیلشده و لغوشده در چند خط، از فرمول زیر استفاده کنید:
="گزارش سفارشها"&CHAR(10)&"تکمیل شده: "&COUNTIF(C2:C100,"تکمیل شده")&CHAR(10)&"لغو شده: "&COUNTIF(C2:C100,"لغو شده")
این فرمول یک گزارش خلاصه و خوانا در یک سلول تولید میکند.
مثال 6: ترکیب CHAR با XLOOKUP برای نمایش اطلاعات محصول
فرض کنید کد محصول در سلول F2 وارد میشود، کدها در محدوده A2:A100، نام محصول در B2:B100 و قیمت در C2:C100 قرار دارد. برای نمایش اطلاعات محصول بهصورت چندخطی، از فرمول زیر استفاده کنید:
="نام محصول: "&XLOOKUP(F2,A2:A100,B2:B100,"یافت نشد")&CHAR(10)&"قیمت: "&XLOOKUP(F2,A2:A100,C2:C100,"یافت نشد")
این فرمول بر اساس کد واردشده، نام و قیمت محصول را پیدا کرده و در دو خط جدا نمایش میدهد.
ترکیب تابع CHAR با فرمولهای دیگر
- ترکیب با IF برای ساخت پیامهای شرطی خواناتر
- ترکیب با SUM برای ایجاد گزارشهای عددی چندخطی
- ترکیب با COUNTIF برای نمایش تعداد وضعیتها در یک سلول
- ترکیب با XLOOKUP برای نمایش نتیجه جستجو در قالب گزارش
- ترکیب با TEXTJOIN برای ساخت لیستهای چندخطی از چند سلول
- ترکیب با CONCAT یا & برای اتصال متنها همراه با کاراکترهای خاص
ترکیب CHAR با IF
در این مثال، اگر مقدار فروش در B2 بیشتر یا مساوی 10000000 باشد، پیام موفقیت نمایش داده میشود:
=IF(B2>=10000000,"وضعیت: عالی"&CHAR(10)&"فروش به هدف رسیده است","وضعیت: نیاز به پیگیری"&CHAR(10)&"فروش کمتر از هدف است")
ترکیب CHAR با TEXTJOIN
اگر بخواهید مقادیر چند سلول را هرکدام در یک خط جدا نمایش دهید، میتوانید از TEXTJOIN و CHAR(10) استفاده کنید:
=TEXTJOIN(CHAR(10),TRUE,A2:A6)
این فرمول مقادیر محدوده A2:A6 را با خط جدید از هم جدا میکند.
ترکیب CHAR با CONCAT
برای ترکیب چند متن و ایجاد ساختار چندخطی، میتوانید از CONCAT استفاده کنید:
=CONCAT("نام: ",A2,CHAR(10),"واحد: ",B2,CHAR(10),"سمت: ",C2)ترکیب CHAR با SUBSTITUTE
فرض کنید در سلول A2 متنهایی با جداکننده ویرگول دارید و میخواهید هر بخش در یک خط جدا قرار بگیرد:
=SUBSTITUTE(A2,",",CHAR(10))
این فرمول ویرگولها را با خط جدید جایگزین میکند.
خطاهای رایج و روش رفع آنها
1. نمایش ندادن خط جدید با CHAR(10)
یکی از رایجترین مشکلات این است که کاربر از CHAR(10) استفاده میکند اما متن در چند خط نمایش داده نمیشود.
روش رفع: گزینه Wrap Text را برای سلول فعال کنید. برای این کار از تب Home روی Wrap Text کلیک کنید. همچنین ارتفاع ردیف را بررسی کنید تا فضای کافی برای نمایش چند خط وجود داشته باشد.
2. خطای #VALUE! به دلیل وارد کردن عدد نامعتبر
اگر عدد واردشده در تابع CHAR خارج از محدوده مجاز باشد، ممکن است اکسل خطای #VALUE! نمایش دهد.
روش رفع: عدد آرگومان تابع CHAR را بررسی کنید. در بیشتر نسخهها، عدد باید بین 1 تا 255 باشد. برای کاراکترهای یونیکد و نمادهای گستردهتر، بهتر است از تابع UNICHAR استفاده کنید.
3. استفاده اشتباه از CHAR برای حروف فارسی خاص
تابع CHAR برای تولید همه حروف و نمادهای فارسی مناسب نیست، چون بیشتر به کدهای محدودتر وابسته است.
روش رفع: برای کاراکترهای یونیکد، حروف خاص، ایموجیها و نمادهای پیشرفتهتر از تابع UNICHAR استفاده کنید.
4. تفاوت نتیجه در ویندوز و مک
در برخی موارد، خروجی تابع CHAR ممکن است در Excel ویندوز و Excel مک متفاوت باشد، چون سیستم کدگذاری کاراکترها میتواند متفاوت عمل کند.
روش رفع: اگر فایل شما بین کاربران ویندوز و مک جابهجا میشود، خروجی کاراکترها را تست کنید. برای کاراکترهای عمومی مثل CHAR(10) معمولاً مشکلی وجود ندارد، اما برای نمادهای خاص بهتر است از UNICHAR استفاده شود.
5. کپی شدن خروجی چندخطی به شکل نامناسب
گاهی هنگام کپی کردن سلول دارای CHAR(10) به برنامههای دیگر، متن با شکست خط یا فاصلههای غیرمنتظره منتقل میشود.
روش رفع: قبل از کپی، مقصد را بررسی کنید. اگر لازم است متن ساده باشد، میتوانید از Paste Special یا تبدیل فرمول به مقدار استفاده کنید.
نکات حرفهای و ترفندهای مهم
- برای ایجاد خط جدید داخل سلول، معمولاً از CHAR(10) استفاده کنید.
- بعد از استفاده از CHAR(10)، حتماً Wrap Text را فعال کنید.
- برای نمایش علامت نقلقول دوتایی داخل متن، میتوانید از CHAR(34) استفاده کنید.
- برای ایجاد فاصله تب، در برخی موارد میتوانید از CHAR(9) استفاده کنید، اما نمایش آن در اکسل همیشه مانند نرمافزارهای متنی نیست.
- برای کاراکترهای یونیکد، نمادهای خاص و ایموجیها، تابع UNICHAR انتخاب بهتری است.
- اگر میخواهید چند مقدار را به شکل لیست چندخطی ترکیب کنید، TEXTJOIN همراه با CHAR(10) بسیار کاربردی است.
- برای جلوگیری از طولانی و پیچیده شدن فرمولها، میتوانید بخشهای مختلف گزارش را در سلولهای کمکی بسازید.
- در گزارشهای مدیریتی، CHAR کمک میکند اطلاعات زیادی را در یک سلول اما با ساختار خوانا نمایش دهید.
تفاوت تابع CHAR با توابع مشابه
CHAR در برابر CODE
تابع CHAR یک عدد میگیرد و کاراکتر متناظر آن را برمیگرداند، اما تابع CODE برعکس عمل میکند؛ یعنی یک کاراکتر میگیرد و کد عددی آن را برمیگرداند.
=CHAR(65)
=CODE("A")فرمول اول معمولاً حرف A را برمیگرداند و فرمول دوم عدد 65 را نمایش میدهد.
CHAR در برابر UNICHAR
تابع CHAR برای کدهای محدودتر استفاده میشود، اما UNICHAR برای کاراکترهای یونیکد و نمادهای گستردهتر مناسب است.
=UNICHAR(10003)
فرمول بالا معمولاً علامت تیک را نمایش میدهد. اگر بخواهید نمادهای خاص، ایموجیها یا کاراکترهای بینالمللی بیشتری بسازید، UNICHAR گزینه مناسبتری است.
CHAR در برابر CONCAT
تابع CONCAT برای اتصال متنها استفاده میشود، اما CHAR برای تولید یک کاراکتر خاص از روی کد عددی کاربرد دارد. البته این دو تابع معمولاً با هم ترکیب میشوند.
=CONCAT(A2,CHAR(10),B2)
CHAR در برابر TEXTJOIN
TEXTJOIN برای اتصال چند مقدار با یک جداکننده استفاده میشود. اگر جداکننده شما خط جدید باشد، میتوانید CHAR(10) را داخل TEXTJOIN قرار دهید.
=TEXTJOIN(CHAR(10),TRUE,A2:A10)
سازگاری با نسخههای مختلف اکسل
تابع CHAR از توابع قدیمی و پایهای اکسل است و در اکثر نسخههای اکسل پشتیبانی میشود.
- Excel 2007
- Excel 2010
- Excel 2013
- Excel 2016
- Excel 2019
- Excel 2021
- Microsoft 365
- Excel برای مک
- Excel Online
نکته مهم این است که خروجی برخی کدهای کاراکتری ممکن است بین سیستمعاملها یا نسخههای مختلف کمی تفاوت داشته باشد. برای کاراکترهای خاص و یونیکد، استفاده از UNICHAR در نسخههای جدیدتر اکسل پیشنهاد میشود.
سؤالات پرتکرار درباره تابع CHAR
تابع CHAR در اکسل چه کاری انجام میدهد؟
تابع CHAR یک عدد را به کاراکتر متناظر آن تبدیل میکند. مثلاً CHAR(10) برای ایجاد خط جدید داخل سلول استفاده میشود.
چرا CHAR(10) در سلول خط جدید ایجاد نمیکند؟
احتمالاً گزینه Wrap Text فعال نیست. بعد از نوشتن فرمول، از تب Home گزینه Wrap Text را فعال کنید.
آیا CHAR برای حروف فارسی مناسب است؟
برای برخی کاراکترهای ساده ممکن است کاربرد داشته باشد، اما برای حروف و نمادهای فارسی و یونیکد، تابع UNICHAR معمولاً گزینه بهتری است.
کد علامت نقلقول دوتایی در CHAR چیست؟
کد علامت نقلقول دوتایی 34 است.
=CHAR(34)
آیا میتوانم با CHAR لیست چندخطی بسازم؟
بله. با استفاده از CHAR(10) میتوانید آیتمهای مختلف را در خطوط جدا نمایش دهید.
="آیتم 1"&CHAR(10)&"آیتم 2"&CHAR(10)&"آیتم 3"
تفاوت CHAR(10) و CHAR(13) چیست؟
CHAR(10) معمولاً Line Feed و CHAR(13) Carriage Return است. در اکسل ویندوز، برای ایجاد خط جدید داخل سلول معمولاً CHAR(10) استفاده میشود.
جمعبندی و پیشنهاد یادگیری بعدی
تابع CHAR یکی از توابع ساده اما بسیار کاربردی اکسل است. این تابع به شما اجازه میدهد با وارد کردن یک کد عددی، کاراکتر متناظر آن را تولید کنید. پرکاربردترین استفاده آن ایجاد خط جدید داخل سلول با CHAR(10) است.
اگر در اکسل گزارشهای متنی، فاکتور، کارت اطلاعات مشتری، خلاصه سفارشها یا پیامهای شرطی میسازید، CHAR میتواند خروجی فرمولهای شما را بسیار خواناتر و حرفهایتر کند.
برای یادگیری بهتر، پیشنهاد میشود بعد از CHAR با توابع CODE، UNICHAR، TEXTJOIN، CONCAT، IF و XLOOKUP نیز آشنا شوید؛ چون ترکیب این توابع با CHAR در ساخت گزارشهای حرفهای بسیار مفید است.
