
مرتب کردن داده ها در اکسل ( یا سورت در اکسل ) از موضوعاتی هست که زیاد مورد استفاده قرار میگیره. اینکه داده ها به ترتیب حروف الفبا، یا اعداد از کوچیک به بزرگ یا برعکس مرتب بشن رو با استفاده از ابزار Sort انجام میدیم.
موقع استفاده از ابزار Sort باید به خیلی دقت کنیم که داده ها به درستی انتخاب شده باشن، چون در صورتی که Sort کنیم و ذخیره کنیم، به هیچ وجه قابل بازگردوندن نیست. در ادامه با نحوه مرتب کردن و نکات مربوط به این ابزار آشنا میشیم.
فرض کنید میخواهیم مبالغ صورت وضعیت مربوط به شرکت ها (شکل ۱) رو از بزرگ به کوچیک مرتب کنیم. برای این کار روی سر ستون مربوط به صورت وضعیت کلیک میکنیم و از تب Data گزینه بزرگ به کوچیک یا رو میزنیم. با کلیک بر روی این گزینه، پنجره (شکل ۱) باز میشه.

شکل ۱- سورت در اکسل – انتخاب محدوده مرتب سازی
این پیغام به ما میگه که شما یک ستون از دیتابیس رو انتخاب کردین واسه سورت کردن، میخواید محدوده رو به کل ستون ها گسترش بدید؟
عموما اگر داده های یک ستون از یک دیتابیس رو بخوایم سورت کنیم باید همه ستون ها رو انتخاب کنیم. چون اگر فقط همون ۱ ستون رو سورت کنیم، بقیه داده های مرتبط جابجا نمیشن و دیتابیس به هم میریزه. پس گزینه Expand the selection (انتخاب همه ستون های دیتابیس) رو انتخاب کرده و Ok می زنیم. بعد از زدن Ok داده ها بر اساس ستون صورت وضعیت، از بزرگ به کوچیک مرتب میشن.
حالا اگر بخوایم چندین سطح برای سورت کردن اضافه کنیم، باید از قسمت استفاده کنیم. با زدن گزینه Sort پنجره ای مطابق شکل ۲ نمایش داده میشه که میتونیم تنظیمات مختلفی رو انجام بدیم:

شکل ۲- سورت در اکسل – مرتب کردن داده از پنجره Sort
Column: در این قسمت تعیین میکنیم که مرتب سازی بر اساس کدوم ستون انجام بشه.
Sort On: در این قسمت تعیین میکنیم که مرتب سازی روی داده های سلول انجام بشه یا روی رنگ سلول، رنگ فونت، آیکون مورد نظر (Conditional Formatting).
با انتخاب هر کدوم از این گزینه ها، تنظیمات مربوط به هر یک نمایان میشه.
Order: ترتیب مرتب سازی رو در این قسمت تعیین میکنیم، صعودی، نزولی، حروف الفبا و قسمت Custom List.
فرض کنید یک سری داده داریم که ترتیب خاص دارن و ما نمیخوایم بر اساس حروف الفبا یا صعودی/نزولی مرتب بشن. مثل ماه های سال، روزهای هفته و … . میخوایم نحوه مرتب سازی بر اساس ترتیب واقعی ماه ها یا روزهای هفته انجام بشه نه حروف الفبا. برای این کار از قسمت Custom List استفاده میکنیم.
در داده های بالا، میخوایم ستون مربوط به ماه رو مرتب کنیم. بصورتی که اول فروردین، بعد اردیبهشت و … قرار بگیره. برای این کار لازمه که یکبار لیست مورد نظر رو به اکسل معرفی کنیم. برای این کار حتما پست ایجاد لیست خودکار در اکسل رو مطالعه کنید. بعد از این مرحله، کافیه از قسمت Custom list، مطابق شکل ۳ لیست مورد نظر رو انتخاب کنیم.

