نحوه استفاده از توابع جستجو

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • erfan_0
    • 2020/06/25
    • 4

    پرسش نحوه استفاده از توابع جستجو

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

    دو رشته از اعداد تصادفی با فاصله های تصادفی در دو ستون a,b داریم.در ستون c فرمولی رو میخواییم که

    1- ردیف نزدیک ترین عدد از ستون a رو پیدا کنه که اینجا میشه row=1 .
    2- به ستون b بره و نزدیکترین ردیف حاوی عدد که بزرگتر از ردیف قبلی که پیدا کرده بود (row=1) رو پیدا کنیم که میشه row= 3.
    3- مجدد به ردیف a برگرده و نزدیکترین ردیف حاوی عدد که بزرگتر از ردیف قبلی (row=3) بود رو پیدا کنیم که میشه (row=4).
    4-و همینطور تا اخر.

    دوستان بنظرتون این توضیح درستی برای صورت مساله هست؟؟؟ برای این مساله از چه توابعی باید استفاده کرد؟ من میتونم نزدیکترین عدد رو پیدا کنم. یه چیزی مثل این:
    کد:
    {row(index(a1:a14,match(true,a1:a14>0,0)))=}
    اما بذهنم نمی رسه چطور شرط "بزرگتر از ردیف قبلی" رو میتونم پیاده کنم؟

    و در آخر میشه راه حل متفاوت دیگه ای برای این مساله پیدا کرد؟
    ممنون میشم اگه بتونید منو راهنمایی کنید.




    Click image for larger version

