اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

مقارنة بين عمودين فى شيت اكسل والفائدة للجميع


الردود الموصى بها

اولا اريد ان اشكر القائمين على هذا المنتدى الاكثر من رائع لانى حتى الان عندما اضع مشكلة تقابلنى هنا فى العمل اجد لها اكثر من حل عند عمالقة المنتدى الكرام الاكثر من رائعين رغم انشغال كل منهم فى عملة ولاكنهم يقومون بمساعدة منم يريد المساعدة ولا يبخلون بشىء لافادة الجميع ولا ينتظرون مقابل غير الدعاء فشكرا لهم جميعا واليوم يوجد شيت اعتقد انة من الممكن يفيد الجميع ولاكن ارجوالمساعدة فية هذا الشيت يحتوى على اربع اعمدة اريد ان اعمل مقارنة بين الاربع اعمدة بحيث يظهر الموجود فى اول عمودين وغير موجود فى الاخر فى شيت اخر والعكس وتوجد بعض المشاكل احيانا يوجد مكرر فهل من الممكن وضع لون لمعرفة المكرر وكذلك بعض الاحيان تحتوى على صفر فاذا امكن ازالة الخلايا التى تحتوى على صفر وجزاكم الله خير ا

JAGRS_.rar

رابط هذا التعليق
شارك

اخي احمد

اولا و قبل كل شيء / السلام عليكم و رحمة الله وبركاته

فضلا واذا تكرمت

رتب طلبك في نقاط

1-

2-

3-

ليسهل فهم ماتريد

فانني لم افهم شيء

مع التحية و التقدير

رابط هذا التعليق
شارك

جزالك الله كل خير اخى احمد يعقوب يوجد بالمرفق 4 اعمدة كل عمودين بنفس الايم رقم الslip والامونت العمودين فىA&B ياتون الى من الشركة الخاصة بالمواصلات والعمودين الاخرين اقوم بوضعهم مانيول عند استلامهم لمقارنتهم اخر الشهر ولذا كل ما اريدة كود

1 يقوم بعمل مقارنة بما هو موجود فى العمودين فىA&B وغير موجودين فى العمودين الاخرين فى شيت اخر

2وضع ما هو موجود فى العمودين الاخرين وغير موجود فىA&B فى شيت اخر

يوجد بعض الملاحظات فىA&B يوجد ارقام مكررد اذا امكن وضع زرار ويقوم بتمييز المكرر بلون احمر

ووضع زرار لازالة المكرر اذا امكن وازالة الصفوف التى تحتوى على صفر وجزالك الله كل خير اخى احمد يعقوب وفى انتظار ردك

رابط هذا التعليق
شارك

السلام عليكم و رحمة الله وبركاته

تم الحل في المرفق بالدوال بحيث يتم نقل بيانات العمودين الأولين بدون تكرار الى ورقة أخرى ويتم نقل بيانات العاموديين الآخرين الى الورقة الأخرى بدون تكرار ثم يتم تلوين البيانات المطابقة للعمود الأول باللون الأخضر

وكان الحل كما يلي

=IF(COUNTIF(A$2:A3;A3)=1;COUNT(C$1:C2)+1;"")
تقوم هذه الدالة بـ عد التكرار للخلايا السابقة للخلية الحالية و اذا لا يوجد تكرار تقوم بوضع ارقام متسلسلة من 1 الى آخر عدد
=INDEX(SLIP;MATCH(ROW()-1;sNo;0);1)

وتقوم هذه الدالة بنقل بيانات العمود الأول بموجب ارقام التسلسل التي تم اضافتها سابقا

مع التحية و التقدير

وشكرا لك ايضا

وجزاك الله كل خير

JAGRS.rar

رابط هذا التعليق
شارك

السلام عليكم اخى الكريم وجزاك الله كل خير اخى الكريم على مساعدتك ولاكن يوجد مشكلة اولا يوجد ارقام موجودة فى العمود eولم تلون ولم يحضر كل الارقام كذلك يوجد شى غريب n/a 981 عند التكرار لا اعرف لماذا مرفق صورة للايضاح