شکل ۳- سورت در اکسل – مرتب کردن بر اساس لیست دلخواه
با زدن Ok ستون مربوط به ماه به ترتیب دلخواه مرتب میشه.
در ادامه به بررسی قسمت های مختلف پنجره Sort می پردازیم.
Add Level: با زدن این دکمه، سطوح بعدی مرتب سازی ایجاد میشه. ترتیب سطوح متفاوت برای مرتب کردن مهم و اثرگذار هست. سطوح مختلف از طریق گزینه های بالا و پایین جابجا میشن. مثلا فرض کنید (مطابق شکل ۴) اول بر اساس سال، بعد بر اساس ماه و بعد مبلغ صورت وضعیت بصورت صعودی رو تعیین میکنیم. نحوه عملکرد به اینصورت است که اول ستون سال از کوچیک به بزرگ مرتب میشه، بعد به ازای رکوردهای تکراری در ستون سال، سطح دوم اجرا میشه و الی آخر. در واقع مرتب شدن ماه ها به این بستگی داره که آیا سال تکراری در ستون سال وجود داشته یا نه. اگه داده تکراری وجود نداشته باشه، سطح سورت بعدی بی اثر خواهد بود.

شکل ۴- سورت در اکسل – مرتب کردن داده در سطوح مختلف
همونطور که در شکل ۵ می بینید. ستون اول از کوچک به بزرگ مرتب شده. بعد به ازای سال ۹۱، ماه ها به ترتیب لیست تعیین شده مرتب شده و بعد به ازای ماه های تکراری، مبلغ صورت وضعیت بصورت صعودی مرتب شده است.

شکل ۵- سورت در اکسل – مرتب کردن داده ها در سطوح مختلف
Delete Level: سطوح ایجاد شده رو حذف میکنه.
Copy Level: سطوح ایجاد شده رو کپی میکنه.
Options: در این قسمت حساسیت به حروف بزرگ و کوچک (انگلیسی) و نحوه سورت کردن، بالا به پایین (ستونی) یا چپ به راست (ردیفی) تعیین میشه.
My Data Has Headers: اگر این تیک رو بزنیم. موقع Sort کردن ردیف اول رو جابجا نمیکنه. اما اگه نزنیم، ردیف اول رو هم با توجه به شرایط تعیین شده، جابجا میکنه.
Sort و Filter ابزارهای بسیار مفید و کاربردی اکسل هستند که دونستن نکات مربوط به این ابزارها، بسیار در سرعت و دقت کارها کمک کننده خواهد بود.
مقالات پیشنهادی:





