مرتب سازی داده ها در اکسل یکی از مسائل بسیار پر کاربرد به حساب میاد. مرتب کردن داده ها مخصوصا اعداد یکی از مسائل مهم در تهیه داشبورد هاست. چرا که عموما در داشبوردها، قسمتی رو برای نمایش بزرگترین ها، بیشترین ها، کمترین ها و … اختصاص میدیم. همونطور که قبلا توضیح داده شده، یکی از راه های مرتب کردن داده ها ابزار Sort هست. همونطور که میدونیم، ابزارها داینامیک نیستن و با تغییر داده های مرجع، نتیجه Sort خود به خود تغییر نمیکنه و باید دوباره این ابزار اجرا بشه. که البته این خاصیت همه ابزارها در اکسل هست و خیلی جاها هم کاربردهای خودشون رو دارن. اما بعضی مواقع پیش میاد که میخوایم این مرتب سازی، بصورت خودکار انجام بشه و با تغییر داده های مرجع، نتیجه مرتب سازی هم تغییر کنه. در این مقاله تابع Small در اکسل رو آموزش میدم که میشه از این تابع برای مرتب سازی داده ها بصورت اتومات و فرمولی استفاده کرد.
آرگومان های این تابع به شرح زیر است:
Array: محدوده اعداد که میخواهیم از بین آنها کوچکترین ها رو انتخاب کنیم. جنس این آرگومان Range هست.
K :K امین عدد کوچک از محدوده مورد نظر. جنس این آرگومان عدد هست.
اگر بخوایم تعریف یک خطی از این تابع ارائه بدیم، باید بگیم که بین یک مجموعه عدد، Kامین عدد کوچیک رو بر میگردونه.
مثال: فرض کنید داده هایی مطابق شکل ۱ داریم و میخوایم این داده ها رو از کوچک به بزرگ مرتب کنیم.
شکل ۱- تابع small در اکسل – مرتب کردن اعداد از کوچک به بزرگ، با ستون کمکی
همونطور که در شکل ۱ نمایش داده شده، تابع Small بصورت زیر نوشته شده:
=SMALL($A$2:$A$13,C2)
تفسیر این تابع این هست که در محدوده A2:A13 اولین عدد کوچک رو نمایش بده. (در سلول C2 نوشته شده ۱ که یعنی اولین و چون تابع Small هست یعنی اولین عدد کوچک).
علامت های $ هم بدلیل درگ کردن تابع گذاشته شده که برای مطالعه منطق و چگونگی این کار، حتما مقاله اصول فرمول نویسی حرفه ای در اکسل رو مطالعه کنید.
همونطور که در شکل ۱ مشاهده کردید، برای تعیین K از سلول کمکی (C2:C13) استفاده کردیم. حالا برای اینکه از سلول کمکی استفاده نکنیم، میتونیم از تابع ROW استفاده کنیم. این تابع شماره ردیف سلولی که بهش داده میشه رو بر میگردونه. یعنی خروجی Row(B3) عدد ۳ هست. پس از این تابع برای تولید عدد استفاده میکنیم. به شکل ۲ دقت کنید، بجای استفاده از سلول کمکی از این تابع برای تولید K استفاده شده.
شکل ۲- تابع small در اکسل – مرتب کردن اعداد از کوچک به بزرگ-تابع Small بدون ستون کمکی
همونطور که در شکل ۲ میبینید، برای تعیین K از تابع Row استفاده شده.
=SMALL($A$2:$A$13,ROW(A1))
پس دیدیم که چطور میشه با استفاده از فرمول نویسی، اعداد رو مرتب کرد.
سوال:
حالا اگر بخوایم اعداد از بزرگ به کوچک مرتب بشه چه باید کرد؟ تابعی مشابه Small وجود داره به نام تابع Large که در آینده توضیح داده خواهد شد. اما صرفنظر از این تابع و با استفاده از همین Small چطور میشه داده ها رو از بزرگ به کوچک مرتب کرد؟؟
جواب پیشنهادی خودتون رو در ادامه همین پست و در قالب کامنت ثبت کنید.
اگر بخوام در یک بازه دنبال کوچکترین عدد بعد از عدد صفر باشیم. چطور میتونیم بنویسم؟
درود بر شما
میتونید با منطق ارایه ای این فرمول رو استفاده کنید
=MIN(IF(A1:B6>E1,A1:B6))
سلام
اگر بخواهیم در یک ماتریس مثلا۵*۵ وقتی شماره ستون را می دهیم اعداد داخل ان ستون را برای ما به همان ترتیب لیست کند، چکار باید بکینم؟
سلام
برای این کار در آرگومان اول تابع Small از تابع Index استفاده کنید که در آرگومان سوم تابع Index شماره ستون محدوده مورد نظر رو مشخص میکنید و تابع Index این ستون رو جهت پیدا کردن عدد کوچک مورد نظر شما به تابع Small منتقل میکنه.
با سلام
چطور میشه با استفاده از تابع small در داخل یک سلول عدد رو از متن جدا کرد؟؟
درود
تابع small کارش این نیست!
برای تفکیک از توابع دیگه باید استفاده کنید
جستجو کنید داخل سایت پیدا میکنید
سلام
چطور میشه در یک ستون، kامین عدد کوچک از بین سطرهایی که داده های ستون ماقبل اونها شرط مشخصی رو رعایت میکنن، پیدا و ادرس دهی کرد؟
مثلا دو تا ستون داریم، ستون اول اسم افراد و ستون دوم مقدار فروش اون ها، میخوایم در ستون دوم از بین اعدادی که مقابل اسم های علی در ستون اول نوشته شدن، kامین عدد کوچک رو پیدا و ادرس دهی کنیم. البته بدون استفاده از ابزار فیلتر و به صورت داینامیک. ممنونم
درود
اگر نخواید ستون کمکی بگیرید باید فرمول نویسی آرایه ای انجام بدید
سلام بسیار عالی بود .فقط یک سوال برام پیش اومد.در این فرمول وقتی داده ها بر اساس کوچک ویا بزرگترین مرتب می شوند اگر هر داده مربوط به یک گروه خاص باشد مثلاa.b.cو…نام گروه در سلول کنار آن درج شده باشد نام گروه چگونه براساس کوچکترین ویا بزرگترین بصورت اتوماتیک مرتب گردد؟
باتشکر از شما
درود بر شما
باید با استفاده از تابع match مکان عدد رو پیدا کنید و از طریق تابع index حروف رو هم مرتب کنید. ترکیب تووابع small, index, match و …
با سلام
در جاهای مختلف مثل همینجا دیدم برای K از دستور row کمک میگیرند. علت اینکه مستقیما عدد نمی گذارید چیست؟
=LARG(C1:C10,1)
سلام
استفاده از چنین روش هایی که به جای عدد ثابت از توابع استفاده میشه باعث میشه فرمول با درگ کردن و یا اضافه یا حذف ستون و ردیف در شیت جواب صحیح را برای ما ایجاد کند.
سلام
ضمن تشکر
می خواهم اگر در ستون A اعداد تکراری وجود داشت آنرا در نظر نگیرد و نتیجه عدد بعد از آن را اعلام کند
باسلام خدمت شما استاد گرامی جناب آقای چراغی میخواستم هگه ممکنه از تجاربتون درباره اکسل استفاده کنم ومیخاستم اگه در تلگرام آدرسی دارید بفرمایید یاتا من عضو بشوم یا شما مرا عضو کانال کنید من شغلم حسابداری توی شهرداری وخیلی بدردم میخوره ممنونم
سلام جناب شفیعی
برای عضویت در شبکه های اجتماعی از لینک های زیر استفاده کنید:
کانال تلگرامی، گروه تلگرامی، اینستاگرام، لینکداین
موردی که دوست عزیزمون فرمودند یکی کمتر میاد
چرا ؟؟
بله یک +۱ لازم داره. یعنی:
یا اینکه
:تبدیل بشه به
سلام
سرکار خانم خاکزاد و مهندس چراغی عزیز
لینک کار نمیکنه ممنون میشم بررسی بفرمائید ؟؟
مقاله اصول فرمول نویسی حرفه ای
سلام
لینک اصلاح شد.
تشکر از اطلاع رسانی
سلام
=SMALL($A$2:$A$13,Rows($A$2:$A$13)-ROW(A1))
درود بر شما
احسنت …