post-41325-1237962309.jpg

رابط هذا التعليق
شارك

السلام عليكم

N\a = Not Avlpl = غير موجود

981 = عدد مرات تكرار N\a في العمود a

اما الذي لم يظهر يكون

- اما انني فهمت السؤال خطأ و وضعت حل خاطيء

- او لم يتم نسخ الدوال في باقي العمود في احد الورقتين بشكل صحيح

مع التحية و التقدير

رابط هذا التعليق
شارك

اخى الكريم مشكور على الرد ولاكن ارجو ان يتسع صدرك لاسئلتى وجزاك الله كل خير لانى فعلا اتعلم منك من هذة الامثلة وهى تساعدنى جدا فى العمل هنا انا ارفقت شيت ارجو منك ان تقرا الكومنت وارجو ان يكون واضح

JAGRS11_.rar

رابط هذا التعليق
شارك

السلام عليكم

مع العلم اخى الكريم اننى كل شهر سوف اقوم بعمل كوبى وبست لهذة العمدة كل شهر فهل هذا سوف يوئثر فى المعادلات

اخي اذاكان النسخ و اللصق سوف يشمل الأعمدة التي بها معادلات طبعا سوف تمسح المعادلات او الدوال

لذلك من الأفضل عمل المطلوب عن طريق كود Vb

رابط هذا التعليق
شارك

اخى الكريم ابواسامة لييس هذا المطلوب والتنسيق الشرطى لقد تكرم الاخ احمد يعقوب بعملة سابقا ولاكن ارجو ان تقوم بفتح الملف jagrs11 وتقرا الكومنت الذى بداخلة وجزاك الله خير وانا موجود الشيت مش واضح

تم تعديل بواسطه ahmedhafez
رابط هذا التعليق
شارك

السلام عليكم

بعد إذن أستاذينا: أبو أسامة وأحمد يعقوب

جزاكم الله خيرا

أخي أحمد حافظ

مرفق الحل بالتنسيق الشرطي

ولاتتعجل بالرأي قبل أن تراه

الأعمدة المساعدة C,D & G,H تستطيع إخفاؤها

JAGRS11_2.rar

رابط هذا التعليق
شارك

السلام عليكم و رحمة الله وبركاته

اخواني و احبتي الأستاذ ابو اسامة و الأستاذ طارق

قد يكون شرح الطلب لأخونا احمد حافظ ناقص

حيث ان مجمل طلبه يكمن في الورقة 2 sheet2 من الملف الذي ارسلة

مع تقديري لكم جميعا

الحل في المرفق

________.rar

رابط هذا التعليق
شارك

مشكور اخى الكريم طارق واخى احمد يعقوب ولاكن لى سؤال لو لديك وقت وهو شرح ما معنى هذة الدالة COUNT(G$1:G1)+1 ولو امكن شرح بسيط لدالة match

اخى احمد ولماذا عند وضع ارقام فى الشيت1 لاترحل فى الشيت 2 ما الذى يجب عدم مسحة من الصفحة الاولى حتى لايوئثر فى الصفحة الثانية

تم تعديل بواسطه ahmedhafez
رابط هذا التعليق
شارك

السلام عليكم

count هي داله تقوم بحساب الخلايا التي تحتوي على ارقام

COUNT(G$1:G1)+1

وهنا عدد الخلايا التي تحتوي على ارقام من الخلية G1 الى G1 هي صفر +1 و الناتج 1

و الدلة match تقوم باعطائنا رقم السطر الموجود به قيمة معينة

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

تحياتي وسلامي للإخوة أبو أسامة ، أحمد يعقوب، طارق وبعد إذنهم أتقدم بالملف التالي

أرجو أن تساعدك الملفات التالية

لما تحتاجه اختر الملف الأول

