أبوأحـمـد قام بنشر يناير 11, 2018 مشاركة قام بنشر يناير 11, 2018 السلام عليكم ورحمة الله وبركاته مرفق ملف أكسل يمكن استخدامه لإضافة الاسماء مع رقم الهوية الوطنية وأي بيانات أخرى ويمكنه التحقق من صحة الرقم عن طريق معادلة تم إضافتها بالتنسيق الشرطي ملاحظة : عملية التحقق بالكود اسهل بكثير ولكن حبيت استخدام بالتنسيق الشرطي كنوع من التحدي ولتوضيخ امكانيات الأكسل s.rar رابط هذا التعليق شارك More sharing options...
سليم حاصبيا قام بنشر يناير 11, 2018 مشاركة قام بنشر يناير 11, 2018 الأقضل هذه المعادلة للتنسيق الشرطي التي تقوم بنفس العمل =LEN(C2)*ISNUMBER(C2)=10 رابط هذا التعليق شارك More sharing options...
أبوأحـمـد قام بنشر يناير 11, 2018 الكاتب مشاركة قام بنشر يناير 11, 2018 9 دقائق مضت, سليم حاصبيا said: الأقضل هذه المعادلة للتنسيق الشرطي التي تقوم بنفس العمل =LEN(C2)*ISNUMBER(C2)=10 شكرا اخي سليم على هذه الاضافة ولكن الخوارزمية ليست فقط التحقق من طول رقم السجل المدني رابط هذا التعليق شارك More sharing options...
سليم حاصبيا قام بنشر يناير 11, 2018 مشاركة قام بنشر يناير 11, 2018 2 دقائق مضت, أبوأحـمـد said: شكرا اخي سليم على هذه الاضافة ولكن الخوارزمية ليست فقط التحقق من طول رقم السجل المدني ارجو شرح الخوارزمية التي تريد ها رابط هذا التعليق شارك More sharing options...
أبوأحـمـد قام بنشر يناير 11, 2018 الكاتب مشاركة قام بنشر يناير 11, 2018 الخوارزية موجودة لدي وقمت بأضفتها إلى الملف المرفق وهي تعمل بشكل سليم رابط هذا التعليق شارك More sharing options...
سليم حاصبيا قام بنشر يناير 11, 2018 مشاركة قام بنشر يناير 11, 2018 1 دقيقه مضت, أبوأحـمـد said: الخوارزية موجودة لدي وقمت بأضفتها إلى الملف المرفق وهي تعمل بشكل سليم لم افهم شروطها رابط هذا التعليق شارك More sharing options...
أبوأحـمـد قام بنشر يناير 11, 2018 الكاتب مشاركة قام بنشر يناير 11, 2018 1 دقيقه مضت, سليم حاصبيا said: لم افهم شروطها معك حق فهي طويلة وغير مفهومة عندما نستخدمها كصيغة رابط هذا التعليق شارك More sharing options...
سليم حاصبيا قام بنشر يناير 11, 2018 مشاركة قام بنشر يناير 11, 2018 1 دقيقه مضت, أبوأحـمـد said: معك حق فهي طويلة وغير مفهومة عندما نستخدمها كصيغة اعرف ذلك و لكن ما هو الشرط (او الشروط ) لتلوين الخلية اذ ممكن ان اجد لك معادلة اقصر و بالتالي اخف ثقلاً على الذاكرة رابط هذا التعليق شارك More sharing options...
أبوأحـمـد قام بنشر يناير 11, 2018 الكاتب مشاركة قام بنشر يناير 11, 2018 هذه بالكود Private Function ID_Val(ByVal SEGEL_NO As String) As Boolean On Error Resume Next Dim i, TOT, ten As Integer Dim TEMP, FIN As String TOT = 0 For i = 1 To 9 If i Mod 2 <> 0 Then TEMP = (CInt(Mid(SEGEL_NO, i, 1)) * 2) If Len(TEMP) = 1 Then TEMP = "0" & (CInt(Mid(SEGEL_NO, i, 1)) * 2) Else TEMP = (CInt(Mid(SEGEL_NO, i, 1)) * 2) End If TOT = TOT + CInt(Mid(TEMP, 1, 1)) + CInt(Mid(TEMP, 2, 1)) Else TOT = TOT + CInt(Mid(SEGEL_NO, i, 1)) End If Next FIN = Format(TOT, "00") ten = CInt(Mid(SEGEL_NO, 10, 1)) ID_Val = (CInt(Mid(FIN, 2, 1)) = ten) Or (ten = 10 - CInt(Mid(FIN, 2, 1))) End Function الخوارزمية باختصار نضرب الأعداد الفردية من رقم السجل المدني بـ 2 ثم نجمع الآحاد مع العشرات ونضيف معهم مجموع الأعداد الزوجية وفي النهاية يكون معنا عدد مكون من آحاد وعشرات فإذا تشابه الآحاد مع آخر رقم من السجل المدني فهو صحيح أو ننقص 10 من آحاد الناتج فإذا تشابه مع آخر رقم من السجل المدني فهو صحيح 2 رابط هذا التعليق شارك More sharing options...
أبوأحـمـد قام بنشر يناير 12, 2018 الكاتب مشاركة قام بنشر يناير 12, 2018 قمت بتقسيم الصيغة الطويلة لتكون اوضح =OR( VALUE(MID( MID(TEXT(MID(C2;1;1)*2;"00");1;1)+MID(TEXT(MID(C2;1;1)*2;"00");2;1)+ MID(TEXT(MID(C2;3;1)*2;"00");1;1)+MID(TEXT(MID(C2;3;1)*2;"00");2;1)+ MID(TEXT(MID(C2;5;1)*2;"00");1;1)+MID(TEXT(MID(C2;5;1)*2;"00");2;1)+ MID(TEXT(MID(C2;7;1)*2;"00");1;1)+MID(TEXT(MID(C2;7;1)*2;"00");2;1)+ MID(TEXT(MID(C2;9;1)*2;"00");1;1)+MID(TEXT(MID(C2;9;1)*2;"00");2;1)+ MID(C2;2;1)+MID(C2;4;1)+MID(C2;6;1)+MID(C2;8;1);2;1)) = VALUE(MID(C2;10;1)) ; VALUE(MID(C2;10;1)) = 10-VALUE(MID( MID(TEXT(MID(C2;1;1)*2;"00");1;1)+MID(TEXT(MID(C2;1;1)*2;"00");2;1)+ MID(TEXT(MID(C2;3;1)*2;"00");1;1)+MID(TEXT(MID(C2;3;1)*2;"00");2;1)+ MID(TEXT(MID(C2;5;1)*2;"00");1;1)+MID(TEXT(MID(C2;5;1)*2;"00");2;1)+ MID(TEXT(MID(C2;7;1)*2;"00");1;1)+MID(TEXT(MID(C2;7;1)*2;"00");2;1)+ MID(TEXT(MID(C2;9;1)*2;"00");1;1)+MID(TEXT(MID(C2;9;1)*2;"00");2;1)+ MID(C2;2;1)+MID(C2;4;1)+MID(C2;6;1)+MID(C2;8;1);2;1)) ) رابط هذا التعليق شارك More sharing options...
الردود الموصى بها