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

تعديل على معادلة CONCATENATE او ايجاد بديل او برمجة معادلة تلبي الطلب


إذهب إلى أفضل إجابة Solved by Ali Mohamed Ali,

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

السلام عليكم 

حسب معادلة CONCATENATE يتم جمع عددة نصوص من عددة خلايا في سطر واحد 

ولكن المشكلة يتم جمعها بشكل يدوي بتحديد يدوي على كل خلية 

احتاج طريقة جمع نصوص في سطر واحد بشرط معين 

يرجى النظر الي الملف الملحق لبيان المثال المطلوب

 ورقة عمل Microsoft Excel جديد ‫‬.xlsx

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

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

تفضل اخوي العزيز

المعادلة الاولى

=TEXTJOIN("; ",1,REPT($E$6:$E$19,($D$6:$D$19=I6)+0))

المعادلة الثانية

=TEXTJOIN("; ",1,IF($D$6:$D$19=I7,$E$6:$E$19,""))

ورقة عمل Microsoft Excel جديد __.xlsx

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

  • أفضل إجابة

بعد اذن الأستاذ خيماوى ولإثراء الموضوع يمكن ذلك بهذه المعادلة المعرفة MYVLOOKUP

فعليك بفتح مديول جديد ووضع هذا الكود به

وبالطبع فمعادلة الأستاذ خيماوى تعمل بكفاءة ولكن يظهر هذا الخطأ معك لأنك لم تستخدمة نسخة 365 من الأوفيس فهذه المعادلة موجودة بهذه النسخة فقط

Function MYVLOOKUP(lookupval, lookuprange As Range, indexcol As Long)
Dim r As Range
Dim result As String
result = ""
For Each r In lookuprange
If r = lookupval Then
result = result & " " & r.Offset(0, indexcol - 1)
End If
Next r
MYVLOOKUP = result
End Function

وعليك بوضع هذه المعادلة بداية من الخلية J7 سحباً للأسفل

=MYVLOOKUP($I7,$D$6:$E$190,2)

ورقة عمل Microsoft Excel جديد __.xlsm

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

اعتقد  هذا  ما  تريده   بدون  حلقات تكرارية 

Sub merge()
Range("j6").Formula = "'" & Join(Application.Transpose(Range("e6:e" & Range("e" & Rows.Count).End(xlUp).Row)), ", ")
End Sub

new.xlsm

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

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

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

Important Information