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

عكس القيم في عمود أوقلب النتائج في عمود مجاور (موضوع الأسبوع الثالث)


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

ههههههههههههههه

تمام بس انا جربت معظمهم شغال ياغالى

يمكن من السهر هيست او يمكن لما وصلت :wink2: هنجت

حبيبى هجرب المعادله

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

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

5 ساعات مضت, بن علية حاجي said:

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

لست أدري إن كنت تأخرت في الرد، وهذه معادلة يمكن وضعها في الخلية B1 (أو غيرها) ثم سحبها إلى الأسفل...


=IF(ROW($A1)<=COUNTA($A$1:$A$6);OFFSET($A$1;COUNTA($A$1:$A$6)-ROW($A1);;1);"")

بن علية

ما شاء الله تبارك الله  رائع اخي الكريم

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

3 ساعات مضت, ياسر خليل أبو البراء said:

أخي الحبيب بن علية

بارك الله فيك وجزيت خيراً على المعادلة الجميلة والرائعة ..

أخي الغالي ابو يوسف

جزيت خيراً على المشاركة الجميلة وإن كانت مكررة من قبل أخونا الحبيب أحمد الفلاحجي ولكنها مقبولة منك .. ربنا يبارك فيك ومشكور على المشاركة الرائعة

أخي الحبيب أبو بسملة

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

وأعتقد إنك وصلت لي !! :wink2:

 

بالنسبة للملحوظة : السطر المشار إليه ليس بكود إنما معادلة توضع في الخلية B1 ثم يتم سحبها لأسفل

اخي ابو البراء

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

ام ان الاخوان يريدون السمكة وبلاش التعلّم على الصّيد....؟؟؟

 

 

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

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

ومن لديه حل أيضاً بالنسبة لفكرتك فليتقدم بها ..الموضوع مفتوح للجميع ودعوة عاااااااااااااااااامة للمشاركة

تقبلوا جميعاً وافر تقديري واحترامي

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

20 دقائق مضت, محمد الريفى said:

اتفضل اخى واستاذى ياسر اليك حلا اخر


{=INDEX($A$1:$A$6,LARGE(ROW($A$1:$A$6),ROW($A1)))}

145831837240081.jpg

اخي محمد

نريد نطاقاً ديناميكياً يتسع او يضيق مع حجم البيانات

مغ ازال الفراغات اذا وجدت في هذا النطاق

 

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

أخي الحبيب محمد الريفي بارك الله فيك وعوداً حميداً ولا تحرمنا من تواجد بيننا

فنحن نشتاق لك ولرؤية مشاركاتك القيمة

أخي الغالي سليم قدم ما لديك من حلول ليستفيد الأخوة فما زال في جرابك الكثير

تقبلوا تحياتي

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

اخي ابو البراء

اليك ما كنت أطلبه (أظن انه يوجد حلول اخرى) و ما زلت اطمع بالمزيد بدون تكرار مثلاً)

 

 

Reverse_Without_Empty.rar

تم تعديل بواسطه سليم حاصبيا
  • Like 2
رابط هذا التعليق
شارك

منذ ساعه, ياسر خليل أبو البراء said:

أخي الحبيب محمد الريفي بارك الله فيك وعوداً حميداً ولا تحرمنا من تواجد بيننا

فنحن نشتاق لك ولرؤية مشاركاتك القيمة

أخي الغالي سليم قدم ما لديك من حلول ليستفيد الأخوة فما زال في جرابك الكثير

تقبلوا تحياتي

اعزك الله استاذى وحبيبى فى الله ابوالبراء  مشاغل الحياه بعدتنى عن اخوتى واحبابى فى اوفيسنا بل وحتى فى الاكسيل . واتمنى ان اكون بشكل دائم فى وسط اساتذتى واخوتى فى اوفيسنا

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

ارجو ان اكون قد فهمت بشكل صحيح

{=IFERROR(INDEX($A$1:$A$25,LARGE(IF($A$1:$A$25<>"",ROW($A$1:$A$25),""),ROW($A1))),"")}

145832887337251.jpg

rev.rar

تم تعديل بواسطه محمد الريفى
  • Like 1
رابط هذا التعليق
شارك

معادلة رائعة أخي الحبيب محمد الريفي وتفي بالغرض تماماً

لا فض فوك أخينا محمد الريفي

أخي الغالي سليم بارك الله فيك على هداياك الرائعة والجميلة

أخي الحبيب أحمد الفلاحجي

مشكور على متابعتك الجيدة للموضوعات المختلفة

