فهرست مطالب
این آموزش نحوه تقسیم سلول ها در اکسل با استفاده از فرمول ها و ویژگی Split Text را توضیح می دهد. شما یاد خواهید گرفت که چگونه متن را با کاما، فاصله یا هر جداکننده دیگر جدا کنید، و چگونه رشته ها را به متن و اعداد تقسیم کنید .
تقسیم متن از یک سلول به چند سلول وظیفه همه کاربران اکسل است. هر چند وقت یکبار با در یکی از مقالات قبلی خود، نحوه تقسیم سلول ها در اکسل را با استفاده از ویژگی Text to Column و Flash Fill مورد بحث قرار دادیم. امروز، ما قصد داریم نگاهی عمیق به نحوه تقسیم رشته ها با استفاده از فرمول ها و ابزار Split Text بیندازیم.
نحوه تقسیم متن در اکسل با استفاده از فرمول ها
برای تقسیم رشته در اکسل، معمولاً از تابع LEFT، RIGHT یا MID در ترکیب با FIND یا SEARCH استفاده می کنید. در نگاه اول، برخی از فرمولها ممکن است پیچیده به نظر برسند، اما منطق در واقع بسیار ساده است، و مثالهای زیر سرنخهایی را در اختیار شما قرار میدهند.
رشته را با کاما، نقطه ویرگول، اسلش، خط تیره یا جداکننده دیگر تقسیم کنید.
هنگامی که سلولها را در اکسل تقسیم میکنید، نکته کلیدی این است که موقعیت جداکننده را در رشته متن قرار دهید. بسته به وظیفه شما، این کار را می توان با استفاده از SEARCH حساس به حروف بزرگ یا FIND حساس به حروف کوچک و بزرگ انجام داد. هنگامی که موقعیت جداکننده را پیدا کردید، از تابع RIGHT، LEFT یا MID برای استخراج قسمت مربوطه از رشته متن استفاده کنید. برای درک بهتر، بیایید موارد زیر را در نظر بگیریم(تاریخ)
امیدوارم شما این روش سریع و ساده را برای تقسیم رشته ها در اکسل دوست داشتم. اگر کنجکاو هستید که آن را امتحان کنید، نسخه ارزیابی برای دانلود در زیر موجود است. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینم!
دانلودهای موجود
فرمول های Excel Split Cells (فایل xlsx.)
Ultimate Suite 14 روزه نسخه کاملاً کاربردی (فایل exe.)
به عنوان مثال.فرض کنید شما لیستی از SKUها با الگوی Item-Color-Size دارید و می خواهید ستون را به 3 ستون جداگانه تقسیم کنید:
- برای استخراج نام مورد (همه کاراکترها قبل از خط فاصله اول)، فرمول زیر را در B2 وارد کنید و سپس آن را در ستون کپی کنید:
=LEFT(A2, SEARCH("-",A2,1)-1)
در این فرمول، SEARCH موقعیت خط فاصله 1 ("-") را در رشته تعیین می کند و تابع LEFT تمام کاراکترهای باقی مانده به آن را استخراج می کند (شما 1 را از موقعیت خط فاصله کم می کنید زیرا این کار را انجام نمی دهید. می خواهید خود خط فاصله را استخراج کنید.
- برای استخراج رنگ (همه کاراکترهای بین خط تیره 1 و 2)، موارد زیر را وارد کنید فرمول در C2، و سپس آن را در سلول های دیگر کپی کنید:
=MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)
در این فرمول، ما از تابع Excel MID برای استخراج متن از A2 استفاده می کنیم.
موقعیت شروع و تعداد کاراکترهایی که باید استخراج شوند با کمک 4 تابع جستجوی مختلف محاسبه می شود:
- شماره شروع موقعیت خط تیره اول +1 است:
SEARCH("-",A2) + 1
- تعداد کاراکترهایی که باید استخراج شود : تفاوت بین موقعیت خط تیره دوم و خط تیره 1، منهای 1:
SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1
- شماره شروع موقعیت خط تیره اول +1 است:
- برای استخراج اندازه (همه کاراکترهای بعد از خط تیره 3)، فرمول زیر را در D2 وارد کنید:
=RIGHT(A2,LEN(A2) - SEARCH("-", A2, SEARCH("-", A2) + 1))
در این فرمول، تابع LEN طول کل رشته را برمی گرداند.که موقعیت خط فاصله 2 را از آن کم می کنید. تفاوت در تعداد کاراکترهای بعد از خط فاصله دوم است و تابع RIGHT آنها را استخراج می کند. هر شخصیت دیگری تنها کاری که باید انجام دهید این است که "-" را با جداکننده مورد نیاز جایگزین کنید، به عنوان مثال فاصله (" ")، کاما (")، اسلش ("/")، دونقطه (";")، نقطه ویرگول (";")، و غیره.
نکته. در فرمول های فوق 1+ و -1 با تعداد کاراکترهای جداکننده مطابقت دارد. در این مثال، این یک خط فاصله (1 کاراکتر) است. اگر جداکننده شما از 2 کاراکتر تشکیل شده است، به عنوان مثال. یک کاما و یک فاصله، سپس فقط کاما (") را به تابع SEARCH وارد کنید و به جای +1 و -1 از +2 و -2 استفاده کنید.
نحوه تقسیم رشته به شکست خط در Excel
برای تقسیم متن بر اساس فاصله، از فرمول هایی مشابه آنچه در مثال قبلی نشان داده شد استفاده کنید. تنها تفاوت این است که شما به تابع CHAR برای تامین کاراکتر شکست خط نیاز دارید زیرا نمی توانید مستقیماً آن را در فرمول تایپ کنید.
فرض کنید، سلول هایی که می خواهید تقسیم کنید شبیه به این هستند:
0>
فرمول های مثال قبلی را در نظر بگیرید و خط فاصله ("-") را با CHAR(10) جایگزین کنید، جایی که 10 کد ASCII برای فید خط است.
- برای استخراج نام مورد :
=LEFT(A2, SEARCH(CHAR(10),A2,1)-1)
- برای استخراج رنگ :
=MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)
- برای استخراج اندازه :
=RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))
و نتیجه به این صورت است:
نحوه تقسیم متن و اعداد در اکسل
برای شروع، هیچ راه حل جهانی وجود ندارد که برای همه رشته های الفبایی کار کند. اینکه کدام فرمول استفاده شود به الگوی رشته خاصی بستگی دارد. در زیر فرمول های دو سناریوی رایج را خواهید یافت.
رشته تقسیم الگوی "متن + عدد"
فرض کنید، ستونی از رشته ها با متن و اعداد ترکیب شده دارید، جایی که یک عدد همیشه متن را دنبال می کند شما میخواهید رشتههای اصلی را بشکنید تا متن و اعداد در سلولهای جداگانه ظاهر شوند، مانند این:
همچنین ببینید: نحوه تبدیل سریع فرمول ها به مقادیر در اکسلنتیجه ممکن است به دو روش مختلف به دست آید.
روش 1: شمارش ارقام و استخراج تعداد زیادی کاراکتر
ساده ترین راه برای تقسیم رشته متن در جایی که عدد بعد از متن قرار می گیرد این است:
برای استخراج اعداد ، شما رشته را برای هر عدد ممکن از 0 تا 9 جستجو کنید، اعداد را در مجموع بدست آورید، و آن تعداد کاراکتر را از انتهای رشته برگردانید.
با رشته اصلی در A2، فرمول به شرح زیر است:
=RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))
برای استخراج متن ، با کم کردن تعداد ارقام استخراج شده (C2) از طول کل رشته اصلی در A2، محاسبه می کنید که رشته دارای چند کاراکتر متنی است. . پس از آن، از تابع LEFT برای برگرداندن آن تعداد کاراکتر از ابتدای رشته استفاده می کنید.
=LEFT(A2,LEN(A2)-LEN(C2))
در جایی که A2 رشته اصلی است،و C2 عدد استخراج شده است، همانطور که در تصویر نشان داده شده است:
روش 2: موقعیت رقم اول را در یک رشته پیدا کنید
یک جایگزین راه حل استفاده از فرمول زیر برای تعیین موقعیت اولین رقم در رشته است:
=MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))
پس از یافتن موقعیت رقم اول، می توانید متن و اعداد را با استفاده از آن تقسیم کنید. فرمول های بسیار ساده LEFT و RIGHT.
برای استخراج متن :
=LEFT(A2, B2-1)
برای استخراج شماره :
=RIGHT(A2, LEN(A2)-B2+1)
که در آن A2 رشته اصلی است و B2 موقعیت اولین عدد است.
برای خلاص شدن از شر ستون کمکی که نگه داشتن در موقعیت اولین رقم، می توانید فرمول MIN را در توابع چپ و راست جاسازی کنید:
فرمول برای استخراج متن :
=LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
فرمول برای استخراج اعداد :
=RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)
تقسیم رشته الگوی 'تعداد + متن'
اگر در حال تقسیم سلول هایی هستید که متن بعد از عدد ظاهر می شود، شما می تواند اعداد را با فرمول زیر استخراج کند:
=LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, ""))))
فرمول مشابه فرمول مورد بحث در مثال قبلی است، با این تفاوت که برای بدست آوردن عدد از سمت چپ رشته، از تابع LEFT به جای RIGHT استفاده می کنید.
وقتی اعداد را بدست آوردید. , استخراج متن با کم کردن تعداد ارقام از طول کل رشته اصلی:
=RIGHT(A2,LEN(A2)-LEN(B2))
که در آن A2 رشته اصلی است و B2 عدد استخراج شده است،همانطور که در تصویر زیر نشان داده شده است:
نکته. برای دریافت عدد از هر موقعیتی در رشته متن ، از این فرمول یا ابزار Extract استفاده کنید.
به این ترتیب می توانید رشته ها را در اکسل با استفاده از ترکیب های مختلف از توابع مختلف تقسیم کنید. همانطور که می بینید، فرمول ها کاملاً واضح نیستند، بنابراین ممکن است بخواهید برای بررسی دقیق تر کتاب کار نمونه Excel Split Cells را دانلود کنید.
اگر پیدا کردن پیچش های مخفیانه فرمول های اکسل شغل مورد علاقه شما نیست، شما ممکن است روش بصری برای تقسیم سلول ها در اکسل را دوست داشته باشد، که در قسمت بعدی این آموزش نشان داده شده است.
نحوه تقسیم سلول ها در اکسل با ابزار Split Text
روشی جایگزین برای تقسیم یک ستون در اکسل از ویژگی Split Text موجود در Ultimate Suite برای اکسل استفاده می کند که گزینه های زیر را ارائه می دهد:
برای واضح تر شدن همه چیز، اجازه دهید نگاهی دقیق تر به هر گزینه داشته باشیم، یکی در هر زمان.
تقسیم سلول ها بر اساس کاراکتر
هر زمان که می خواهید محتویات سلول را در هر تکرار از نویسه مشخص شده تقسیم کنید، این گزینه را انتخاب کنید.
برای این مثال، رشته های الگوی Item-Color-Size را که در قسمت اول این آموزش استفاده کردیم، در نظر بگیرید. همانطور که به یاد دارید، ما آنها را با استفاده از 3 فرمول مختلف به 3 ستون مختلف تقسیم کردیم. و در اینجا این است که چگونه می توانید در 2 مرحله سریع به همان نتیجه برسید:
- با فرض اینکه Ultimate Suite داریدنصب شده، سلول هایی را برای تقسیم انتخاب کنید و روی نماد Split Text در برگه Ablebits Data کلیک کنید.
- <1 صفحه>Split Text در سمت راست پنجره اکسل شما باز می شود، و شما کارهای زیر را انجام می دهید:
- گروه Split by character را گسترش دهید و یکی از جداکننده های از پیش تعریف شده را انتخاب کنید. یا هر کاراکتر دیگری را در کادر Custom تایپ کنید.
- تقسیم سلول ها به ستون ها یا ردیف ها را انتخاب کنید.
- نتیجه را در پیش نمایش مرور کنید. بخش، و روی دکمه Split کلیک کنید.
نکته. اگر ممکن است چندین جداکننده متوالی در یک سلول وجود داشته باشد (به عنوان مثال، بیش از یک کاراکتر فاصله)، کادر در نظر گرفتن جداکننده های متوالی به عنوان یک را انتخاب کنید.
انجام شد! کاری که به 3 فرمول و 5 عملکرد مختلف نیاز داشت، اکنون تنها چند ثانیه طول می کشد و یک دکمه کلیک می کند.
تقسیم سلول ها با رشته
این گزینه اجازه می دهد شما رشته ها را با استفاده از هر ترکیبی از کاراکترها به عنوان جداکننده تقسیم می کنید. از نظر فنی، شما یک رشته را با استفاده از یک یا چند زیررشته مختلف به عنوان مرزهای هر قسمت به قطعات تقسیم می کنید.
به عنوان مثال، برای تقسیم یک جمله با حروف ربط " و " و " یا ، گروه Split by strings را گسترش دهید و رشته های جداکننده را در هر خط یکی وارد کنید:
در نتیجه، عبارت منبع در هر رخداد از هر جداکننده جدا می شود:
نکته.کاراکترهای "یا" و همچنین "و" اغلب می توانند بخشی از کلماتی مانند "نارنجی" یا "اندلس" باشند، بنابراین حتماً یک فاصله قبل و بعد از و و تایپ کنید. یا برای جلوگیری از تقسیم کلمات.
و در اینجا یک مثال واقعی دیگر. فرض کنید ستونی از تاریخ ها را از یک منبع خارجی وارد کرده اید که به صورت زیر است:
5.1.2016 12:20
5.2.2016 14:50
این قالب برای اکسل متعارف نیست و بنابراین هیچ یک از توابع تاریخ هیچ یک از عناصر تاریخ یا زمان را تشخیص نمی دهند. برای تقسیم روز، ماه، سال، ساعت و دقیقه به سلولهای جداگانه، نویسههای زیر را در کادر تقسیم رشتهها وارد کنید:
- نقطه (.) برای جدا کردن روز، ماه ، و سال
- دونقطه (:) برای جدا کردن ساعت و دقیقه
- فاصله برای جدا کردن تاریخ و زمان
ضربه بزنید دکمه Split ، و بلافاصله نتیجه را دریافت خواهید کرد:
تقسیم سلول ها با ماسک (الگو)
جداسازی سلول به ماسک به معنای تقسیم یک رشته بر اساس یک الگو است.
این گزینه زمانی بسیار مفید است که شما نیاز دارید لیستی از رشته های همگن را به برخی از عناصر یا رشته های فرعی تقسیم کنید. مشکل این است که متن مبدأ را نمی توان در هر رخداد از یک جداکننده معین تقسیم کرد، فقط در برخی از رخدادهای خاص. مثال زیر درک مطلب را آسانتر میکند.
فرض کنید فهرستی از رشتهها را دارید که از برخی گزارشها استخراج شدهاند.فایل:
چیزی که میخواهید این است که تاریخ و زمان، در صورت وجود، کد خطا و جزئیات استثنا را در 3 ستون جداگانه داشته باشید. شما نمی توانید از یک فاصله به عنوان جداکننده استفاده کنید زیرا فاصله هایی بین تاریخ و زمان وجود دارد که باید در یک ستون ظاهر شوند و فضاهایی در متن استثنا وجود دارد که باید در یک ستون نیز ظاهر شود.
راه حل این است که تقسیم یک رشته توسط ماسک زیر: *ERROR:*Exception:*
که در آن ستاره (*) هر تعداد کاراکتر را نشان می دهد.
دونقطه ها (:) در جداکنندهها گنجانده شدهاند، زیرا ما نمیخواهیم آنها در سلولهای حاصل ظاهر شوند.
و اکنون، بخش Split by mask را در Split Text گسترش دهید. ماسک را در کادر Enter delimiters تایپ کنید و روی Split کلیک کنید:
نتیجه مشابه این خواهد بود:
توجه. تقسیم رشته با ماسک حساس به بزرگی و کوچکی است. بنابراین، حتماً کاراکترها را در ماسک دقیقاً همانطور که در رشتههای منبع ظاهر میشوند تایپ کنید.
یک مزیت بزرگ این روش انعطافپذیری است. به عنوان مثال، اگر تمام رشته های اصلی دارای مقادیر تاریخ و زمان هستند و می خواهید در ستون های مختلف ظاهر شوند، از این ماسک استفاده کنید:
* *ERROR:*Exception:*
به انگلیسی ساده ترجمه شده است، mask به افزونه دستور می دهد تا رشته های اصلی را به 4 قسمت تقسیم کند:
- همه کاراکترها قبل از اولین فاصله موجود در رشته
- برای استخراج نام مورد :