اذهب الي المحتوي
أوفيسنا

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


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

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

إخواني أحبابي في الله

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

أرجو من الجميع المشاركة وعدم التكاسل ... لا أريد مجرد ردود وفقط .. أريد من الجميع تقديم ولو معلومة بسيطة تثري الموضوع ، فلربما وجد الأخوة الحلول من مجرد فكرة بسيطة

موضوع الأسبوع هو كيفية عكس القيم في عمود .. لنفترض أن لدينا القيم التالية في النطاق A1:A6

Yasser
15
Khalil
Hello
Nader
Bye

المطلوب أن تكون القيم في العمود المجاور له العمود B بالشكل التالي

Bye
Nader
Hello
Khalil
15
Yasser

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

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

أنا أوّل المجيبين بهذه المعادلة (البيانات في العامو د A)  وتوضع المعادلة في اي مكان تريد

=INDEX($A$1:$A$6,ROWS(A1:$A$6))

و اذا اردتها افقية اكتب هذه(برده اينما تريد)

=INDEX($A$1:$A$6,COLUMNS(A1:$F$6))

 

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

بارك الله فيك أخي الحبيب سليم ومشكور على المبادرة

حاول تسحب المعادلة لأبعد خلية ستجد أن هناك نتائج بعد النطاق .. اسحب مثلاُ من الخلية B1:B20 ولاحظ النتائج

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

احي ياسر انت اقترحت فقط 6 خلايا ،وانا اشتغلت على هذا الاساس

اذا كنت تريد اكثر انظر الى هذا الملف

 

جدول مقلوب.rar

او ربما هذه المعادلة ابسط قليلاً

=IF(ROWS($A$1:A1)>COUNTA(A:A),"",INDEX(A:A,COUNTA(A:A)-ROWS($A$1:A1)+1))

 

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

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

عندما نطرح موضوع فنحن نتعامل دائماً مع النطاقات بشكل ديناميكي ليكون الحل المقدم مرن ويفيد الجميع بدون أن يضطر المستخدم العادي إلى التعديل

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

وإضافة بسيطة

جرب المعادلة بهذا الشكل

=IFERROR(OFFSET($A$1,COUNTA($A:$A)-ROW(),),"")

في انتظار المزيد من الحلول بالمعادلات أو بالأكواد أو بأي طريقة ..

تقبل تحياتي

 

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

شوف يا عم ابو البراء انت عمال تجيبلنا موضوعات صعبه

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

=OFFSET(A1;5;0)

حاولت اعمل مصفوفه معرفتش

حاولت اظبطها باوفيست فى Vba برضه معرفتش

يالا مش مشكله هنحاول تانى

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

والنبى والنبى يا استاذ امتحنا امتحان سهل احنا ساقطين لوحدنا ههههههههههههههههههههههه

 

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

14 دقائق مضت, ياسر خليل أبو البراء said:

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

عندما نطرح موضوع فنحن نتعامل دائماً مع النطاقات بشكل ديناميكي ليكون الحل المقدم مرن ويفيد الجميع بدون أن يضطر المستخدم العادي إلى التعديل

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

وإضافة بسيطة

جرب المعادلة بهذا الشكل


=IFERROR(OFFSET($A$1,COUNTA($A:$A)-ROW(),),"")

في انتظار المزيد من الحلول بالمعادلات أو بالأكواد أو بأي طريقة ..

تقبل تحياتي

 

احي ياسر تعال نعقد (اعني نجغل له عقده) للموضوع 

ماذا لو كان هناك خلايا فارغة بين البيانات ونريد ان نتجنبها    انا عندي الحل (همتك بقى يا ابو الراء مع الاخوان)

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

أخي الكريم أحمد

الموضوع للبحث .. مش للحل وبس .. يعني إحنا مش بنستنى من الاخوة تقديم حلول من عندهم ..

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

أرجو أن تكون وصلت الفكرة

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

اخوانى الاعزاء

اشارككم الكود الجميل ده

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

طبعا انتم الاساتذه تعرفونا ايه استعملاتها رابط المصدر

رابط الاداه للتحميل

Sub FlipColumns()
'Updateby20131126
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

بالتوفيق اخوانى

تم تعديل بواسطه أحمد الفلاحجى
لإضافة رابط المصدر
  • Like 2
رابط هذا التعليق
شارك

بسم الله ما شاء الله

بدأت بشاير البحث تبان يا فلاحجي

إحنا قولنا تكون النتائج في العمود المجاور

بس التعديل هيكون بسيط ...في آخر سطر غيره إلى التالي لكي تظهر النتائج في العمود المجاور

WorkRng.Offset(, 1).Formula = Arr

تقبل تحياتي

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

جزاك الله كل خير على التعديل

وزى ما انت عارف انا على قدى فامتعتبش عليا

دى معادله بس عاوزه برضه شويه ظبط منكم

=LOOKUP(REPT(“z”;99);CHOOSE({1,2};””;IF(ROWS(E$4:E4)<=F$1;INDEX(costcenter;MODE(IF((costcenter<>””)*ISNA(MATCH(costcenter;E$3:E3;0));MATCH(costcenter;costcenter;0)*{1;1})));””)))

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

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

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

