فهرست مطالب
در این آموزش، نحوه تغییر اعداد ستون اکسل به نویسه های الفبایی مربوطه را بررسی خواهیم کرد.
هنگام ساختن فرمول های پیچیده در اکسل، ممکن است گاهی اوقات نیاز به دریافت یک ستون نامه یک سلول خاص یا از یک عدد معین. این را می توان به دو روش انجام داد: با استفاده از توابع داخلی یا توابع سفارشی.
نحوه تبدیل شماره ستون به حروف الفبا (ستون های تک حرفی)
در صورت نام ستون از یک حرف از A تا Z تشکیل شده است، می توانید با استفاده از این فرمول ساده آن را دریافت کنید:
CHAR(64 + col_number)به عنوان مثال، برای تبدیل عدد 10 به یک حرف ستونی، فرمول این است:
=CHAR(64 + 10)
همچنین می توان یک عدد را در یک سلول وارد کرد و به آن سلول در فرمول خود اشاره کرد:
=CHAR(64 + A2)
این فرمول چگونه کار می کند:
عملکرد CHAR یک کاراکتر را بر اساس کد کاراکتر در مجموعه ASCII برمی گرداند. مقادیر ASCII حروف بزرگ الفبای انگلیسی 65 (A) تا 90 (Z) است. بنابراین، برای به دست آوردن کد کاراکتر A بزرگ، 1 را به 64 اضافه می کنید. برای به دست آوردن کد کاراکتر بزرگ B، 2 را به 64 اضافه می کنید، و به همین ترتیب.
نحوه تبدیل شماره ستون اکسل به حرف (هر ستونی)
اگر به دنبال یک ابزار همه کاره هستید فرمولی که برای هر ستونی در اکسل کار می کند (1 حرف، 2 حرف و 3 حرف)، سپس باید از نحو پیچیده تری استفاده کنید:
SUBSTITUTE(ADDRESS(1, col_number, 4 ), "1"، "")باستون حرف در A2، فرمول به این شکل است:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
این فرمول چگونه کار می کند:
ابتدا یک آدرس سلولی با شماره ستون مورد نظر می سازید. برای این کار، آرگومان های زیر را به تابع ADDRESS ارائه دهید:
- 1 برای row_num (شماره ردیف واقعا مهم نیست، بنابراین می توانید از هر کدام استفاده کنید).
- A2 (سلول حاوی شماره ستون) برای column_num .
- 4 برای آرگومان abs_num برای برگرداندن یک مرجع نسبی.
با پارامترهای بالا، تابع ADDRESS رشته متنی "A1" را به عنوان نتیجه برمی گرداند.
از آنجایی که ما فقط به یک حرف ستون نیاز داریم، شماره ردیف را با کمک تابع SUBSTITUTE، که عبارت را جستجو می کند، برمی گرداند. "1" (یا هر شماره ردیفی که داخل تابع ADDRESS کدگذاری کرده اید) در متن "A1" و جایگزین آن با یک رشته خالی ("") می شود.
دریافت حرف ستون از شماره ستون با استفاده از تابع سفارشی تابع سفارشی
اگر نیاز دارید که اعداد ستون ها را به صورت منظم به حروف الفبا تبدیل کنید، یک تابع سفارشی تعریف شده توسط کاربر (UDF) می تواند به شدت در وقت شما صرفه جویی کند.
کد تابع بسیار زیبا است. ساده و ساده:
عملکرد عمومی ستون نامه (col_nu m) ColumnLetter = Split(Cells(1, col_num). Address, "$" )(1) End Functionدر اینجا، ما از ویژگی Cells برای اشاره به سلول در ردیف 1 و شماره ستون مشخص شده و ویژگی Address برای برگرداندن aرشته ای حاوی یک مرجع مطلق به آن سلول (مانند $A$1). سپس، تابع Split رشته برگشتی را با استفاده از علامت $ به عنوان جداکننده به عناصر جداگانه میشکند و عنصر (1) را که حرف ستون است برمیگردانیم.
کد را در ویرایشگر VBA جایگذاری کنید و تابع ColumnLetter جدید برای استفاده آماده است. برای راهنمایی دقیق، لطفاً ببینید: نحوه درج کد VBA در اکسل.
از دیدگاه کاربر نهایی، نحو تابع به این سادگی است:
ColumnLetter(col_num)Where col_num شماره ستونی است که می خواهید به یک حرف تبدیل کنید.
فرمول واقعی شما می تواند به صورت زیر باشد:
=ColumnLetter(A2)
و باز خواهد گشت دقیقاً همان نتایجی که توابع بومی اکسل در مثال قبلی مورد بحث قرار گرفتند:
چگونه حرف ستون یک سلول خاص را بدست آوریم
برای شناسایی یک حرف ستونی از یک سلول سلول خاص، از تابع COLUMN برای بازیابی شماره ستون استفاده کنید و آن عدد را به تابع ADDRESS ارائه دهید. فرمول کامل به این شکل خواهد بود:
SUBSTITUTE(ADDRESS(1, COLUMN( cell_address), 4), "1", "")به عنوان مثال، اجازه دهید یک حرف ستونی پیدا کنیم از سلول C5:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
بدیهی است که نتیجه "C" است :)
چگونه ستون حرف فعلی را بدست آوریم cell
برای تعیین حرف سلول فعلی، فرمول تقریباً مشابه مثال بالا است. تنها تفاوت این است که تابع COLUMN() استبا یک آرگومان خالی برای ارجاع به سلولی استفاده می شود که در آن فرمول این است:
=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")
نحوه ایجاد مرجع محدوده پویا از شماره ستون
امیدواریم که مثال های قبلی موضوعات جدیدی را برای فکر کردن به شما ارائه کرده باشند، اما ممکن است در مورد کاربردهای عملی آن تعجب کنید.
در این مثال، نحوه استفاده از "تعداد ستون به حرف" را به شما نشان خواهیم داد. فرمول حل وظایف واقعی. به طور خاص، ما یک فرمول XLOOKUP پویا ایجاد می کنیم که مقادیر را از یک ستون خاص بر اساس تعداد آن می کشد.
از جدول نمونه زیر، فرض کنید می خواهید برای یک پروژه معین یک رقم سود دریافت کنید (H2 ) و هفته (H3).
برای انجام کار، باید محدوده ای را برای XLOOKUP فراهم کنید تا مقادیر را از آن برگرداند. از آنجایی که ما فقط شماره هفته را داریم که با شماره ستون مطابقت دارد، ابتدا آن عدد را به یک حرف ستونی تبدیل می کنیم و سپس مرجع محدوده را می سازیم.
برای راحتی، بیایید کل فرآیند را تجزیه کنیم. به 3 مرحله آسان برای دنبال کردن.
- تبدیل شماره ستون به حرف
با شماره ستون در H3، از فرمول آشنا برای تغییر آن به حروف الفبا استفاده کنید کاراکتر:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")
نکته. اگر عدد موجود در مجموعه داده شما با شماره ستون مطابقت ندارد، حتماً اصلاحات لازم را انجام دهید. به عنوان مثال، اگر داده های هفته 1 را در ستون B، داده های هفته 2 در ستون C وبه همین ترتیب، سپس از H3+1 برای بدست آوردن شماره ستون صحیح استفاده می کنیم.
- رشته ای بسازید که نشان دهنده مرجع محدوده باشد
برای ساختن یک مرجع محدوده به شکل رشته، حرف ستونی را که توسط فرمول بالا برگردانده شده است با اولین حرف الحاق کنید. و شماره های ردیف آخر در مورد ما، سلول های داده در ردیف های 3 تا 8 هستند، بنابراین ما از این فرمول استفاده می کنیم:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
با توجه به اینکه H3 حاوی "3" است، که به "C" تبدیل می شود، فرمول ما دستخوش تبدیل زیر می شود:
="C"&"3:"&"C"&"8"
و رشته C3:C8 را تولید می کند.
- Make یک مرجع محدوده پویا
برای تبدیل یک رشته متنی به یک مرجع معتبر که اکسل قادر به درک آن باشد، فرمول فوق را در تابع INDIRECT قرار دهید و سپس آن را به آرگومان سوم XLOOKUP منتقل کنید:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
برای خلاص شدن از شر سلول اضافی حاوی رشته محدوده بازگشتی، می توانید فرمول SUBSTITUTE ADDRESS را در خود تابع INDIRECT قرار دهید:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")
با عملکرد ColumnLetter سفارشی ما، می توانید راه حل فشرده و ظریف تری دریافت کنید:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")
این چگونه یک حرف ستونی از یک عدد در اکسل پیدا کنیم. از شما سپاسگزارم که خواندید و مشتاقانه منتظر دیدار شما در وبلاگ ما در هفته آینده هستم!
کتاب کار را برای دانلود تمرین کنید
تعداد ستون اکسل به حرف - نمونه ها (فایل xlsm.)