محدودیت تعداد شرط در اکسل

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • arash66_2m

    • 2013/10/18
    • 25

    محدودیت تعداد شرط در اکسل

    سلام دوستان
    در نوشتن کد آیا محدویتی هست ؟
    مثلا من اینو می نویسم بدون مشکل اجرا میشه :
    =IF(U8="sec1",Sheet3!H10,IF(U8="sec2",Sheet3!H11,I F(U8="sec3",Sheet3!H12,IF(U8="sec4",Sheet3!H13,IF( U8="sec5",Sheet3!H14,IF(U8="sec6",Sheet3!H15,IF(U 8 ="sec7",Sheet3!H16,IF(U8="sec9",Sheet3!H18))))) )))

    ولی وقتی طولانیش می کنم یعنی این :
    =IF(U8="sec1",Sheet3!H10,IF(U8="sec2",Sheet3!H11,I F(U8="sec3",Sheet3!H12,IF(U8="sec4",Sheet3!H13,IF( U8="sec5",Sheet3!H14,IF(U8="sec6",Sheet3!H15,IF(U 8 ="sec7",Sheet3!H16,IF(U8="sec8",Sheet3!H17,IF(U 8=" sec9",Sheet3!H18,IF(U8="sec10",Sheet3!H19,IF(U8="s ec11",Sheet3!H20,IF(U8="sec12",Sheet3!H21,IF(U8="s ec13",Sheet3!H22,IF(U8="sec14",Sheet3!H23,IF(U8="s ec15",Sheet3!H24)))))))))))))))

    قبول نمی کنه
    مشکل از کجاست ؟
    ممنون
  • Amir Ghasemiyan

    • 2013/09/20
    • 4599
    • 100.00

    #2
    نوشته اصلی توسط arash66_2m
    سلام دوستان
    در نوشتن کد آیا محدویتی هست ؟
    مثلا من اینو می نویسم بدون مشکل اجرا میشه :
    =IF(U8="sec1",Sheet3!H10,IF(U8="sec2",Sheet3!H11,I F(U8="sec3",Sheet3!H12,IF(U8="sec4",Sheet3!H13,IF( U8="sec5",Sheet3!H14,IF(U8="sec6",Sheet3!H15,IF(U 8 ="sec7",Sheet3!H16,IF(U8="sec9",Sheet3!H18))))) )))

    ولی وقتی طولانیش می کنم یعنی این :
    =IF(U8="sec1",Sheet3!H10,IF(U8="sec2",Sheet3!H11,I F(U8="sec3",Sheet3!H12,IF(U8="sec4",Sheet3!H13,IF( U8="sec5",Sheet3!H14,IF(U8="sec6",Sheet3!H15,IF(U 8 ="sec7",Sheet3!H16,IF(U8="sec8",Sheet3!H17,IF(U 8=" sec9",Sheet3!H18,IF(U8="sec10",Sheet3!H19,IF(U8="s ec11",Sheet3!H20,IF(U8="sec12",Sheet3!H21,IF(U8="s ec13",Sheet3!H22,IF(U8="sec14",Sheet3!H23,IF(U8="s ec15",Sheet3!H24)))))))))))))))

    قبول نمی کنه
    مشکل از کجاست ؟
    ممنون

    سلام دوست عزيز
    متن خطايي كه ميده رو بذارين لطفا
    تا جايي كه من امتحان كردم اين فرمول بدون مشكل كار ميكنه.
    کد:
    =IF(U8="sec1",Sheet3!H10,IF(U8="sec2",Sheet3!H11,IF(U8="sec3",Sheet3!H12,IF(U8="sec4",Sheet3!H13,IF(U8="sec5",Sheet3!H14,IF(U8="sec6",Sheet3!H15,IF(U8="sec7",Sheet3!H16,IF(U8="sec8",Sheet3!H17,IF(U8=" sec9",Sheet3!H18,IF(U8="sec10",Sheet3!H19,IF(U8="s ec11",Sheet3!H20,IF(U8="sec12",Sheet3!H21,IF(U8="s ec13",Sheet3!H22,IF(U8="sec14",Sheet3!H23,IF(U8="s ec15",Sheet3!H24)))))))))))))))

    کامنت

    • حسام بحرانی

      • 2013/09/29
      • 2065
      • 72.00

      #3
      سلام،
      همانطور که آقای قاسمیان گفتند؛ فرمول شما مشکلی نداره فقط در تایپ
      sec9 و sec13 و sec15 در فرمول، از space استفاده شده که اونا رو نمیتونه پیدا کنه که باید اصلاح بشه. یکی از معایب استفاده از فرمول های شرطی تو در تو، افزایش ضریب خطاست. اگر بتونید با اضافه کردن یک ستون کمکی در کنار ستون H در شیت3 ، sec ها رو قرار بدید، به راحتی و با یک فرمول جستجو ( مانند vlookup ) و بدون اشتباه میتونید به جواب برسید.
      موفق باشید.
      [CENTER][B][SIZE=5][COLOR=#006600][FONT=georgia][COLOR=#800000]!With [/COLOR][/FONT][/COLOR][COLOR=#006600][FONT=georgia]God [/FONT][/COLOR][COLOR=#006600][FONT=georgia][COLOR=#800000]all [/COLOR][/FONT][/COLOR][COLOR=#800000][FONT=georgia]things are [/FONT][/COLOR][COLOR=#006600][FONT=georgia]possible[/FONT][/COLOR][/SIZE][/B][B][FONT=Tahoma]
      [/FONT][/B][/CENTER]
      [CENTER][B][FONT=Tahoma] [IMG]http://forum.exceliran.com/attachment.php?attachmentid=5334&d=1419428336[/IMG]
      [/FONT][/B][SIZE=1][FONT=Tahoma][B][FONT=Tahoma]
      [/FONT][/B][/FONT][/SIZE]
      [/CENTER]

      کامنت

      • arash66_2m

        • 2013/10/18
        • 25

        #4
        سلام. بابت معرفی تابع جدید باید اونو هم کار کنم شاید کارساز باشه برام
        ممنون
        ولی اروری که میده اینه :

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4599
          • 100.00

          #5
          نوشته اصلی توسط arash66_2m
          سلام. بابت معرفی تابع جدید باید اونو هم کار کنم شاید کارساز باشه برام
          ممنون
          ولی اروری که میده اینه :
          [ATTACH=CONFIG]5044[/ATTACH]
          پسوند فايلتون چيه؟ xls ؟

          کامنت

          • arash66_2m

            • 2013/10/18
            • 25

            #6
            بله

            کامنت

            • khakzad

              • 2010/03/17
              • 2034
              • 85.00

              #7
              اکسل 2007 به بعد محدودیتی در if های تودرتو داره و اونم 64 تا هست
              اما به نظر میاد برای شما به 64 نمی رسه.
              در هر صورت فایل رو بذارید
              قطعا راه های بهتری هم هست که این همه ایف لازم نباشه
              [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

              [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
              [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
              :wcom:

              [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
              [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
              [/CENTER]

              کامنت

              • Amir Ghasemiyan

                • 2013/09/20
                • 4599
                • 100.00

                #8
                نوشته اصلی توسط khakzad
                اکسل 2007 به بعد محدودیتی در if های تودرتو داره و اونم 64 تا هست
                اما به نظر میاد برای شما به 64 نمی رسه.
                در هر صورت فایل رو بذارید
                قطعا راه های بهتری هم هست که این همه ایف لازم نباشه
                فايلشون 2003 هست خانم خاكزاد

                دوست عزيز شما بايد فايلتون رو با xlsx ذخيره كنيد تا محدوديت هاي ورژن 2003 از بين بره

                کامنت

                • khakzad

                  • 2010/03/17
                  • 2034
                  • 85.00

                  #9
                  واقعا؟!!!
                  نگاه نکردم !!
                  توی 2003 شما بیشتر از 7 تا if نمی تونید بنویسید.
                  [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

                  [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
                  [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
                  :wcom:

                  [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
                  [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
                  [/CENTER]

                  کامنت

                  • arash66_2m

                    • 2013/10/18
                    • 25

                    #10
                    نوشته اصلی توسط amir ghasemiyan
                    فايلشون 2003 هست خانم خاكزاد

                    دوست عزيز شما بايد فايلتون رو با xlsx ذخيره كنيد تا محدوديت هاي ورژن 2003 از بين بره
                    ممنون با این کار درست شد
                    کارم راه افتاد ولی روش دیگه ای هستش به جز vlookup که این کاررو برام انجام بده vlookup جواب نمیده واسه این کار

                    کامنت

                    • Amir Ghasemiyan

                      • 2013/09/20
                      • 4599
                      • 100.00

                      #11
                      نوشته اصلی توسط arash66_2m
                      ممنون با این کار درست شد
                      کارم راه افتاد ولی روش دیگه ای هستش به جز vlookup که این کاررو برام انجام بده vlookup جواب نمیده واسه این کار

                      من دقيق نميدونم كدتون چي هست و چكار ميكنه. اگه فايل باشه بهتر ميشه فهميد ولي با توجه به فرمولي كه گذاشتين فكر كنم اين فرمول براتون مفيد باشه:
                      کد:
                      =INDIRECT("Sheet3!H"&RIGHT(U8,LEN(U8)-3)+9)

                      کامنت

                      • arash66_2m

                        • 2013/10/18
                        • 25

                        #12
                        سلام
                        با این که کارم راه افتاد ولی به دلیل طولانی بودن دستور و ... یه کم اذیت می کنه
                        این تصوریر :
                        Click image for larger version

Name:	Untitled.jpg
Views:	1
Size:	271.7 کیلو بایت
ID:	125002

                        تو یه صفحه دیگه هم من مقدار های Lt رو نوشتم که جلوی sec14 می بینید مقدار برابر 20 هستش .
                        من چطوری میتونم یه دستور راحت و ساده بنویسم که از کشو هر وقت یکی از sec ها رو انتخاب کردم از صفه بعدی مقدار رو بخونه و عدد رو وارد کنه ؟
                        با تشکر

                        کامنت

                        • Amir Ghasemiyan

                          • 2013/09/20
                          • 4599
                          • 100.00

                          #13
                          نوشته اصلی توسط arash66_2m
                          سلام
                          با این که کارم راه افتاد ولی به دلیل طولانی بودن دستور و ... یه کم اذیت می کنه
                          این تصوریر :
                          [ATTACH=CONFIG]5091[/ATTACH]

                          تو یه صفحه دیگه هم من مقدار های Lt رو نوشتم که جلوی sec14 می بینید مقدار برابر 20 هستش .
                          من چطوری میتونم یه دستور راحت و ساده بنویسم که از کشو هر وقت یکی از sec ها رو انتخاب کردم از صفه بعدی مقدار رو بخونه و عدد رو وارد کنه ؟
                          با تشکر
                          سلام
                          چه مقداري رو بره بخونه؟ بيشتر توضيح بدين لطفا

                          کامنت

                          • arash66_2m

                            • 2013/10/18
                            • 25

                            #14
                            نوشته اصلی توسط amir ghasemiyan
                            سلام
                            چه مقداري رو بره بخونه؟ بيشتر توضيح بدين لطفا
                            میخوام اطلاعات رو از ورق دیگه که مقدارش اینا هستش رو به اون جدولی که توضیح دادم ببره

                            Click image for larger version

Name:	Untitled.jpg
Views:	1
Size:	57.8 کیلو بایت
ID:	125003

                            کامنت

                            • Amir Ghasemiyan

                              • 2013/09/20
                              • 4599
                              • 100.00

                              #15
                              نوشته اصلی توسط arash66_2m
                              میخوام اطلاعات رو از ورق دیگه که مقدارش اینا هستش رو به اون جدولی که توضیح دادم ببره

                              [ATTACH=CONFIG]5092[/ATTACH]
                              شما بايد از vlookup استفاده كنيد دوست عزيز

                              کامنت

                              چند لحظه..