في العمود الأول ضع بيانات البنك

في العمود الثاني ضع بيانات الشركة

العمود c بظهر الحسابات التي تظهر في العمود الأول ولا تظهر في العمود الثاني

العمود D يظهر الحسابات التي تظهر في العمود الثاني ولا تظهر في العمود الأول

العمود E يظهر الأعداد المشتركة بين العمودين الأول والثاني

لتغيير المدى

1- insert

2- name

3- define

ثم أعد تحديد المجال حسب عدد القيم (الأسطر)

list_classement.rar

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله تعالى وبركاته

الشكر موصول للأخ طارق حول رابط الجداول المحورية

أخي الكريم أحمد حافظ انظر المرفق التالي فقد وضعت طريقتين لعرض بيانات العمودين A و E

الطريقة الأولى عن طريق الفورم

الطريقة الثانية عن طريق الجداول المحورية

انظر المرفق رجاء ان يساعدك في عملك

إذا أردت عمل الجداول المحورية انظر الرابط التالي

رابط الجداول المحورية

JAGRS11.rar

رابط هذا التعليق
شارك

اخى الكريم هل يمكن التوضيح والشرح للمرفقات بعد اذنك الملف الاول يحتوى على 3 ملفات ما الفرق بينهم وارجو شرح للفائدة اخى الكريم وما هى الطريقة الثانية للجداول المحورية اذا امكن الشرح جزالك لله خيرا وجعلة فى ميزان حسناك اخى الكريم حيث ان الجداول المحورية شرط عدم تكر البيانات او الصفوقف ولاكن البيانات التى سوف اقوم باحضارها سوف يكون فيها تكرار فهل سيكون حل الجداول المحورية فعال ام لا

تم تعديل بواسطه ahmedhafez
رابط هذا التعليق
شارك

السلام عليكم

جهد مشكور لجميع الاخوة دون استثناء وبعد اذنكم اضع ملف مشابه عن طريق الكود وهو من احد اعمال عملاق المنتدى اخي الحبيب علي السحيب قمت بتعديل بسيط وان شاء الله يفي بالغرض

اخوكم ابو خالد

_______________________________.rar

رابط هذا التعليق
شارك

اخى ابو خالد جزاك الله كل خير انت واعضاء المنتدى الكريم الذى يضم عباقرة المنتدى جزاهم الله كل خير هل اطمع فى شرح بسيط للكود لو اردت لتعديل فية لاستخدامة فى شيتات اخرى سوال اخر اين اضع البيانات كل مرة فى الصفحة الاولى وهلى الجدول فى الصفحة الثانية يظهر المكرر فقط جزاك الله كل خير مرة اخرى عمل اكثر من رائع وسهل للغاية لااستخدم بالكود

رابط هذا التعليق
شارك

اخى ابو خالد جزاك الله كل خير انت واعضاء المنتدى الكريم الذى يضم عباقرة المنتدى جزاهم الله كل خير هل اطمع فى شرح بسيط للكود لو اردت لتعديل فية لاستخدامة فى شيتات اخرى سوال اخر اين اضع البيانات كل مرة فى الصفحة الاولى وهلى الجدول فى الصفحة الثانية يظهر المكرر فقط جزاك الله كل خير مرة اخرى عمل اكثر من رائع وسهل للغاية لااستخدم بالكود

جزاك الله خيرا اخي احمد

بالنسبة لوضع البيانات يتم وضعها بالصفحة الاولى من سطر 3 الى سطر 512 ويمكنك زيادة المدى من خلال الكود

كما انه يوجد لديك عدد اثنان زر ماكرو واحد للتصفية بنفس الصفحة والاخر لعمل المقارنة بالصفحة الثانية او الذهاب مباشرة للصفحة الثانية بعد اضافة البيانات في الصفحة الاولى والضغط على زر نتيجة المقارنة لتظهر البيانات

