أبو حور قام بنشر فبراير 6, 2023 قام بنشر فبراير 6, 2023 السلام عليكم ورحمة الله وبركاته ارجو المساعدة في إيجاد دالة تظهر لي نسبة الوقت المنقضي وفقا لتاريخ اليوم فمثلا: عندي خطة لإنجاز نشاط معين وحددت وقت لإنجازه ولنفترض كما يلي | تاريخ البداية | تاريخ النهاية | نسبة الإنجاز المطلوبة| | 01/02/2023 | 20/02/2023 | الدالة المطلوبة حالة 1: إذا كان تاريخ اليوم على سبيل المثال: 10/02/2023 فيفترض أن يعطيني نسبة 50%. حالة 2: أما إذا كان اليوم على سبيل المثال: 29/01/2023 فيفترض أن يعطني معطى آخر ولنفترض "لم يحن" ؛ لأن وقت البداية لم يحن وفقا لتاريخ اليوم. حالة 3: أما إذا كان اليوم على سبيل المثال: 20/02/2023 فيفترض أن يعطيني نسبة 100% حالة 4: أما إذا كان اليوم على سبيل المثال: 25/02/2023 فيفترض أيضا أن يعطيني نسبة 100% لأنها هي النسبة الأعلى. ارجو أن أكون استطعت أن أوضح استفساري بشكل جيد، شاكر ومقدر لكم استجابتكم مثال على نسبة الإنجاز المطلوبة.xlsx
أفضل إجابة lionheart قام بنشر فبراير 6, 2023 أفضل إجابة قام بنشر فبراير 6, 2023 Peace be upon you. Try the following UDF in standard module Function ElapsedPercent(ByVal startDate, ByVal endDate, ByVal checkDate) If IsEmpty(startDate) Or IsEmpty(endDate) Or IsEmpty(checkDate) Or Not IsDate(startDate) Or Not IsDate(endDate) Or Not IsDate(checkDate) Then ElapsedPercent = vbNullString: Exit Function End If If checkDate < startDate Then ElapsedPercent = "Not Yet" ElseIf checkDate > endDate Then ElapsedPercent = "100%" Else ElapsedPercent = Format((checkDate - startDate + 1) / (endDate - startDate + 1), "0%") End If End Function Then you can use the UDF as following =ElapsedPercent(D12,E12,B12) Another solution using Formula =IF(OR(ISBLANK(D12), ISBLANK(E12), ISBLANK(B12)), "",IF(B12 < D12, "Not Yet",IF(B12 > E12, "100%",TEXT((B12 - D12 + 1) / (E12 - D12 + 1), "0%")))) 2 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.