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

لیندا ستونی دارد که شامل کاراکترهای آلفا و عددی است. او باید کاراکترهای عددی را حفظ کند و نویسه های آلفا را حذف کند. به عنوان مثال، یک سلول ممکن است حاوی 10003E111 باشد و می خواهد به 10003111 ختم شود.

چند راه برای حل این مشکل وجود دارد. با این حال، قبل از شروع هر راه حلی، باید مطمئن شوید که سعی در تغییر چیزی ندارید که واقعاً خراب نیست. به عنوان مثال، باید مطمئن شوید که "E" که در عدد ظاهر می شود، بخشی از قالب عدد نیست - به عبارت دیگر، تعیین قدرت. اگر اینطور است، پس شما واقعاً نمی خواهید شخصیت را حذف کنید زیرا در نهایت ماهیت عدد زیرین را تغییر می دهد.

اگر تشخیص دادید که کاراکترها بخشی از قالب اعداد نیستند، ابتدا می توانید از فرمولی برای حذف کاراکترهای آلفا استفاده کنید. اگر مقادیری که می خواهید تغییر دهید در ستون A هستند، می توانید فرمول زیر را در ستون B وارد کنید:

=SUM(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,
ROW($1:$99),1))*ROW($1:$99),),ROW($1:$99))+1,
1)*10^ROW($1:$99)/10)

مطمئن شوید که با فشار دادن Ctrl+Shift+Enter آن را به عنوان فرمول آرایه وارد کرده اید . نتیجه این است که ستون B حاوی مقادیر ستون A، بدون کاراکترهای آلفا است. می توانید از Paste Special برای کپی کردن اطلاعات از ستون B به ستون دیگری استفاده کنید تا در نهایت به جای نتایج فرمول، مقادیر واقعی را دریافت کنید.

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

Function OnlyNums(sWord As String)
    Dim sChar As String
    Dim x As Integer
    Dim sTemp As String

    sTemp = ""
    For x = 1 To Len(sWord)
        sChar = Mid(sWord, x, 1)
        If Asc(sChar) >= 48 And _
          Asc(sChar) 

شما از این تابع با فراخوانی آن از داخل یک سلول کاربرگ استفاده می کنید:

=OnlyNums(A1)

تابع یک مقدار عددی را برمی گرداند. اگر می خواهید یک ماکرو حتی کوتاه تر برای انجام پردازش ایجاد کنید، موارد زیر را در نظر بگیرید:

Function StripChar(aText As String)
    Dim I As Integer

    StripChar = ""
    For I = 1 To Len(aText)
        aChar = Mid(aText, I, 1)
        Select Case aChar
            Case "0" To "9"
                StripChar = StripChar & aChar
        End Select
    Next
End Function

برای استفاده از این تابع، از یکی از موارد زیر در کاربرگ خود استفاده کنید:

=STRIPCHAR(A1)
=VALUE(STRIPCHAR(A1))

اولی یک رشته متنی متشکل از ارقام را برمی گرداند، دومی نسخه عددی آن رشته را برمی گرداند.

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

پاسخ شما

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

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

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

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

141 نفر آنلاین
0 عضو و 141 مهمان در سایت حاضرند
بازدید امروز: 1061
بازدید دیروز: 27627
بازدید کل: 15175887
...