فرمول زیر درست عمل می کند وجمع سلول های D2 و D1000 را محاسبه می کند و نشان می دهد
عملیات ریاضی روی سلول های که دارای فرمت text شده اند
Collapse
این تاپیک قفل است.
X
X
-
سلام من چندین فایل دارم که دارای داده های زیادی هستند ولی متاسفانه فزمت سلول های این داده ها تبدیل به متن شده است (text). حالا من نیاز دارم که روی این داده ها عملیات مختلف ریاضی از قبیل sum و میانگین و ... را انجام بدهم می خواستم بدونم راهی هست بدون اینکه فرمت سلول ها را بخواهیم تغییر دهیم با فرمول نویسی این عملیات ها را انجام دهیم. مثلا در کد زیر از تابع value استفاده کردم ولی وقتی که از علامت ( : ) استفاده می کنم خطا می دهد ولی از علامت ( ; ) استفاده می کنم برای دو سلول مختلف این کار را انجام می دهد
فرمول زیر درست عمل می کند وجمع سلول های D2 و D1000 را محاسبه می کند و نشان می دهد
SUM((VALUE(D2));(VALUE(D1000)))اما فرمول زیر که ; تبدیل به : شده است عمل نمی کند و خطا می دهد
SUM((VALUE(D2)) : VALUE(D1000)))لطفا راهنمایی کنید
Last edited by sanjesh_88; 2017/01/04, 13:22.برچسب ها: هیچکدام -
با سلام
نمیدونم اصلاح فرمول راه حل مشکل شما هست یا نه ولی در این موارد باید از تابع indirect استفاده کنید.نیازی هم به تابع value ندارید ولی باید بدونید خروجی تابع value عدد هست که ردیف محسوب میشه و با توجه به اعداد محدوده ردیف ها جمع میشوند.
برای رسیدن به نتیجه فایل نمونه قرار بدید و نتیجه مورد انتظار رو توضیح بدید.
کد PHP:=SUM(INDIRECT(L5&":"&L21))
[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE] -
سلام
کلا کاری که من می خواهم انجام دهم و چند روز است که وقت بنده را گرفته است به شرح زیر است:
من یک فایل دارم که دارای تعداد زیادی عدد است و به این فایل ها هر روز یک سطر اضافه می شود
من می خواهم کمترین مقدار 10 روز آخر در فایل 1 را حساب کنم و نتیجه در فایل 2 نشان داده شود مثلا اگر امروز 68 تا سطر داریم برای ما کمترین مقدار در ستون B را از سطر 59 تا 68 حساب کند و فردا که یک ردیف به این سطرها اضافه شد دوباره بیاد کمترین مقدار را از سطر 60 تا 69 حساب کند و الی آخر
البته دیروز یکی از دوستان دستور زیر را پیشنهاد کردMIN(OFFSET(A1;COUNT(A:A)-1;0;-10;1))که این دستور برای عملیات در داخل همان فایل خوب است ولی بنده می خواهم فرمول نویسی و نتایج در داخل فایل 2 انجام و نشان داده شود و فایل 1 تنها به عنوان بانک اطلاعاتی عمل می کند (چون فایل شماره 1 هر روز با فایل دیگری با همان اسم و با همان ویژگی های فایل شماره 1 عوض می شود و تنها فرق نسخه قدیم و نسخه ی آپدیت شده اضافه شدن یک سطر جدید است به همین دلیل اگر در فایل شماره 1 فرمول نویسی انجام دهیم با عوض شدن فایل تمام فرمول ها از بین می رود)
مشکل دیگر این است فرمت سلول ها تبدیل به text شده است که انجام هر گونه عملیات ریاضی را دشوار می کند و باید به فرمت عددی تبدیل شود که کاری وقت گیر است
ارگ بنده را از کمک کنید خیلی ممون می شوم چند روز است وقتم را گفته استفایل های پیوست شدهکامنت
-
برای تبدیل تکست به نامبر فایل اول شما
کد PHP:Sub test()
For Each cell In ActiveSheet.UsedRange
cell.Formula = cell.Value
Next
End Sub
فایل های پیوست شدهکامنت
-
سلام
خیلی خیلی لطف کردید . نمی دونید چند روز دنبال این کار بودم
البته فرمول شما یک ایراد کوچکی داشت و آن این بود که فقط روی 10 ردیف آخر عمل می کرد و اگر سطر جدیدی ایجاد میشد اون سطر را در نظر نمی گرفت و کلا روی همان 10 سطری اول ثابت شده بود که البته به صورت زیر اصلاح شدMIN(OFFSET('1.xls'!$B$1;COUNTA('1.xls'!B:B)-1;0;-10;-1))باز هم ممنونکامنت
-
سلام لطف کردید
این کد خیلی خوبی است ولی همانطور که گفتم نمی خوام داخل فایل شماره 1 کد یا ماکرو نوشته شود چون فایل شماره 1 هر روز عوض می شود یعنی یک فایلی با همین نام جای اون فایل رو می گیرد و اون فایل اولی حذف می شود و فرمول های داخل آن نیز حذف خواهد شد . اگر میشد این دستور در فایل شماره 2 نوشت که داده ها فایل شماره 1 را تبدیل کند عالی میشد[/quote]کامنت
-
لطفا مسئله که حل شد گزینه حل شده را بزنید.
امتحان کنید اینطور نیست.البته فرمول شما یک ایراد کوچکی داشت و آن این بود که فقط روی 10 ردیف آخر عمل می کرد و اگر سطر جدیدی ایجاد میشد اون سطر را در نظر نمی گرفت و کلا روی همان 10 سطری اول ثابت شده بود که البته به صورت زیر اصلاح شد
کد PHP:=MIN(OFFSET('1.xls'!$B$2;COUNTA('1.xls'!$B$2:$B$1000)-10;0;10;1))
[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]کامنت



کامنت