تقبلوا وافر تقديري واحترامي

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

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

يسعدنى المشاركة معكم فى هذا الموضوع الشيق

أولا : فى حالة وجود الفراغات نستخدم هذا الكود

Sub Transpose_RG()
Dim i As Integer
Dim LR As Integer
Dim arr() As Variant
'=============================================================
[B1:B1000].ClearContents
LR = Cells(Rows.Count, 1).End(xlUp).Row
ReDim arr(1 To LR)
'=============================================================
For i = LR To 1 Step -1
    arr(LR + 1 - i) = Cells(i, 1)
Next
[B1].Resize(LR) = Application.WorksheetFunction.Transpose(arr)
End Sub

وفى حالة اهمال الفراغات نستخدم الكود التالى

Sub Transpose_RG()
Dim i As Integer
Dim ii As Integer
Dim LR As Integer
Dim arr() As Variant
'=============================================================
[B1:B1000].ClearContents
LR = Cells(Rows.Count, 1).End(xlUp).Row
'=============================================================
For i = LR To 1 Step -1
    If Not IsEmpty(Cells(i, 1)) Then
        ii = ii + 1
        ReDim Preserve arr(1 To ii)
        arr(ii) = Cells(i, 1)
    End If
Next
[B1].Resize(ii) = Application.WorksheetFunction.Transpose(arr)
End Sub

 

Transpose.rar

Transpose2.rar

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

جزيت خيراً أخي الغالي رجب جاويش على الكود الرائع .. أعتقد الثاني أفضل حيث يصلح لكلا الحالتين

تقبل تحياتي

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

بارك الله قيك اخي الفاضل رجب

و اسمح لي باضاقة بسيطة على الكود ليتجنب التكرار و يصبح هكذا

Sub Transpose_RG1()
Dim i As Integer
Dim ii As Integer
Dim LR As Integer
Dim arr() As Variant
'=============================================================
[B1:B1000].ClearContents
LR = Cells(Rows.Count, 1).End(xlUp).Row
'=============================================================
For i = LR To 1 Step -1

 x = Application.WorksheetFunction.CountIf(Range("a1:a" & i), Cells(i, 1))
 If x > 1 Or Cells(i, 1) = Empty Then GoTo 1

        ii = ii + 1
        ReDim Preserve arr(1 To ii)
        arr(ii) = Cells(i, 1)
1:
Next
[B1].Resize(ii) = Application.WorksheetFunction.Transpose(arr)


End Sub

 

تم تعديل بواسطه سليم حاصبيا
  • Like 3
رابط هذا التعليق
شارك

اخي محسن الامر ليس متعلقاً بالعدد 6 او 7 أو 50 

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

و الا لما لزوم كل ذلك حيث ان  هناك مغادلة أو بالاحرى معادلات تستطيع ان تفي بالغرض

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

أخي الكريم محسن ..

يرجى تغيير اللقب من 33 للقب يعبر عن شخصكم الكريم

وبارك الله على فكرتك الجميلة .. بالفعل فكرة جميلة وبسيطة ورائعة وتؤي الغرض بشكل بسيط جداً

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

أخي الحبيب سليم بارك الله فيك على حلولك المميزة والرائعة .. لا حرمنا الله منك أبداً

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

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

هذه مشاركتي

اكيد الاخوان افضل مني

افترضت العمود  من B4 الى B28

اريد ان اقلب النتيجة في العمود C

هذا ما جادت به قريحتي

Sub Try()
    Dim xx, dd
    dd = 28
    For xx = 4 To 28
        Cells(xx, 3) = Cells(dd, 2)
        dd = dd - 1
    Next
End Sub

 

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

أخي الفاضل أبو تركي

حل جميل ورائع ويدل على تمكن في استخدام الحلقات التكرارية ..

تقبل وافر تقديري واحترامي

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

أبي الغالي أبو يوسف

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

أخي الفاضل أبو تركي

مشكور على كلماتك الطيبة ولا تنسى أن مشوار الألف ميل بيبدأ بخطوة والحمد لله إنت ابتديت أكتر من خطوة .. لأن بالفعل التعامل مع الحلقات التكرارية يحتاج لذهن صافي .. في بداية تعلمي للبرمجة كنت أعاني من الحلقات التكرارية (كانت بتخلي دماغي بتلف) لحد ما استوعبتها

تقبلوا وافر تقديري واحترامي

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

أخي الحبيب الجموعي

أخيراً شاركت معنا في موضوع البحث .. والحل المقدم جميل جداً ورائع

تقبل وافر تقديري واحترامي

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

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