
اضافه کردن یا چسباندن متن به یک رشته متنی (۴ حالت)
خیلی وقت ها پیش میاد که لازم باشه یک عبارت خاص به یک سری داده در اکسل اضافه بشه. حالا بسته به الگوی داده و شرایط مسئله، این داده میتونه ابتدا، وسط، انتها و یا هر جای دیگه از اون رشته اضافه بشه. توابع متنی یا Text Function در حل این مسائل بسیار پرکاربرد هستن. در این مقاله میخوایم روش هایی که میتونیم برای چسباندن متن استفاده کنیم رو توضیح بدیم.
حالت اول: وقتی که عبارت مورد نظر رو میخوایم به ابتدا، انتها یا مابین کلمات یک سلول اضافه کنیم.
این حالت خیلی پیش میاد، فرض کنید اسم پروژه های شرکتی رو در یک ستون داریم و میخواهیم کلمه پروژه رو به اول همه این کلمات اضافه کنیم. برای انجام این کار میتونی از روش های زیر استفاده کنی:
تابع Concatenate
تابع Concatenate از توابع قدیم متن هست که محدودیت های خاصی خودش رو داره، برای چسباندن متن میشه ازش استفاده کرد. ساختار این تابع به صورت زیر هست:
=CONCATENATE(“پروژه: “,A2)
تابع Concat (۲۰۱۹ به بعد)
این تابع از توابع جدید اکسل هست و از نسخه ۲۰۱۹ اضافه شده. تابع Concat یکسری از محدودیت های تابع Concatenate رو برطرف میکنه. برای حل این مسئله میتونید از ساختار زیر استفاده کنید:
=CONCAT(“پروژه: “,A2)
عملگر &
عملگرها همیشه در کنار توابع استفاده میشن و روش خوبی برای نوشتن سریع فرمول های ساده هست. در این مسئله هم میشه از عملگر & به شیوه زیر استفاده کرد:
=”پروژه: “&A2
شکل ۱- اضافه کردن متن به ابتدا یا انتهای یک سلول
بهتره که فاصله (Space) مورد نیاز رو داخل خود کلمه مورد نظر بگنجونیم مثلا در این مثال بعد از “پروژه:” یک فاصله گذاشتیم که خیلی به اسم پروژه نچسبه. در غیر اینصورت باید یک آرگومان جداگانه برای Space در نظر گرفته بشه.
حالت دوم: اضافه کردن کاراکتر ویژه به سلول
مثلا فرض کنید میخواهیم نشانه تجاری TM رو به کنار سلول ها اضافه کنیم. اول کد اسکی این عبارت رو پیدا میکنیم و بعد میذاریمش داخل تابع Char. بقیه مسیر هم مشابه حالت اول میتونیم از هر سه حالت بالا استفاده کنیم:
=A2 & CHAR(153)
شکل ۲- اضافه کردن یک کاراکتر خاص به یک سلول
حالت سوم: چسباندن متن به یک فرمول
برای اضافه کردن یک عبارت به یک فرمول هم از همین توابع باید استفاده کنیم با این تفاوت که اگر خروجی فرمول عدد، تاریخ یا ساعت (که تاریخ و ساعت هم به نوعی عدد هستن) باشه، باید از تابع Text هم استفاده کنیم.
مثلا فرض کنید میخوایم بگیم: “هم اکنون ساعت ۳:۲۴ می باشد”. برای اینکه زمان فعلی سیستم رو بدونیم از تابع Now استفاده کردیم و فرمت رو فقط روی hh:mm تنظیم کردیم. (سلول A1). حالا وقتی عبارت ثابت رو بهش اضافه میکنیم (با هر کدوم از سه روش بالا) نتیجه بصورت شکل ۳ در میاد:
شکل ۳ – اضافه کردن یک عبارت ثابت به فرمول
برای اصلاح این موضوع از تابع Text استفاده میکنیم و فرمت مورد نظر رو هم تعیین میکنیم.
=”هم اکنون ساعت: ” & TEXT( NOW(), “hh:mm”) & ” می باشد”
تابع Text فرمت بخشی از یک سلول رو میتونه عوض کنه.
حالت چهارم: اضافه کردن یک عبارت به nامین کاراکتر موجود در سلول
این مسئله هم بسته به شرایط داده و الگویی که پیدا میکنیم، روش های مختلفی داره. منطق کلی اینه که مکان اون کاراکتر مد نظررو که میخوایم عبارت مورد نظر بعدش اضافه بشه رو پیدا کنیم. (یا میدونیم دقیقا از چندمین کاراکتر و مثلا بصورت ثابت چهارمین کاراکتر میخوایم اضافه بشه، یا اینکه با تابع Search/Find مکان اون کاراکتر دلخواه رو پیدا میکنیم). وقتی مکان اون کاراکتر پیدا شد، میشه با ترکیب توابع Left, Right و & , … عبارت مورد نظر رو اضافه کرد. در واقع از مکان مورد نظر عبارت رو میشکنیم، بعد عبارت جدید رو اضافه میکنیم و دوباره میچسبونیم به هم. مثلا یک سری کد داریم که ۳ کاراکتر اول رو میخوایم از بقیه جدا کنیم. برای این کار از این فرمول استفاده میکنیم:
=LEFT(A2,3) & “-” & RIGHT(A2, LEN(A2) -3)
در واقع با تابع Left سه کاراکتر اول رو جدا میکنیم، بعد با & میچسبونیم به “-” و بعد با استفاده از تابع Right باقیمانده کاراکترهای موجود در سلول رو میچسبونیم به کاراکتر “-“.
شکل ۴- چسباندن متن عبارت مورد نظر به nامین کاراکتر
اما راه بهتری که برای این مسئله پیشنهاد میکنم استفاده از تابع Replace هست. این تابع دیگه نیازی به تفکیک عبارت به چند قسمت و … نداره. خودش عبارت مورد نظر در جای دلخواه اضافه میکنه.
=REPLACE(A2,4,0,”-“)
شکل ۵- چسباندن متن مورد نظر بعد از n امین کاراکتر
اگر با نحوه عملکرد تابع Replace آشنایی ندارید تما مقاله مربوط به تابع Replace رو ببینید. خیلی تابع منعطف و کاربردی هست.
این مسائلی که مطرح شد خیلی حالت ها متنوعی میتونن داشته باشن و برای هر کدومش چندین راه حل میشه ارائه داد. پس فقط کافیه توابع مورد نیاز که بیشتر از گروه Text Function هستن رو خیلی خوب و عالی یاد بگیریم و بتونیم با توجه به شرایط هر مسئله این توابع رو ترکیب و مسئله رو حل کنیم.
در این رابطه مقالات مربوط به روش های چسباندن اطلاعات رو هم مطالعه کنید.
سلام
وقت بخیر
در سلول C5 فرمول CONCATENATE(B35,” KGs”) را نوشته ام
اما ۲ نکته را نمی توانم انجام دهم
از آنجایی که محتوی B35 عدد می باشد ، میخاستم عبارتی که در سلول C5 نمایش داده میشود بخش عددی آن بصورت BOLD و سه رقم سه رقم جداکننده داشته باشد.
با تشکر
درود بر شما
با فرمول نمیتونید بخشی رو bold کنید. باید با کد وی بی بزنید اگر خیلی ضروریه
اما سه رقم رو میتونید جدا کنید. باید قسمت ددی رو داخل تابع text بذارید
=CONCATENATE(TEXT(A1,”#,#”),A2)
سلام میخام متن : وصول چک ……….. تاریخ سررسید……….. بنویسم که شماره چک و سررسید چک هرکدوم یه سلول هستن
چجوری باید بنویسم؟
سلام
=”وصول چک “&A1&” تاریخ سررسید “&B1
اگر تاریختون متنی نباشه باید از تابع text و فرمت تاریخ شمسی استفاده کنید
سلام وقت بخیر. من در sheet گوگل کروم میخوام از سه خط متنی که در یک سلول گذاشتم متن سومیو بدون کپی پیست یا دستی، منتقل کنم به سلول پایینی. چطور اینکارو انجام بدم. نمیخوام برم خط بعدی که alt و enter بزنم میخوام خود اون متنو بفرستم خانه ی پایینی
درود بر شما
این فرمول، متن سوم که با alt enter جدا شده رو بهتون میده
=index(SPLIT(A3,CHAR(10),TRUE,TRUE),1,3)
سلام من یه ستون دارم که مربوط به تاریخ هستش و اولش به جای کوتشین …دابل کوتیشن داره … بخام یه کوتیشن داخل کل ستونم باشه همه سلول هاش چکار کنم
درود بر شما
واقعیتش متوجه نشدم!
سلام
من میخوام در چند سلول از یک ستون دادهها رو به شکل خاصی وارد کنم مثلا در ده سلول فقط نوشته بشه ۱-۱ ۲-۱ و… کاربر نتونه فرمت رو عوض کنه فقط عدد دوم رو بتونه تغییر بده و بهمین شکل در ده سلول بعدی ۲-۱ ۲-۲ ۳-۲ و…
ممنون میشم راهنماییم کنید
درود بر شما
میتونید با ترکیب فرمت سل و دیتا ولیدیشن این کار و انجام بدید
در دیتاولیدیشین شرط رو بذارید روی عدد یک تا ده
در فرمت سل هم بذارید
“۱-“۰
سلام خسته نباشید . من در جدول اکسل مطالب رو تایپ کردم اما یک سری چیزها رو ننوشتم . چطور میشه بین مطالب چیزی اضافه کرد که ترتیب بعدی هاش به هم نخوره ؟
درود بر شما
متوجه مشکل نشدم!
اگر ردیف باید اضافه بشه که خب طبیعتا ردیف ها به میریزه.میاد پایینتر
سلام شاداب باشید
ایا میشود دو متن در دو سلول جدا را در سلول نوشت
درود بر شما
بله
این لینک خدمت شما
https://excelpedia.net/text-binding/
سلام
برای تغییر متن فرمول به صورت دینامیک چیکار باید بکنم؟
فرض کنین ۱۰۰ شیت دارم به اسم های ۱و۲و…و۱۰۰، میخوام توی ۱۰۰سلول اسم این شیت ها رو بنویسم، و فرمولی بنویسم که از هر کدوم از این شیت ها یه vlookup بگیره. این فرمول مخوام دینامیک باشه.
ممنون میشم راهنمایی کنین
درود
اسم شیت رو بیارید توی تابع address و اینطوری رفرنس تابع vlookup رو تغییر بدید
https://excelpedia.net/address-function/
سلام و خسته نباشید
ببخشید من میخوام نقطه یا. رو به اول نوشته های یک ستون اضافه کنم میشه لطفاً فرمولش رو بگید?
درود
روش های مختلفی وجود دارد
ساده ترینش:
=”.”&a1
سلام
ببخشید نوشتن متن طولانی در یک سلول اکسل محدودیتی دارد؟ چون وقتی متن طولانی می نویسم، تایپ کردن خیلی کند می شود.
سلام
محدودیت تعداد کارکتر درون سلول های اکسل ۳۲۷۶۷ هست و بیشتر از اون حذف میشه.
جناب مهندس عزیز سلام و عرض ادب و احترام
میخواهیم یک ستون با تعداد زیاد سلول داریم که عدد نوشته شده و متن مثلاً کیلو گرم را بالای همه یا هر متنی که بخواهیم با فرمول برای همه اعمال کنیم به صورت داینامیک چه راهکاری دارد؟
ممنون می شوم مقداری اینجانب را راهنمایی فرمایید .با تشکر فراوان/
مثال ۲۰™——مثلاً به جای tmهر متنی که بخواهیم قرار بگیرد آن هم به صورت داینامیک با فرمول نویسی
سپاس
سلام
میتونید از طریق فرمت سل انجام بدید و اون عبارت رو کنار همه اعداد نمایش بدید و قابلیت محاسبات هم حفظ بشن
برا یاین کار همه داده ها رو انتخاب کرده و از قسمت format cell/ Custom بنویسید: #,# “KG”
با سلام من ۱۰ تا ستون و ۵۰۰ تا سطر دارم از آی دی های اینستاگرامی . میخوام به اول همه سلول ها @ رو اضافه کنم . قبلا با یه گلید های ترکیبی این کار و میکردم متاسفانه اون /اموزش رو فراموش کردم امکانش هست راهنمایی کنید؟ ممنونم
درود
این فرمول این کار رو انجام میده
=REPLACE(C3,1,0,”@”)
سلام من میخوام @ رو به اول اسمهای انگلیسی اضافه کنم ولی با این فرمول ها نمیشه. چیکار کنم؟ ممنون
سلام
چرا نمیشه؟
مشکل چیه؟
این فرمول انجام میده:
=REPLACE(C3,1,0,”@”)