ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
26 visibility
موضوع: آفیس توسط:

Ciaran در یک کتابخانه کار می کند و اغلب مجبور است با لیست های طولانی اعداد ISBN در اکسل کار کند. اعداد باید شامل 10 یا 13 رقم باشند، ممکن است دارای خط تیره و ممکن است صفرهای ابتدایی داشته باشند. او از قالب متن برای سلول های حاوی ISBN استفاده می کند تا آنها را به عنوان رشته های متنی دست نخورده نگه دارد. برای برخی از اهداف، خط تیره‌ها در ISBN‌ها باید حذف شوند (او برای این کار از Find and Replace استفاده می‌کند) و مشکل از آنجا شروع می‌شود. 0-241-95011-2 تبدیل به 241950112 می شود (اکنون به 9 رقم کاهش یافته است) و بدتر از آن، 978-0-00-200784-9 تبدیل به 9.78E+12 می شود (نماد علمی). Ciaran نمی تواند راهی برای حل این دو مشکل پیدا کند، مهم نیست که قبل یا بعد از استفاده از Find and Replace برای از بین بردن خط تیره ها با قالب بندی چه کاری انجام می دهد.

اتفاقی که می افتد این است که وقتی سلول ها را ویرایش می کنید، اکسل محتویات سلول را به جای متن، به صورت اعداد تجزیه می کند. در این مورد، بهترین راه حل این است که قبل از انجام یافتن و جایگزینی برای خلاص شدن از شر خط تیره، مطمئن شوید که محتویات سلول شما با یک آپستروف قرار داده شده است. اگر یک کاربرگ دارید که حاوی تعداد زیادی اعداد شابک در ستون A است، می‌توانید آپستروف‌ها را با فرمولی مانند زیر اضافه کنید:

= "" & A1

سپس می توانید نتایج فرمول ها را کپی کنید و سپس از Paste Special برای چسباندن مقادیر دوباره در ستون A استفاده کنید. سپس هر مقدار در ستون A شامل آپاستروف می شود. وقتی بعداً Find and Replace را انجام می‌دهید، صفرهای ابتدایی همچنان وجود دارند و هیچ تلاشی برای نمادگذاری علمی نخواهید داشت.

دلیل این کار این است که آپوستروف نشانگر اکسل است که محتویات سلول باید به عنوان متن در نظر گرفته شود. آپوستروف در کاربرگ نمایش داده نمی شود، اما بخشی از محتویات سلول است، همانطور که با نگاه کردن به نوار فرمول می توانید متوجه شوید.

روش دیگر دور زدن استفاده از Find and Replace برای خلاص شدن از شر خط تیره است. در عوض از تابع SUBSTITUTE برای حذف آنها استفاده کنید، به این ترتیب:

=SUBSTITUTE(A1,"-","")

تابع کاربرگ SUBSTITUTE یک مقدار متنی را برمی گرداند، بنابراین صفرهای ابتدایی حفظ می شوند و اکسل سعی نمی کند اعداد را به فرمت عددی تبدیل کند.

اگر به طور معمول نیاز به حذف خط تیره ها از طیفی از سلول های حاوی ISBN دارید، بهتر است از یک ماکرو برای انجام عملیات استفاده کنید. ماکرو زیر روی هر سلولی که قبل از اجرای آن انتخاب کرده اید کار می کند.

Sub RemoveDashes()
    Dim c As Range
    Dim sISBN As String

    Application.ScreenUpdating = False
    For Each c In Selection
        sISBN = Replace(c, "-", "")
        c.NumberFormat = "@"
        c.Value = "" & sISBN
    Next
    Application.ScreenUpdating = True
End Sub

اساسا، ماکرو سه کار را انجام می دهد: خط تیره ها را حذف می کند، سلول را به عنوان متن قالب بندی می کند، و ISBN حذف شده را با یک آپستروف قبل از آن در سلول قرار می دهد.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 43 visibility
ارسال شده در 26 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 43 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 30 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 190 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 28 visibility
ارسال شده در 25 تیر 1402 موضوع: آفیس توسط: Admin

23.7k سوال

9.0k پاسخ

614 دیدگاه

11.2k کاربر

235 نفر آنلاین
0 عضو و 235 مهمان در سایت حاضرند
بازدید امروز: 12967
بازدید دیروز: 17853
بازدید کل: 20325151
...