عناوین منظم (یا REGEX) الگوهایی برای جستجو هستند که میتوانند بررسی کنند آیا یک رشته متنی با یک الگوی خاص تطابق دارد یا خیر، همچنین برای استخراج یا جایگزینی رشتههایی که با الگو مطابقت دارند، استفاده میشوند. به دلیل پیچیدگی آنها، این مقاله خلاصههای ساده و مثالهایی از استفاده آنها در اکسل را ارائه میدهد.
توابع REGEX در اکسل
توابع REGEX برای کاربران اکسل در Microsoft 365 (ویندوز، مک) و همچنین نسخه وب اکسل در دسترس هستند.
چگونه از REGEXTEST استفاده کنیم؟
این تابع بررسی میکند آیا یک رشته متنی با یک الگوی خاص مطابقت دارد یا نه و نتیجه TRUE یا FALSE را برمیگرداند. این تابع برای بررسی اینکه دادهها از یک ساختار خاص پیروی میکنند، بسیار مفید است.
نحو (Syntax):
REGEXTEST(a,b,c)
- a (الزامی): متنی که میخواهید بررسی کنید.
- b (الزامی): الگویی که برای بررسی استفاده میشود.
- c (اختیاری): اگر 0 باشد بررسی حساس به حروف بزرگ و کوچک است، و اگر 1 باشد حساسیت ندارد.
مثال:
در این مثال، یک لیست از کدهای محصول داریم که باید ساختاری مشخص داشته باشند:
یک کد معتبر شامل:
- اندازه محصول (مثل "xs" برای خیلی کوچک، "s" برای کوچک، و ...)،
- یک یا دو عدد که مواد محصول را نشان میدهند،
- سه حرف بزرگ که محل ساخت محصول را مشخص میکند،
- یک خط فاصله میان هر بخش.
فرمول زیر در سلول B2 بررسی میکند آیا کدهای ستون A معتبر هستند یا خیر:
=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)
توضیح:
- [xs|s|m|l|xl]: اولین بخش که اندازه محصول را تعیین میکند.
- [0-9]{1,2}: دومین بخش که عدد 1 یا 2 رقمی را بررسی میکند.
- [A-Z]{3}: سومین بخش که سه حرف بزرگ را بررسی میکند.
- 0: حساسیت به حروف بزرگ و کوچک.
نتیجه نشان میدهد تنها دو کد معتبر هستند.
چگونه از REGEXEXTRACT استفاده کنیم؟
این تابع بخشهایی از متن را طبق الگوی مشخص استخراج میکند، مثلاً جداسازی اعداد و حروف.
نحو (Syntax):
REGEXEXTRACT(d,e,f,g)
- d (الزامی): متنی که میخواهید از آن استخراج کنید.
- e (الزامی): الگویی که میخواهید استخراج شود.
- f (اختیاری): اگر 0 باشد اولین تطابق، 1 تمام تطابقها به صورت آرایه، و 2 گروههایی از اولین تطابق استخراج میشود.
- g (اختیاری): اگر 0 باشد حساس به حروف بزرگ و کوچک است و اگر 1 باشد حساسیت ندارد.
مثال:
در این مثال، میخواهیم نام و شماره تلفن مشتریان را از ستون A استخراج کنیم.
برای استخراج نامها، فرمول زیر را در سلول B2 وارد میکنیم:
=REGEXEXTRACT(A2,"[A-Z][a-z]+",1)
توضیح:
- [A-Z][a-z]+: کلمهای که با حرف بزرگ شروع میشود و پس از آن حروف کوچک دارد.
- 1: هر تطابق جداگانه در سلولهای مجزا بازگردانده میشود.
برای استخراج شماره تلفنها، فرمول زیر در سلول D2 وارد میشود:
=REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+")
چگونه از REGEXREPLACE استفاده کنیم؟
این تابع متنی را طبق الگوی مشخص به نسخه جدید تغییر میدهد، اما متن اصلی در مکان اولیه خود باقی میماند.
نحو (Syntax):
REGEXREPLACE(h,i,j,k,l)
- h (الزامی): متن اصلی.
- i (الزامی): الگویی که باید جایگزین شود.
- j (الزامی): محتوای جایگزین.
- k (اختیاری): شماره تطابقی که باید جایگزین شود.
- l (اختیاری): حساسیت به حروف.
مثال:
برای تغییر قالب اسامی به "نام خانوادگی، نام" از فرمول زیر استفاده میکنیم:
=REGEXREPLACE([@Client name],"([A-Z][a-z]+) ([A-Z][a-z]+)","$2, $1")
توضیح:
- ([A-Z][a-z]+) ([A-Z][a-z]+): دو کلمه با حروف بزرگ و کوچک.
- $2, $1: ترتیب دو کلمه را جابجا میکند.
کاربردهای دیگر REGEX
REGEX فقط برای اکسل نیست و میتوان از آن برای وظایف دیگر مانند:
- تصحیح متنهای کپی شده از PDF،
- تغییر نام گروهی فایلها،
- قالب بندی ارزها،
- حذف تگهای HTML، و موارد دیگر استفاده کرد.