در نرم‌افزار اکسل برای پردازش متن و عبارت‌های طولانی که حاوی داده‌های مختلف هستند و تبدیل کردن این موارد به چند رشته در سلول‌های مجاور، ابزار Text to Columns پیش‌بینی شده است اما می‌توانید با فرمول‌های پیچیده نیز رشته‌ها را پردازش کنید و موارد لازم را استخراج کنید.

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

پردازش متن و رشته در اکسل

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

  • اگر فایل CSV را توسط Excel باز کنید، هر سلول شامل یکی عبارت است و با کاما از سلول بعدی جدا می‌شود و البته کاماها نیز حذف می‌شوند.
  • سلول خالی به صورت دو کامای پشت‌سرهم در فایل CSV تعریف می‌شود.
  • هر ردیف نیز به صورت یک خط جدید در فایل CSV تعریف می‌شود.

تقسیم کردن فایل‌های CSV بسیار حجیم به بخش‌های کوچک‌تر را قبلاً بررسی کردیم:

اما اگر فایل ورودی با این شیوه تعریف نشده باشد چطور؟ به عنوان مثال اگر در یک خط از سمی‌کالن یا ; یا دیگر علایم مثل | و / و : و غیره استفاده شده باشد، چطور می‌توان این کلمات و عبارت‌ها را جدا کرد و در سلول‌های مختلف قرار داد؟

روش اول برای تبدیل کردن داده‌هایی از نوع استرینگ یا رشته به داده‌هایی در سلول‌های مختلف، استفاده از تب Data و ابزارهای بخش Data Tools مثل Text to Columns است اما روش دیگر استفاده از فرمول‌نویسی و توابع اکسل است.

به عنوان مثال سلولی حاوی چند عبارت که با سمی‌کالن جدا شده را در نظر بگیرید:

برای پردازش این رشته می‌توان از تابع LEFT استفاده کرد. دستور زیر را بررسی کنید:

=LEFT(A2,FIND(";",A2,1)-1)

  • در این دستور داده‌ی موجود در سلول A2 دریافت می‌شود.
  • با دستور FIND در سلول A2 جستجو برای یافتن علامت ; انجام می‌شود.
  • یک واحد کسر می‌شود تا موقعیت انتهای رشته انتخاب شود.
  • اولین عبارت از سمت چپ تا موقعیت انتهای رشته دریافت و به عنوان خروجی نمایش داده می‌شود.

بنابراین با استفاده از فرمول فوق، کلمه‌ی Ryan از عبارت طولانی داخل سلول A2 استخراج می‌شود.

فرمول‌نویسی در اکسل با توابع تودرتو

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

به مثال قبلی برمی‌گردیم که یک رشته‌ی طولانی شامل چند سمی‌کالن در سلولی موجود بوده و هدف استخراج برخی موارد است. برای دریافت آخرین عبارت از سمت چپ یا به عبارت دیگر، عبارت سمت راست آخرین سمی‌کالن، می‌توان از تابع RIGHT استفاده کرد. برای تشخیص طول داده‌ی موجود در سلول A2 از تابع LEN استفاده می‌شود و برای یافتن سمی‌کالن‌ها از تابع FIND استفاده می‌شود.

فرمول طولانی و عجیب زیر را بررسی کنید:

LEFT((RIGHT(A2,LEN(A2)-FIND(";",A2))),FIND(";",(RIGHT(A2,LEN(A2)-FIND(";",A2))),1)-1)

در این فرمول در حقیقت به جای A2 در فرمول قبلی از عبارت طولانی زیر استفاده شده است:

RIGHT(A2,LEN(A2)-FIND(";",A2))

و لذا بخش دوم از رشته‌ی موجود در سلول A2 با این دستور طولانی استخراج می‌شود. بنابراین با دو دستور RIGHT تودرتو می‌توان بخش دوم از دومین بخش یک رشته را به عنوان خروجی نمایش داد که معادل آخرین عبارت از رشته‌ای طولانی است.

به جای فرمول طولانی قبلی می‌توانید از این فرمول بسیار طولانی‌تر هم استفاده کنید!

=LEFT((RIGHT((RIGHT(A2,LEN(A2)-FIND(";",A2))),LEN((RIGHT(A2,LEN(A2)-FIND(";",A2))))-FIND(";",(RIGHT(A2,LEN(A2)-FIND(";",A2)))))),FIND(";",(RIGHT((RIGHT(A2,LEN(A2)-FIND(";",A2))),LEN((RIGHT(A2,LEN(A2)-FIND(";",A2))))-FIND(";",(RIGHT(A2,LEN(A2)-FIND(";",A2)))))),1)-1)

و این مثال صرفاً نشان می‌دهد که استفاده از توابع تودرتو در اکسل، امکان‌پذیر و ساده است و ممکن است یک عملیات پیچیده با این روش امکان‌پذیر شود.

برخی اعمال پیچیده با استفاده از توابع دیگر به سادگی فرمول‌نویسی می‌شوند و حتی برخی فرمول‌های ساده توسط ابزارهای ساده و گرافیکی اکسل به راحتی انجام می‌شود. به عنوان مثال برای جدا کردن تکه‌های یک رشته می‌توانید از ابزار Text to Columns استفاده کنید که در منوی Data از نوار ابزار بالای صفحه موجود است. در مراحل استفاده از این ابزار، Delimiter یا جداکننده عبارت‌ها را با توجه به مثالی که زدیم، سمی‌کالن در نظر بگیرید:

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

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