نمایش 20 داده ی آخر در نمودار

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

    • 2018/11/14
    • 24
    • 44.00

    پرسش نمایش 20 داده ی آخر در نمودار

    سلام من یک جدول دارم که بر اساس تاریخ هر روز داده داخلش وارد میشه
    از رو این داده ها یک نمودار نمایش داده میشه
    حالا تعداد روزها زیاد شده و من میخوام فقط 20 یا 30 روز آخر رو روی نمودار بیاره
    چیکار باید کنم؟
  • hadi1980

    • 2019/01/07
    • 237
    • 86.00

    #2
    سلام
    روي محور موردنظر کليک راست کنيد و format axis رو انتخاب کنيد
    اينجا امکان تنظيم کمترين مقدار محور هست و کافيه اونو در بخش minimum وارد کنيد

    کامنت

    • ali_gh1392

      • 2018/11/14
      • 24
      • 44.00

      #3
      نوشته اصلی توسط hadi1980
      سلام
      روي محور موردنظر کليک راست کنيد و format axis رو انتخاب کنيد
      اينجا امکان تنظيم کمترين مقدار محور هست و کافيه اونو در بخش minimum وارد کنيد
      نه من منظورم این بود که هر روزی که اطلاعات بروز میشه خودش 20 روز اخر رو نمایش بده نه که خودم دستی انتخاب کنم

      کامنت

      • hadi1980

        • 2019/01/07
        • 237
        • 86.00

        #4
        سلام مجدد
        از اين کد استفاده کنيد
        اون df در اول برنامه همون تعداد روزهايي هست که از آخر تو نمودار نمايش داده ميشه
        فرض اينه که داده‌ها در Chart 1 نمايش داده شده اند و در سلولهاي A1 تا Bn منظورم از n هم اينه که ميتونه هرچند رديف باشه مثلا 10000 که برنامه خودش پيداش ميکنه
        کد:
        Sub Macro1()
        
        
        df = 20
        
        
        'set data set
            temp = Range("A1").End(xlDown).Row
            ActiveSheet.ChartObjects("Chart 1").Activate
            ActiveChart.SetSourceData Source:=Range("A1:B" & temp)
            
        'set axis minimum
            temp = Range("A1").End(xlDown).Value - df
            ActiveChart.Axes(xlCategory).MinimumScale = temp
        End Sub

        کامنت

        • ali_gh1392

          • 2018/11/14
          • 24
          • 44.00

          #5
          نوشته اصلی توسط hadi1980
          سلام مجدد
          از اين کد استفاده کنيد
          اون df در اول برنامه همون تعداد روزهايي هست که از آخر تو نمودار نمايش داده ميشه
          فرض اينه که داده‌ها در Chart 1 نمايش داده شده اند و در سلولهاي A1 تا Bn منظورم از n هم اينه که ميتونه هرچند رديف باشه مثلا 10000 که برنامه خودش پيداش ميکنه
          کد:
          Sub Macro1()
          
          
          df = 20
          
          
          'set data set
              temp = Range("A1").End(xlDown).Row
              ActiveSheet.ChartObjects("Chart 1").Activate
              ActiveChart.SetSourceData Source:=Range("A1:B" & temp)
              
          'set axis minimum
              temp = Range("A1").End(xlDown).Value - df
              ActiveChart.Axes(xlCategory).MinimumScale = temp
          End Sub
          راه راحت تر نداره؟

          کامنت

          • hadi1980

            • 2019/01/07
            • 237
            • 86.00

            #6
            سلام
            اينکه خيلي راحت بود
            اشکال نداره ولي
            فايل پيوست رو استفاده کنيد و داده‌ها رو توي دو ستون اول کپي کنيد
            هروقت اين فايل باز بشه و يا هروقت تغييراتي توي اين شيت بدهيد مثلا رديفي اضافه کنيد يا پاک کنيد يا هرچيز ديگه‌اي، نمودار به‌روز ميشه و فقط 20 داده آخر رو نشون ميده
            اين ديگه خيلي راحت شد
            موفق باشيد
            هادي
            فایل های پیوست شده

            کامنت

            • حسام بحرانی

              • 2013/09/29
              • 2065
              • 72.00

              #7
              نمودار پویا

              نوشته اصلی توسط ali_gh1392
              سلام من یک جدول دارم که بر اساس تاریخ هر روز داده داخلش وارد میشه
              از رو این داده ها یک نمودار نمایش داده میشه
              حالا تعداد روزها زیاد شده و من میخوام فقط 20 یا 30 روز آخر رو روی نمودار بیاره
              چیکار باید کنم؟
              سلام
              علاوه بر روشی که آقا هادی عنوان کردند، اگر شما با نامگذاری محدوده پویا آشنایی داشته باشید

              می تونید نموداری پویا رسم کنید که علاوه بر نمایش نمودار 20 داده ی آخر، حتی میتونید چندین و چند داده ی آخر را نیز نشان دهید.

              در فایل پیوست با انتخاب تعداد روزهای مورد نظر در سلول زرد رنگ، نمودار شما بصورت داینامیک آخرین داده ها را نشان می دهد.

              به فایل پیوست نگاه کنید و اگر خواسته شما را برآورده می کنه و احیاناً در ساخت آن مشکل دارید عنوان کنید تا راهنمایی بشید.
              موفق باشید.
              فایل های پیوست شده
              [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]

              کامنت

              • hadi1980

                • 2019/01/07
                • 237
                • 86.00

                #8
                نوشته اصلی توسط حسام بحرانی
                سلام
                علاوه بر روشی که آقا هادی عنوان کردند، اگر شما با نامگذاری محدوده پویا آشنایی داشته باشید

                می تونید نموداری پویا رسم کنید که علاوه بر نمایش نمودار 20 داده ی آخر، حتی میتونید چندین و چند داده ی آخر را نیز نشان دهید.

                در فایل پیوست با انتخاب تعداد روزهای مورد نظر در سلول زرد رنگ، نمودار شما بصورت داینامیک آخرین داده ها را نشان می دهد.

                به فایل پیوست نگاه کنید و اگر خواسته شما را برآورده می کنه و احیاناً در ساخت آن مشکل دارید عنوان کنید تا راهنمایی بشید.
                موفق باشید.
                با سلام و عرض ادب
                خيلي عالي بود
                و جالب بود چون ازش ياد گرفتم که چقدر قشنگ از دو تا چيز بصورت ظريف استفاده کرده بود (name و format cell)

                کامنت

                • ali_gh1392

                  • 2018/11/14
                  • 24
                  • 44.00

                  #9
                  نوشته اصلی توسط hadi1980
                  سلام
                  اينکه خيلي راحت بود
                  اشکال نداره ولي
                  فايل پيوست رو استفاده کنيد و داده‌ها رو توي دو ستون اول کپي کنيد
                  هروقت اين فايل باز بشه و يا هروقت تغييراتي توي اين شيت بدهيد مثلا رديفي اضافه کنيد يا پاک کنيد يا هرچيز ديگه‌اي، نمودار به‌روز ميشه و فقط 20 داده آخر رو نشون ميده
                  اين ديگه خيلي راحت شد
                  موفق باشيد
                  هادي
                  نوشته اصلی توسط حسام بحرانی
                  سلام
                  علاوه بر روشی که آقا هادی عنوان کردند، اگر شما با نامگذاری محدوده پویا آشنایی داشته باشید

                  می تونید نموداری پویا رسم کنید که علاوه بر نمایش نمودار 20 داده ی آخر، حتی میتونید چندین و چند داده ی آخر را نیز نشان دهید.

                  در فایل پیوست با انتخاب تعداد روزهای مورد نظر در سلول زرد رنگ، نمودار شما بصورت داینامیک آخرین داده ها را نشان می دهد.

                  به فایل پیوست نگاه کنید و اگر خواسته شما را برآورده می کنه و احیاناً در ساخت آن مشکل دارید عنوان کنید تا راهنمایی بشید.
                  موفق باشید.
                  ممنون از اقا حسام و اقا هادی عزیز کارم درست شد
                  فقط من چون میخوام یاد بگیرم اگر لطف کنید بفرمایید دقیقا چیکار کردید ممنون میشم

                  کامنت

                  • hadi1980

                    • 2019/01/07
                    • 237
                    • 86.00

                    #10
                    سلام مجدد
                    خواهش ميکنم
                    با اجازه آقا حسام عزيز
                    ايشون دو تا نام تعريف کردند (توي name manager توي ريبون formula)
                    اين نامها با تابع index (همچنين ميشد از تابع address هم استفاده کرد) محدوده سلولهاي ديناميکي رو به نام ها اختصاص دادند
                    مثلا نوشتند
                    کد:
                    =INDEX(Sheet1!$A$3:$A$151,COUNT(Sheet1!$A$3:$A$151)-Sheet1!$C$2+1):INDEX(Sheet1!$A$3:$A$151,COUNT(Sheet1!$A$3:$A$151))
                    قسمت اول اين تابع index (قبل از دو نقطه) يعني اينکه برو به محدوده a3:a151 نگاه کن (پارامتر اول تابع) و برو به سطر پارامتر دوم تابع (تعداد سلولهاي a3 تا a151 منهاي عددي که تو سلول c2 (منظور همون تعدادي هست که ميخواهيد تو نمودار نشون داده بشه) نوشته شده) و خروجي اين تابع ميشه درواقع ابتداي سري داده‌ها از پايين (يعني مثلا بيست و پنج تا بالاي آخرين سلول)
                    بطور مشابه هم براي انتهاي سري از index استفاده شده (ديگه اون منها رو نميخواد) و قاعدتا بين اونها هم يه : لازمه تا بشن يه محدوده
                    بطور مشابه براي ستون دوم هم همين کار انجام شده
                    خب ديگه همه چي حل شد و کافيه تو نمودار بجاي معرفي سلولهاي مشخص تو select data از اين نامها استفاده کنيد که ايشون اينکار رو کردند
                    آقا حسام صدالبته اين کار رو شما انجام داده بوديد و بنده فقط درس پس دادم
                    موفق باشيد
                    هادي

                    کامنت

                    چند لحظه..