در نرم افزار اکسل زمانی که میخواهیم فرمولهایی بنویسیم که عبارتهای متنی در آن به کار رفته، از دابلکوتیشن یا علامت " استفاده میکنیم. اگر عبارت متنی یا به زبان دیگر String داخل دابلکوتیشن قرار نگیرد، خروجی فرمولها با آنچه فکر میکنیم متفاوت خواهد بود و گاهی ارور در سلول ظاهر میشود. بنابراین آشنایی با روش درست استفاده از دابلکوتیشن در نرمافزار Excel و نرمافزارهای مشابه مثل Google Sheet ضروری است.
در ادامه مطلب شیوه صحیح استفاده از " در اکسل را با چند مثال ساده توضیح میدهیم.
استفاده از " در اکسل
مهمترین کاربردی که دابلکوتیشن در فرمولنویسی دارد، مشخص کردن عبارتهایی از نوع رشته یا String است.
و اما یک مثال ساده: فرض کنید که معلم کلاس هستید و شناسهی دانشآموزان را در ستون A و نمره را در ستون B ثبت کردهاید و میخواهید در ستون C یک فرمول ساده بنویسید که خروجی آن 1 به معنی قبول شده و 0 به معنی مردود شده است.
دو کلمهی Pass و Fail در حقیقت
Specifically, if a value in the Score column is 50 or more, you want to return the word Pass in the corresponding row of the Status column. On the other hand, if a value in the Score column is less than 50, you want to return the word Fail.
پس از ثبت کردن نمرات و شناسهی دانشآموزان، این بخش از صفحهی اکسل را به عنوان Table تعریف میکنیم تا از نظر زیبایی و امکانات و همینطور فرمولنویسی، کار سادهتر شود. به این ترتیب در تابع شرطی IF که اولین آرگومان شرط است، مقدار موجود در ستون Score یا نمره که به صورت [@Score] مشخص شده، با عدد 50 مقایسه میشود. در صورت بزرگتر از 50 بودن، خروجی عدد 1 و در صورت نادرست بودن، خروجی IF را عدد 2 در نظر میگیریم. لذا فرمول نهایی به صورت زیر است:
Before I show you the formula for this, let's go back a step and imagine that, rather than returning the words Pass or Fail, you wanted to return the numbers 1 or 2. For this, the IF formula would be as follows:
=IF([@Score]>=50,1,2)
با زدن کلید Enter نتیجه ظاهر میشود و البته فرمول به صورت خودکار در سلولهای پایینتر تا پایان ناحیهی جدول قرار میگیرد و نیازی به کپی و پیست کردن در سلولهای بعدی نیست.
اما عدد 1 و 2 چندان گویا نیست و بهتر است به جای عدد 1 از عبارت Pass یا قبول شده استفاده کنیم و به جای 2 نیز از Fail استفاده کنیم. این دو عبارت از نوع استرینگ یا رشتهی متنی است. عبارتهای متنی را داخل دابلکوتیشن یا " قرار میدهیم و فرمول صحیح به صورت زیر است:
=IF([@Score]>=50,"Pass","Fail")
معنی ارور #NAME? در اکسل
این ارور به کاربرد غلط عبارتهای متنی و موارد مرتبط با عبارت متنی در اکسل مربوط میشود. به مثال قبل برگردیم، اگر از دابلکوتیشن استفاده نکنیم و به جای آرگومان دوم و سوم تابع if مستقیماً کلمات را به کار ببریم، اکسل اروری به شکل #NAME? نمایش میدهد:
=IF([@Score]>=50,Pass,Fail)
نتیجه را در تصویر زیر مشاهده میکنید:
مثال ما در مورد تابع if بود ولیکن در بسیاری از توابع دیگر نیز میتوان از عبارت متنی استفاده کرد و باید همواره عبارت متنی را داخل "" قرار داد.
دقت کنید که استفاده نکردن از دابلکوتیشن لزوماً موجب نمایش ارور نمیشود. به عنوان مثال فرمول زیر آنچه در ستون B ذکر شده را با کلمهی London مقایسه میکند. اگر نام شهر لندن باشد، شمارش میشود و در واقع فرمول زیر برای شمارش تعداد کلمات لندن در ستون B کاربرد دارد. حالت صحیح این است که عبارت London داخل "" قرار گیرد و شمارش به شکل صحیح انجام میشود.
=COUNTIF(T_Cities[Favorite City],"London")
اگر از دابلکوتیشن استفاده نکنیم نیز اروری ظاهر نمیشود ولیکن خروجی فرمول عدد 0 است و اکسل به درستی کلمه لندن را شمارش نکرده است:
در فرمولها به جای متن به سلول حاوی متن اشاره کنید
یک راهکار دیگر و شاید بهتر در نوشتن فرمولهای حاوی عبارت متنی این است که متن موردنظر را مستقیماً در فرمول استفاده نکنید بلکه آن را داخل سلول دیگری بنویسید و به آن سلول اشاره کنید. دقت کنید که در این حالت نباید از دابلکوتیشن استفاده کرد.
به عنوان مثال در فرمول شرطی زیر، مقدار متنی موجود در سلول A1 با مقدار موجود در A2 مقایسه میشود. اگر یکسان باشند، خروجی 1 و در غیر این صورت خروجی عدد 0 است.
=if(A1=A2,1,0)
اما فرمول بعدی مقدار متنی موجود در سلول A1 را با عبارت A2 مقایسه میکند و هیچ ارتباطی با سلول A2 ندارد. علت این است که A2 داخل دابلکوتیشن قرار گرفته است. لذا نتیجه کاملاً متفاوت است:
=if(A1="A2",1,0)
howtogeekسیارهی آیتی