PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : جستجو و انتقال چند سطر در یک سل بصورت زیر هم در چند خط



shamsololama
2011/05/11, 07:39
با درود فراوان
این سئوال که دوست عزیز در قسمت تریبون آزاد مطرح فرموده بودن را به این قسمت انتقال دادم

.................................................. .بنیامین
با سلام و عرض خسته نباشید میخواستم بپرسم چطور میتونیم متن های مورد دلخواه رو از یکی از ستونهای یک جدول بر اساس شروطی(بر اساس ستونهای دیگر جدول) جدا و با هم ترکیب کنید و جواب در یک سلول داده شود.
دوستان؛ من مدت چند روزه که با این مشکل دارم دست و پنجه نرم میکنم و اگر کسی بتونه حلش کنه هزینه رو هم پرداخت میکنم .
ضمناً یک فایل آزمایشی هم برای فهم بهتر دارم که 13 kb بیشتر حجم نداره.

لطفاً کمکم کنید.

با تشکر...
beni202002@yahoo.com 09177137658


....................جواب استاد علی محمدی
RE: تریبون آزاد "
در تکمیل صحبت های این دوستمون باید بگم فرض کنید با یک روشی وقراردادن شرطی فهمیدیم که اطلاعات ما در ردیف های 5و7و9و10و15 قرار دارد حالا چطور متنهای را که در ستون سوم این ردیف ها هستند را با همدیگر ترکیب نماییم . فرمول را باید به نحوی بنویسیم که اگر شرط ها تغییر نمود جواب صحیح با استفاده از فرمول قابل دسترسی باشد [hr]
با درود فراوان

در این مورد راه حلی که به نظر من رسیده اینه که یه تابع جدید را تعریف کرده و این کار را انجام دهیم
برای اینکه در این مثال در ستون اول ماه های سال نوشته شده و در ستون دوم روزهای ماه و ستون سوم مطالبی که در مورد هر روز از ماه هست نوشته شده
طی صحبتی که جناب آقای بنیامین داشتم سئوال به این صورت بود که مثلا اگر برای روز 2 از ماه یکم پنج مطلب داشته باشیم یعنی در پنج سطر روز مطالب مختلفی را برای روز دوم داشته باشیم تابع ما بتواند وقتی که روز دوم و از ماه فروردین مد نظر ماست هرچند مطلب که در روزها یدوم فرودین در ردیف های مختلف داریم را جستجو کرده و همه را در یک سل ولی در سطرهای مختلف و زیر هم بیاورد

ماه روز مطلب
1 2 مطلب1
1 2 مطلب2
1 2 مطلب3
1 2 مطلب4
1 3 مطلب1
2 1 مطلب1
2 2 مطلب2
3 4 مطلب1
4 10 مطلب1

جواب
ماه روز جواب

1 2 مطلب1
مطلب2
مطلب3
مطلب4
و می بایست این جواب در یک سل به این صورت نوشته شود

توضیح که در مورد سئوال خدمتان دادم برای اینکه اگر دیگر دوستان و استاتید محترم راه حل دیگری نیزدر نظر داشنتد لطف کنند و راهنمایی بفرمایند.


جواب :


با استفاده از این تابع می توانی جواب مورد نظر خود را در یک سل دریافت کنید
=ch(Rooz , Mah morede nazar , Rangi ke rooz dar an gharar darad , Faseleh range entekhab shodeh ta range mah , Faseleh range entekhab shodeh ta range javab)
مثال
=ch(A4,$B$1,Sheet1!C2:C27,-1,1)
فایل نمونه هم براتون ضمیمه کردم

برای اینکه بتوانید از این تابع استفاده کنید کد زیر را در فایل خود وارد کنید


Function ch(a, b, d As Range, m, n)
Dim c
ch = ""
For Each c In d
If c = a And c.Offset(0, m) = b Then
If ch = "" Then
ch = c.Offset(0, n)
Else
ch = ch & Chr(10) & c.Offset(0, n)
End If
End If
Next c
'
End Function

توجه :
برای اینکه جواب را در چند سطر ببینید می بایست فرمت سل ها را
wrap text
قرار دهید.
موفق باشید


فایل نمونه:

[attachment=233]

mr.mahlouji
2011/05/11, 13:30
با سلام
بارها و بارها گفته ام كه واقعا استادي برازنده شما ست.
از شاگردي شما بخود مي بالم.

shamsololama
2011/05/11, 17:21
با درود فراوان
دوست خوبم این نظر لطف شماست