تقبل تحياتي

 

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

41 دقائق مضت, أحمد الفلاحجى said:

جزاك الله كل خير على التعديل

وزى ما انت عارف انا على قدى فامتعتبش عليا

دى معادله بس عاوزه برضه شويه ظبط منكم


=LOOKUP(REPT(“z”;99);CHOOSE({1,2};””;IF(ROWS(E$4:E4)<=F$1;INDEX(costcenter;MODE(IF((costcenter<>””)*ISNA(MATCH(costcenter;E$3:E3;0));MATCH(costcenter;costcenter;0)*{1;1})));””)))

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

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

بعد إذنك شوف المعادله دى هيا شغاله بس ملخبطه مش عارف ليه

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

أخي الكريم أحمد

ضع المعادلة في ملف المرفق مطبقة فيه للإطلاع عليها حيث أنني لا أدري ما هو النطاق costcenter .. غير إن عندي بتعامل بالفاصلة العادية مش المنقوطة

ارفق ملف أفضل حتى يوفر الوقت معي

تقبل تحياتي

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

بصبح على الغالى

هديه لحبيبى واخى الغالى ابو البراء احلى مجموعة اكواد

* فى كود واحد لم استطع تجربته فايريت تقلى الطريقه انا كاتب عليه ملحوظه

Sub Demo1()
    VA = [A1:A4].Value
    [B1:B4].Value = Application.Transpose(Array(VA(4, 1), VA(3, 1), VA(2, 1), VA(1, 1)))
End Sub

'==============================================================================

Sub Demo2()
    [B1:B4].Value = Evaluate("{""" & [A4].Value & """;""" & [A3].Value & """;""" & [A2].Value & """;""" & [A1].Value & """}")
End Sub

'===============================================================================

Sub Test()
    Dim Arr, Temp, I As Long, P As Long
    Arr = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    ReDim Temp(UBound(Arr) - 1)
   
    For I = UBound(Arr) To LBound(Arr) Step -1
        Temp(P) = Arr(I, 1)
        P = P + 1
    Next I
   
    Range("B1").Resize(UBound(Arr)).Value = Application.Transpose(Temp)
End Sub

'==============================================================================

Sub test()
    With Range("a1", Range("a" & Rows.Count).End(xlUp))
        .Offset(, 1).Value = Application.Index(.Value, Evaluate("if(row(" & .Address & "),large(row(" & .Address & "),row(1:" & .Rows.Count & ")))"))
    End With
End Sub

'================================================================================

'ملحوظه الكود ده لم استطع تجربته فما ى طريقته 
B1: =OFFSET($A$1,COUNTA($A:$A)-ROW(),)
Copy down

'================================================================================

Public Sub InvertUsingArrayList()
Dim objArrList As Object: Set objArrList = CreateObject("System.Collections.ArrayList")
Dim reverseArr
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    objArrList.Add Range("A" & i).Value
Next i
objArrList.Reverse
reverseArr = objArrList.ToArray
Range("B1:B" & Range("A" & Rows.Count).End(xlUp).Row).Value = Application.Transpose(reverseArr)
End Sub

'================================================================================

Sub test()
    Dim a, i As Long, temp
    With Range("a1", Range("a" & Rows.Count).End(xlUp))
        a = .Value
        For i = 1 To UBound(a, 1) \ 2
            temp = a(UBound(a, 1) - i + 1, 1)
            a(UBound(a, 1) - i + 1, 1) = a(i, 1): a(i, 1) = temp
        Next
        .Offset(, 1).Value = a
    End With
End Sub

'================================================================================

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

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

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

أساتذتي الكرام ...أخي الحبيب أبو البراء جزاكم الله خيراً على ما تتفضلون به من أعمال تنهض بحركة الفكر العربي "البرمجي"

أما بالنسبة لي فتحرك بي سرعة البحث عن فكرة لأطبقها وفقاً لما تطلبون أو تقترب منها

عكس القيم :

1- نكتب القيم التي نريد في العمود A من A1:A6

2- ننسخها إلى العمود B من B1:B6

3- نكتب في موديول الكود التالي:

Sub FlipColumns()
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "عكس القيم"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("المدى", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

4- نضغط F5 أو Run من يطلب تحديد المدى وهنا من  B$1:$b$6 $ ثم موافق فنحصل على النتيجة المقاربة لطلبكم الكريم.

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

 

نتيجة بحث الصور عن فليحلف بالله او ليصمت

عكس القيم.rar

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

صباح الخيرات

جزاك الله خيرا ابو يوسف

هو نفس الكود اللى ارفقته ولكن بدون استخدام الاداه

وتعديل كما اشار اخى ابو البراء فى السطر الاخير فقط ليتم العكس فى عمود b

WorkRng.Offset(, 1).Formula = Arr

 

طبتم واهتديتم

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

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

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

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

بن علية

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

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

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

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

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

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

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

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

 

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

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

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