PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] استفاده از تابعی شبیه mid که از سمت راست بشمرد و جدا کند



maziardm
2019/03/24, 20:39
با سلام و روز خوش
تابع mid برای جدا کردن کاراکترهای یک سلول از سمت چپ اسقفاده می شه. حالا اگه بخوایم برعکس این قضیه اتقاق بیوفته باید چیکار کنیم. یعنی از سمت راست بشمره و جدا کنه. فرض کنید عدد 12345 رو داریم حالا می خواهیم از تابع mid استفاده کنیم که از سمت راست بشمره و جدا کنه. اینم بگم از تابع رایت نمی خوام استفاده کنم. چون تعداد کاراکترهای یک سلول ممکنه با هم فرق کنه. مثلا در سلول بعد به جای 5 کارکتر 7 کاراکتر یا کمتر و یا بیشتر داشته باشه.
با تشکر

maziardm
2019/03/27, 11:31
با سلام و روز خوش
تابع mid برای جدا کردن کاراکترهای یک سلول از سمت چپ اسقفاده می شه. حالا اگه بخوایم برعکس این قضیه اتقاق بیوفته باید چیکار کنیم. یعنی از سمت راست بشمره و جدا کنه. فرض کنید عدد 12345 رو داریم حالا می خواهیم از تابع mid استفاده کنیم که از سمت راست بشمره و جدا کنه. اینم بگم از تابع رایت نمی خوام استفاده کنم. چون تعداد کاراکترهای یک سلول ممکنه با هم فرق کنه. مثلا در سلول بعد به جای 5 کارکتر 7 کاراکتر یا کمتر و یا بیشتر داشته باشه.
با تشکر

با سلام
پاسخی نیست؟
با تشکر

iranweld
2019/03/27, 12:12
لطفا یه نمونه مثال بیان نمایید که توابع mid , right , left جوابگوی کار شما نیست

maziardm
2019/03/27, 13:22
لطفا یه نمونه مثال بیان نمایید که توابع mid , right , left جوابگوی کار شما نیست

با سلام مجدد

ببینید تابع mid میاد از چپ به راست رو جستجو می کنه. برای مثال شما عدد 123456 در سلول a1 رو دنظر بگیرید. حالا اگه از تابع mid بخواید استفاده کنید به صورت:

mid(a1;3;5)(
جوابی که بدست میاد میشه 345. در صورتیکه جواب مورد نظر ما 432 هستش. چرا که میاد از سمت چپ شمارش می کنه. ولی ما میخوایم که از راست شمارش کنه. چون مقادیر متعدد هستند و تعداد کارکاترهای هر مقدار هم متفاوت هست به همین دلیل دنبال راهی هستیم که بشه از تابعی مثل مید با فرض مورد نظر استفاده کنیم.
امیدوارم منظورمو به خوبی رسونده باشم.
با تشکر

iranweld
2019/03/27, 17:23
از فانکشن ذیل استفاده کنید


Function test(x As Range, y As Integer, z As Integer)

For i = y To y - z + 1 Step -1

xx = xx & Mid(x, i, 1)

Next

test = xx

End Function




=test(A2,X,Y) که در آن A2 سلول مورد نظر و X از کارکتر چندم و Y هم تعداد کارکتر مورد نظر میباشد که جواب بصورت معکوس نمایش داده میشود