اخي احمد حافظ اولا الغي عملية تجميد الصف التي بالملف لكي تتمكن من وضع البيانات بالعمود B,C E,F من السطر 3

وارجو منك الاطلاع على الكود واي جزئية تريد شرحها انا والاخوة حاضرين

مع الشكر

ابو خالد

رابط هذا التعليق
شارك

لا اجد شى اقولة جزاك الله كل خير اخى الكريم ولاكن بداية كيف ازيد المدى بدلا من 512 الى اكثر من ذلك و هل لوغيرت الاسماء من اللغة العريبية اللى الانجلزية سوف يوئثر فى الكود

تم تعديل بواسطه ahmedhafez
رابط هذا التعليق
شارك

لا اجد شى اقولة جزاك الله كل خير اخى الكريم ولاكن بداية كيف ازيد المدى بدلا من 512 الى اكثر من ذلك

واياك اخي الكريم

بالنسبة لزيادة المدى تذهب الى شاشة الكود بالضغط على Alt و F11 معا ستظهر لك شاشة الاكواد ستجد الجزئية التالية وهو الكود الخاص بالصفحة الاولى

[B516:C65536,E516:F65536].ClearContents

For R = 3 To 512

If Application.WorksheetFunction.CountIf([E3:E512], Cells(R, 2)) = 0 Then
With Columns(2).Rows(65536).End(xlUp)

            .Offset(1, 0) = Cells(R, 2)
            .Offset(1, 1) = Cells(R, 3)
End With
End If
Next

For R = 3 To 512

If Application.WorksheetFunction.CountIf([B3:B515], Cells(R, 5)) = 0 Then
With Columns(5).Rows(65536).End(xlUp)

            .Offset(1, 0) = Cells(R, 5)
            .Offset(1, 1) = Cells(R, 6)
End With
End If
Next
Duplicated

MsgBox "!ÃäÊåÊ ÚãáíÉ ÇáãÞÇÑäÉ Èíä ÇáÌÏæáíä ÈäÌÇÍ æÊã æÖÚ ÇáäÊÇÆÌ Ýí åÐå ÇáÕÝÍÉ", vbInformation, "äÊíÌÉ ÇáãÞÇÑäÉ"

End Sub

Sub Compare2()

On Error Resume Next
Sheet2.[B3:C65536,E3:F65536].ClearContents

For R = 3 To 512

If Application.WorksheetFunction.CountIf(Sheet1.[E3:E512], Sheet1.Cells(R, 2)) = 0 Then
With Sheet2.Columns(2).Rows(65536).End(xlUp)

            .Offset(1, 0) = Sheet1.Cells(R, 2)
            .Offset(1, 1) = Sheet1.Cells(R, 3)
End With
End If
Next

For R = 3 To 512

If Application.WorksheetFunction.CountIf(Sheet1.[B3:B512], Sheet1.Cells(R, 5)) = 0 Then
With Sheet2.Columns(5).Rows(65536).End(xlUp)

            .Offset(1, 0) = Sheet1.Cells(R, 5)
            .Offset(1, 1) = Sheet1.Cells(R, 6)
End With
End If
Next

Duplicated2

MsgBox "!ÃäÊåÊ ÚãáíÉ ÇáãÞÇÑäÉ Èíä ÇáÌÏæáíä ÈäÌÇÍ æÊã æÖÚ ÇáäÊÇÆÌ Ýí ÇáÕÝÍÉ ÇáËÇäíÉ", vbInformation, "äÊíÌÉ ÇáãÞÇÑäÉ"

End Sub
بالسطر الثاني من الكود اعلاه تجد تحديد المدى من 3 الى 512 هنا تتم زيادة المدى ويجب ان تاخذ في اعتبارك زيادة المدى الآخر لنفس الصفحة والذي يبدأ في الكود اعلاه من سطر 516 الى آخر الصفحة فلو زدت المدى من سطر 3 الى سطر 1000 ضع في اعتبارك زيادة المدى الآخر مثلا من 1015 الى آخر الصفحة وهنا الكود الخاص بالصفحة الثانية
Sub Duplicated()

