لیندا ستونی دارد که شامل کاراکترهای آلفا و عددی است. او باید کاراکترهای عددی را حفظ کند و نویسه های آلفا را حذف کند. به عنوان مثال، یک سلول ممکن است حاوی 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))
اولی یک رشته متنی متشکل از ارقام را برمی گرداند، دومی نسخه عددی آن رشته را برمی گرداند.