Name:	q.png
Views:	1
Size:	4.6 کیلو بایت
ID:	148877
  • saed.rasa

    • 2014/11/02
    • 1054

    #2
    سلام

    به انجمن محبوب اکسل ایران، خوش آمدید!

    بهتر است دقیقا هدف از این کار بگی الان طبق شرط شما ردیف 16 یعنی 5 بزرگتر است از ردیف 15 یعنی 1
    چرا شرط شما رعایت نشده ؟؟؟
    بیشتر توضیح دهید و از پایین سمت چپ - تنظیمات اضافی - فایل پیوست یک فایل نمونه می توانید قرار دهید
    مرسی
    [FONT=arial][SIZE=3]اگر کسی به شما کمک کرد، سمت راست پایین هر موضوع تیک [COLOR=#0000cd][B]«3پاس»[/B][/COLOR] یادتان نرود لطفا
    اگر مشکل تان حل شد، حتما تیک سبز رنگ [B][COLOR=#00cc00]«حل شد»[/COLOR][/B] در پست اول را بزنید
    [/SIZE][/FONT][SIZE=3][CENTER][FONT=arial]
    [/FONT][/CENTER]
    [/SIZE][FONT=arial][SIZE=3] اگر میخواهید بهتر و دقیق تر و سریع تر به شما کمک شود، یک [COLOR=#ee82ee][B]«فایل نمونه»[/B][/COLOR] قرار دهید
    فایل نمونه: حداکثر [U][COLOR=#ff0000]50 [/COLOR][/U]کیلوبایت - کوتاه، تقریبا [U][COLOR=#ff0000]10 [/COLOR][/U]سطری - به همراه جواب یا خروجی یا نتیجه مورد انتظار[/SIZE][/FONT][CENTER][FONT=arial][COLOR=#0000ff][SIZE=3][SIZE=3][SIZE=3][SIZE=3]مسیر ارسال فایل : پایین سمت چپ - تنظیمات اضافی - فایل پیوست[/SIZE][/SIZE][/SIZE] [/SIZE][/COLOR]
    [/FONT][/CENTER]

    کامنت

    • erfan_0
      • 2020/06/25
      • 4

      #3
      ممنون از توجهتون دوست عزیر.
      ببینید اعداد کاملا رندوم هستند و و اصلا مهم نیست که کدومشون بزرگتر یا کوچکتر هستن. منظورم از "بزرگتر از ردیف قبلی" بزرگتر بودن ردیف ROW بود نه خود مقدار.
      برای ساده تر شدن مساله اول اعداد بالا رو به ROW تبدیل کنیم.
      کد:
      =IF(A2>0,ROW(INDEX(A2:A14,MATCH(TRUE,A2:A14>0,0))),"")
      پس بصورت پیوست زیر میشه :

      Click image for larger version

Name:	q_1.png
Views:	1
Size:	7.2 کیلو بایت
ID:	137931

      حالا سوال میتونه اینطور باشه:

      از ستون a شروع میکنیم و نزدیکترین عدد رو انتخاب کن. ROW=2
      از ستون B نزدیکترین عدد رو انتخاب کن ROW=4
      از ستون A نزدیکترین عدد "بزرگتر از ردیف قبلی" (ROW=3) رو پیدا کن : ROW=5
      از ستون b نزدیکترین عدد "بزرگتر از ردیف قبلی" (ROW=5) رو پیدا کن: ROW=6
      از ستون A نزدیکترین عدد "بزرگتر از ردیف قبلی" (ROW=6) رو پیدا کن: ROW=11
      از ستون A نزدیکترین عدد "بزرگتر از ردیف قبلی" (ROW=11) رو پیدا کن: ROW=16
      فایل های پیوست شده

      کامنت

      • saed.rasa

        • 2014/11/02
        • 1054

        #4
        بازم من متوجه نشدم دنبال چی هستید ؟
        و هنوز هدف از این کار نگفته اید !
        به نظرم نیاز به فرمول آرایه ای نیست به فرمول ساده زیر توجه کنید لطفا
        بهتر است اگر نیاز به فرمول داری دقیقا بگی چه می خواهید ؟
        فایل های پیوست شده
        [FONT=arial][SIZE=3]اگر کسی به شما کمک کرد، سمت راست پایین هر موضوع تیک [COLOR=#0000cd][B]«3پاس»[/B][/COLOR] یادتان نرود لطفا
        اگر مشکل تان حل شد، حتما تیک سبز رنگ [B][COLOR=#00cc00]«حل شد»[/COLOR][/B] در پست اول را بزنید
        [/SIZE][/FONT][SIZE=3][CENTER][FONT=arial]
        [/FONT][/CENTER]
        [/SIZE][FONT=arial][SIZE=3] اگر میخواهید بهتر و دقیق تر و سریع تر به شما کمک شود، یک [COLOR=#ee82ee][B]«فایل نمونه»[/B][/COLOR] قرار دهید
        فایل نمونه: حداکثر [U][COLOR=#ff0000]50 [/COLOR][/U]کیلوبایت - کوتاه، تقریبا [U][COLOR=#ff0000]10 [/COLOR][/U]سطری - به همراه جواب یا خروجی یا نتیجه مورد انتظار[/SIZE][/FONT][CENTER][FONT=arial][COLOR=#0000ff][SIZE=3][SIZE=3][SIZE=3][SIZE=3]مسیر ارسال فایل : پایین سمت چپ - تنظیمات اضافی - فایل پیوست[/SIZE][/SIZE][/SIZE] [/SIZE][/COLOR]
        [/FONT][/CENTER]

        کامنت

        • erfan_0
          • 2020/06/25
          • 4

          #5
          ممنون از لطف توجهتون جناب saed.rasa

          ببینید قراره یه زنجیره ای از اعداد زیر رو داشته باشیم:
          Click image for larger version

Name:	11.png
Views:	2
Size:	9.3 کیلو بایت
ID:	137933

          که در ستون c قرا بگیرند. که برا مثال ما میشه دنباله : 1و3و4و7و5و1و8و9.

          خروجی ها هم قراره با هم جمع بشن :

          Click image for larger version

Name:	111.png
Views:	1
Size:	15.2 کیلو بایت
ID:	137934

          ینی خیلی ساده : از ستون a شروع می کنم و نزدیکترین مقدار (تاکید می کنم نزدیکترین مقدار) رو پیدا و جایگذاری میکنیم(= C1) و بعد تمامی اعداد زیر اون رو تا زمانی که ستون B مقداری پیدا کنه ایگنور میکنیم و میریم ستون b. و بعد برعکس؛از ستون b شروع می کنم و نزدیکترین مقدار (تاکید می کنم نزدیکترین مقدار) رو پیدا و جایگذاری میکنیم(= C2) و بعد تمامی اعداد زیر اون رو تا زمانی که ستون a مقداری پیدا کنه ایگنور میکنیم.


          به تصویر بالا و فلش هایی که زدم هم توجه کنید قضیه قابل فهم تر میشه.

          کامنت

          • saed.rasa

            • 2014/11/02
            • 1054

            #6
            ستون c , d را برات می تونم درست کنم با فرمول دهی اما c (قرمزها) باید بگی براساس چه شرطی باید بیان بیرون ؟؟
            نزدیکترین مقدار به چی ؟؟؟
            به کدام عدد؟؟؟
            به کدام شرط؟؟؟
            آیا منظورت ردیف بالایی در هر ستون است ؟تابع row() اعداد را سعودی نشان میدهد مثل 1و2و3و4...
            باید منطق و قاعده اون اعداد قرمز را به من بگی تا بتونم کمکت کنم!
            [FONT=arial][SIZE=3]اگر کسی به شما کمک کرد، سمت راست پایین هر موضوع تیک [COLOR=#0000cd][B]«3پاس»[/B][/COLOR] یادتان نرود لطفا
            اگر مشکل تان حل شد، حتما تیک سبز رنگ [B][COLOR=#00cc00]«حل شد»[/COLOR][/B] در پست اول را بزنید
            [/SIZE][/FONT][SIZE=3][CENTER][FONT=arial]
            [/FONT][/CENTER]
            [/SIZE][FONT=arial][SIZE=3] اگر میخواهید بهتر و دقیق تر و سریع تر به شما کمک شود، یک [COLOR=#ee82ee][B]«فایل نمونه»[/B][/COLOR] قرار دهید
            فایل نمونه: حداکثر [U][COLOR=#ff0000]50 [/COLOR][/U]کیلوبایت - کوتاه، تقریبا [U][COLOR=#ff0000]10 [/COLOR][/U]سطری - به همراه جواب یا خروجی یا نتیجه مورد انتظار[/SIZE][/FONT][CENTER][FONT=arial][COLOR=#0000ff][SIZE=3][SIZE=3][SIZE=3][SIZE=3]مسیر ارسال فایل : پایین سمت چپ - تنظیمات اضافی - فایل پیوست[/SIZE][/SIZE][/SIZE] [/SIZE][/COLOR]
            [/FONT][/CENTER]

            کامنت

            • erfan_0
              • 2020/06/25
              • 4

              #7
              نوشته اصلی توسط saed.rasa
              نزدیکترین مقدار به چی ؟؟؟
              به کدام عدد؟؟؟
              به کدام شرط؟؟؟
              ببنید بعد از اینکه سلول a مقدار پیدا کرد؛ اولین عدد (یا همون نزدیکترین عدد) بعدی در ستون b رو میخوایم. و برعکس همینطور ادامه پپیدا می کنه.


              اگه واضح تر از این میتونستم بگم دیگه فرمولشو نوشته بودم دیگه!!!

              خودتون یبار دیگه به تصویر نگاه کنین ببینی رابطه کلییرتری میتونید پیدا کنید؟

              Click image for larger version

Name:	11.png
Views:	2
Size:	9.3 کیلو بایت
ID:	137937

              کامنت

              چند لحظه..