Set MyRange1 = [K516:K1000]
Set MyRange2 = [H516:H1000]

[H516:I1000,K516:L1000].ClearContents

For R = 3 To 512
If Application.WorksheetFunction.CountIf([E3:E512], Cells(R, 5)) > 1 Then
With Columns(8).Rows(65536).End(xlUp)
            .Offset(1, 0) = Cells(R, 5)
            .Offset(1, 1) = Cells(R, 6)
End With
End If
Next

For R = 3 To 512
If Application.WorksheetFunction.CountIf([B3:B512], Cells(R, 2)) > 1 Then
With Columns(11).Rows(65536).End(xlUp)
            .Offset(1, 0) = Cells(R, 2)
            .Offset(1, 1) = Cells(R, 3)
End With
End If
Next

For Each Cell In MyRange1



A = Application.WorksheetFunction.CountIf([B3:B512], Cell)
B = Application.WorksheetFunction.CountIf([E3:E512], Cell)
C = A - B
If Application.WorksheetFunction.CountIf(MyRange1, Cell) > C Then
Cell.ClearContents
Cells(Cell.Row, Cell.Column + 1).ClearContents
End If
Next

For Each Cell In MyRange2
A = Application.WorksheetFunction.CountIf([B3:B512], Cell)
B = Application.WorksheetFunction.CountIf([E3:E512], Cell)
C = B - A
If Application.WorksheetFunction.CountIf(MyRange2, Cell) > C Then
Cell.ClearContents
Cells(Cell.Row, Cell.Column + 1).ClearContents
End If
Next

[H516:I592].Sort [H516], xlAscending
[K516:L592].Sort [K516], xlAscending

End Sub

Sub Duplicated2()

Set MyRange1 = Sheet2.[K3:K512]
Set MyRange2 = Sheet2.[H3:H512]

Sheet2.[H3:I512,K3:L512].ClearContents

For R = 3 To 512
If Application.WorksheetFunction.CountIf(Sheet1.[E3:E512], Sheet1.Cells(R, 5)) > 1 Then
With Sheet2.Columns(8).Rows(65536).End(xlUp)
            .Offset(1, 0) = Sheet1.Cells(R, 5)
            .Offset(1, 1) = Sheet1.Cells(R, 6)
End With
End If
Next

For R = 3 To 512
If Application.WorksheetFunction.CountIf(Sheet1.[B3:B512], Sheet1.Cells(R, 2)) > 1 Then
With Sheet2.Columns(11).Rows(65536).End(xlUp)
            .Offset(1, 0) = Sheet1.Cells(R, 2)
            .Offset(1, 1) = Sheet1.Cells(R, 3)
End With
End If
Next

For Each Cell In MyRange1
A = Application.WorksheetFunction.CountIf(Sheet1.[B3:B512], Cell)
B = Application.WorksheetFunction.CountIf(Sheet1.[E3:E512], Cell)
C = A - B
If Application.WorksheetFunction.CountIf(MyRange1, Cell) > C Then
Cell.ClearContents
Sheet2.Cells(Cell.Row, Cell.Column + 1).ClearContents
End If
Next

For Each Cell In MyRange2
A = Application.WorksheetFunction.CountIf(Sheet1.[B3:B512], Cell)
B = Application.WorksheetFunction.CountIf(Sheet1.[E3:E512], Cell)
C = B - A
If Application.WorksheetFunction.CountIf(MyRange2, Cell) > C Then
Cell.ClearContents
Sheet2.Cells(Cell.Row, Cell.Column + 1).ClearContents
End If
Next

Sheet2.[H3:I512].Sort [H3], xlAscending
Sheet2.[K3:L512].Sort [K3], xlAscending


End Sub

وهنا يتم نفس التغيير

مع الشكر

ابو خالد

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information