سلام خسته نباشید
من ی اکسل دارم که کلمات انگلیسی و فارسی در یک سلول نوشته شده مثلا (پاکت سیگار president )
وقتی سورت میکنم به ترتیب حروف انگلیسی سورت میکنه…میخوام با فارسی سورت کنه …امکان داره؟
درود
در دو ستون تفکیک کنید و سورت کنید
بعد به هم بچسبونید دوباره
سلام ببخشید برای من این خطا می آید
to do this.all the merge cells needs to be the same size!!! منظورش چیه؟
درود
نباید سلول مرج داشته باشید
سلام ببخشید چطور میشه یک ستون رو بر اساس تعداد حروف کلمات مرتب کرد مثلا آب که دو حرف داره بالا قرار بگیره و بابا که چهار حرف داره پایین
درود
با تابع len تعداد کاراکتر رو محاسبه کنید و بعد Sort کنید
سلام وقتی یک لیست داریم که چند فامیل مشترک در اون وجود داره ما باید بر اساس اسم اون اشخاص جدول رو مرتب کنیم (علاوه بر اینکه بر اساس فامیل مرتب شده ).برای این کار لازمه چه کاری رو انجام بدیم ؟
درود
کافیه دو سطح Level تعریف کنید
سطح اول: بر اساس فامیل
سطح دوم: بر اساس اسم
خیلی ممنونم از پاسخگوییتون.
سلام
خسته نباشید
ببخشید توضیح میدید چطور اینکارو باید انجام داد
(مثلا یه فایلی اشتباهی براساس A to Z مرتب شده حالا میخوایم برگرده به همون حالت قل یعنی مرتب سازی بر اساس تاریخ ثبت در اکسل)
درود
سورت رو روی ستون تاریخ ثبت انجام بدید
(اگر داده هاش رو ندادید و سورت کردید و سیو کردید، راهی برای برگشت نداره!)
ممنون
خود اکسل گزینه تاریخ ثبت داره یا منظورتون ستونی هستش که خودمون اسمش رو گذاشتیم تاریخ؟
ستونی که خودمون اسمش تاریخ گذاشتیم حدود ده هزار سطر داره که حدود هزار سطرش تاریخ دستی وارد شد (البته تاریخ هم با فرمت یکسانی ثبت نشده) و بقیه سطرهای ستون تاریخ خالی هستش
نه خود اکسل که همچین چیزی بصورت دیفالت نداره
گفتم اگر داد ههای مربوط به تاریخ ثبت رو دارید میتونید روی اون سورت کنید
که اونم بستگی به تاریخ داره میلادی یا شمسی؟
میلادی باشه به راحتی سورت میشه و فرقی با عدد نداره.
شمسی باشه باید این دو مقاله رو بخونید:
تاریخ شمسی در اکسل
محاسبات در بازه تاریخی
در هر صورت باید داده درست داشته باشید که بتونید روش کار کنید! اینکه ی سری سطر خالیه و ه رسلول ی مدل تاریخ داره، نشون میده داده های خوبی نیست و خیلی نمیتونید روش کاری کنید
ممنون از پاسخگویی تون
سلام
اکسل این امکان رو داره که دادهها بر اساس زمان درج در اکسل سورت بشن؟
مممنون
درود
باید زمان درج ثبت شده باشه
سلام
وقت شما بخیر
بنده دو جدول دارم، میخوام داده های هر ستون از یک جدول رو براساس ستون متناظرش در جدول دیگه مرتب کنم، با توجه به این مساله که داده های جدولبی که قرره مرتب بشه زیرمجموعه ای از جدول دیگه هست. یعنی تعداد داده های دو جدول با هم برابر نیست. خواهش میکنم راهنمایی بفرمایید که از چه راهی این امکان پذیر هست.
درود
در قسمت custom list لیست مورد نظر رو انتخاب کنید تا sort بر اساس اون انجام بشه
سلام
خسته نباشین
سوالی که بنده دارم مثلا یک جمله ۵۰ کلمه ایی داریم
می خواهیم هر کدام از کلمات را در یک سلول قرار بدیم
با چه تابع یا توابعی میشه اینکارو انجام بدیم
باتشکر
درود
بهترین کار براتون استفاده از ابزار مثل text to column هست که از اسپیس ها شروع کنه جدا کردن
اما اگر حتما تابع میخواید استفاده کنید باید با ترکیب توابع و تابع اصلی mid باید انجام بدید
سلام
باتشکر خانم مهندس خاکزاد وسایر همکارتون که در زمینه رفع ابهامات و راهنمایی به علاقمندان اکسل زحمت میکشین
سوالی که بنده دارم مثلا یک جمله ۵۰ کلمه ایی داریم
می خواهیم هر کدام از کلمات را در یک سلول قرار بدیم
با چه تابع یا توابعی میشه اینکارو انجام بدیم
باتشکر و سپاس از خانم مهندس خاکزاد
درود
بهترین کار براتون استفاده از ابزار مثل text to column هست که از اسپیس ها شروع کنه جدا کردن
اما اگر حتما تابع میخواید استفاده کنید باید با ترکیب توابع و تابع اصلی mid باید انجام بدید
سلام. خسته نباشید
تو یه فایل ورد، یک سری لغت انگلیسی رو همراه با معنی اونها داخل جدول گذاشتم. (تو ستون اول لغت انگلیسی و ستون مقابلش معنی فارسیش). لغت ها بیش از ۱۲۰۰۰ هستن. جداول هم متصل به هم نیستن. فاصله هست بینشون.
حالا من میخام این لغات انگلیسی رو به صورت الفبایی سورت کنم. بردمشون تو اکسل و با هزار دردسر ستون انگلیسی رو سورت کردم اما الان معنی درست واژه ها جلوشون نیست. اگر بخوام معنی دقیق هر واژه تو ستون مقابلش قرار بگیره چکار باید بکنم؟ ممنونمیشم راهنمایی بفرمایید.
درود
موقع سورت کردن هر دو ستون کلمه و معن رو انتخاب کنید و بعد سورت کنید که با هم چابجا بشه