کریس در یک کارخانه هوافضا کار می کند که در آن قطعات موتور توربین گاز را برای شرکت های مختلف تولید می کند. هر شرکت شماره قطعه منحصر به فرد خود را دارد. برخی از آنها همگی عددی هستند، اما بیشتر آنها ترکیبی از اعداد و حروف با طول های مختلف هستند. هنگام مرتبسازی بر اساس شماره قطعه، کریس دوست دارد که ستون به عنوان متن در نظر گرفته شود تا مرتبسازی آنطور که او نیاز دارد بیرون بیاید. او سعی کرد سلول ها را به صورت متن قالب بندی کند، اما این همیشه کمکی نمی کند. همچنین، او ایده وارد کردن یک آپاستروف در هر سلول را دوست ندارد. کریس به این فکر می کند که آیا راه ساده ای برای مرتب کردن اکسل همه شماره های قسمت به صورت متن وجود دارد یا خیر.
شاید واضح ترین بخش مشکل کریس این جمله باشد که او سعی کرده سلول ها را به صورت متن قالب بندی کند، اما همیشه کار نمی کند. یک ترفند برای قالب بندی سلول ها به صورت متن وجود دارد—شما باید قبل از وارد کردن اطلاعات به سلول ها این کار را انجام دهید. اگر بخواهید سلولی حاوی یک عدد را به عنوان متن قالب بندی کنید، این شماره را به متن تغییر نمی دهد. با این حال، اگر قبل از وارد کردن شماره، سلول به عنوان متن قالب بندی شده باشد، پس از ورود، شماره به عنوان متن تلقی می شود.
راه حل این است که پس از قالب بندی سلول های خود به عنوان متن، همه اعداد خود را دوباره وارد کنید. این، البته، زمانی که ممکن است با صدها یا هزاران قطعه شماره سر و کار داشته باشید، میتواند یک کار طاقت فرسا باشد. درعوض، میتوانید مراحل کلی زیر را امتحان کنید که در آنها فرض میکنم شمارههای قطعه در ستون A هستند:
- ستونی را درست در سمت راست شماره قطعه خود وارد کنید. (این ستون جدید اکنون ستون B است.)
- ستون B را به صورت متن قالب بندی کنید.
- ستون A را انتخاب کنید و Ctrl+C را فشار دهید . این شماره قسمت ها را در کلیپ بورد کپی می کند.
- سلول B1 را انتخاب کنید.
- از Paste Special برای چسباندن فقط مقادیر در ستون جدید استفاده کنید.
وقتی این مراحل را کامل کردید، همه چیز در ستون B باید به عنوان متن در نظر گرفته شود و می توانید ستون A را حذف کنید. اکنون باید بتوانید بر اساس شماره قسمت ها مرتب کنید و نتایج دلخواه را دریافت کنید.
البته این مشکل دارد. اگر در آینده تعداد زیادی کپی و چسباندن شمارههای پارت را انجام دهید، ممکن است همه شمارههای قطعه دیگر به عنوان متن تلقی نشوند. این به این دلیل است که اگر از Ctrl+C و Ctrl+V سنتی برای کپی و جایگذاری استفاده کنید، اکسل قالببندی را در سلولها نیز جایگذاری میکند. بنابراین، اگر شماره قطعه در حال چسباندن قبلاً به عنوان یک شماره فرمت شده بود، پس از چسباندن به عنوان یک عدد در نظر گرفته می شود.
در این مورد، در صورت تمایل، می توانید از یک ماکرو استفاده کنید تا مطمئن شوید که شماره قطعه شما همیشه به صورت متنی قالب بندی شده است. موارد زیر فقط یک مورد کوتاه است که عالی کار خواهد کرد:
Sub MakeText()
Dim c As Range
Selection.NumberFormat = "@"
For Each c In Selection
c.Value = c.Value
Next c
End Sub
ایده ماکرو این است که شما تمام شماره های قطعه را انتخاب کرده و سپس آن را اجرا کنید. قالببندی انتخاب روی متن تنظیم میشود و سپس هر سلول در انتخاب مجدداً وارد میشود تا مقادیر عددی متعاقباً به عنوان متن در نظر گرفته شوند.
اگر مخالف استفاده از ستونهای کمکی نیستید و نمیخواهید از یک ماکرو استفاده کنید، ممکن است سعی کنید ستونی ایجاد کنید که معادل متنی شمارههای قطعه شما باشد. این کار را می توان با هر یک از فرمول های زیر انجام داد:
=A1 & ""
=CONCATENATE(A1)
=TEXT(A1, "@")
فرمول را به تعداد سلول های لازم کپی کنید. این فرمول ها محتویات ستون کمکی را مجبور می کنند که به عنوان متن در نظر گرفته شوند. سپس می توانید شماره قطعات خود را بر اساس محتویات ستون کمکی مرتب کنید.