اخي ياسر العدد 5 ليس موجوداً بين العددين 36 و 52
كما تلاجظ نحن لا نفتش عن 5 كنص بل كقيمة (أظن ان هذا ما يطلبه السائل)
مثل اخر ربما يريد ان يبحث عن العدد 41 بين هذين العددين (تكون النتيجة خاطئة)
المعادلة الصحيحة
=IFERROR(VLOOKUP($B$22,CHOOSE({2,1},$B$2:$B$21,$A$2:$A$21),2,0),"لاشي")
هذا الكلام لا ينفع
لأن اكسل لا يفهم 15-17 على انها الأرقام 15-16-17
بل انه يقرأ 15-17 على انها نص
اخي ياسر لا ارى داع لتحميل ملفات كبيرة بهذا الحجم (حوالي7 ميغا)
لا يكفي قسم بسيط من الملف للعمل عليه كنموذج
الا ترى ان هذا الشيء يجعل من يريد ان يساعد ان ينفر من هذا الامر
يرجى توجيه هكذا رسالة الى الاعضاء تحت عنوان:
(ساعدوا المساعدين كي يساعدونكم و........يسعدونكم)
=SUMPRODUCT(IF(DATEDIF($B$12:$B$200,$B$10,"y")=$G13,1,0),IF($E$12:$E$200=H$12,1,0))
اثراء للموضوع
هذه المعادلة (Ctrl+Shift+Enter) بدون عامود مساعد
توضع في الخلية H13 , وتسحب يميناً حتى I13 و ثم نزولاً
لم يتم الرفع بسبب انقطاع الكهرباء
اليك الملف
الفكرة بسيطة
انسخ المعادلة من الخلية A2الى الخلية AA2
اضغط Ctrl+Shift+Enter لتنفيذ المعادلة في هذه الخلية
ثم اسحب المعادلى من AA2 يميناً حتى AI2 ثم نزولاً قدر ما تريد
ارجع الى الخلايا من A1 الى نهايةالنطاق و امسحها
بارك الله فيك اخي الحبيب ياسر
لكن انا ارى انه لا بد من هذا السطر في الكود
t = Application.CountA(My_Rg): If t = 0 Then Exit Sub
و ذلك من اجل تفادي محي البيانات قي النتائج في حال قام المستخدم بتنفيذ الكود اكثر من مرة قبل اضافة بيانات جديدة
بعد اذن الاخ ياسر والاخ أبو حنين
هذا الكود (بدون حلقات تكرارية حيث ان ابو البراء لا يجبذها)
Sub salim()
Dim My_Rg As Range
Dim t As Integer
Set My_Rg = Union(Sheets("sheet1").Range("d5").Resize(Cells(Rows.Count, 4).End(3).Row - 4, 1) _
, Sheets("sheet1").Range("f5").Resize(Cells(Rows.Count, 6).End(3).Row - 4, 1))
t = Application.CountA(My_Rg): If t = 0 Then Exit Sub
Range("h5:j100").ClearContents
With My_Rg
.Areas(1).Copy Destination:=Range("h5")
.Areas(2).Copy Destination:=Range("i5")
.ClearContents
End With
Sheets("sheet1").Range("j5").Resize(Cells(Rows.Count, 8).End(3).Row - 4, 1) _
.FormulaR1C1 = "=RC[-2]-RC[-1]"
End Sub
اليك شرح للسبب
دالة salim.rar
يمكنك استعمال هذه المعادلة(اذا كنت مصراً ان تستعمل الدالة Vlookup)
=VLOOKUP($D$4,CHOOSE({1,2},$B$2:$B$13,$A$2:$A$13),2,0)