نوشتن یک فرمول شرطی

Collapse
X
 
  • زمان
  • Show
Clear All
new posts
  • reza_1001

    • October 2013
    • 86

    نوشتن یک فرمول شرطی

    با سلام خدمت دوستان .....
    فرض کنید که یک سری عدد داریم :
    1
    2
    3
    4
    5
    6
    7
    7
    7
    6
    5
    4
    4
    5
    6
    7
    8
    و.....
    اگر توجه کنید تا عدد 7 سیرش صعودی بوده سپس در عدد 7 توقف کرده و سپس سیرش نزولی شده ودوباره وقتی به 4 رسیده توقف کرده وسپس سیرش صعودی شده .

    حالا سوال بنده اینه که چطورفرمول در vb باید نوشته بشه که:
    اگر اعداد سیرشان صعودی است =A
    اگراعداد توقف کردند=B
    اگراعداد سیرشان نزولی شد=C

    ممنون میشم از دوستان اگر کمکم کنند .
  • Amirsayyafi

    • June 2011
    • 277

    #2
    به وی بی احتیاج نداره. فرض کنید اعداد شما از A1 شروع بشن. در ستون B از سلول B2 شروع کنید فرمول A2-A1 رو بنویسید اگه عدد مثبت بشه یعنی سیر صعودی و اگه منفی بشه سیر نزولی داره و اگه صفر بشه یعنی تغییری نداره. یه If هم بگذارید:

    کد:
    IF(A2-A1>1;"A";IF(A2=A1;"B";"C"))
    Last edited by Amirsayyafi; 2013/10/27, 04:23.

    این نیز بگذرد.

    Comment

    • Somi

      • November 2013
      • 7

      #3
      سلام دوستان


      من میخوام چند تا عدد رو از هم کم کنم و وقتی اختلافشون منفی میشه یا مثبت میشه ، جوابهای منفی رو از جوابهای مثبت جداگانه برام جمع کنه و حاصلجمع اعداد مثبت رو به حاصلجمع منفی ها تقسیم بکنه .

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

      Comment

      • Amir Ghasemiyan

        • September 2013
        • 4475

        #4
        نوشته اصلی توسط Somi
        سلام دوستان


        من میخوام چند تا عدد رو از هم کم کنم و وقتی اختلافشون منفی میشه یا مثبت میشه ، جوابهای منفی رو از جوابهای مثبت جداگانه برام جمع کنه و حاصلجمع اعداد مثبت رو به حاصلجمع منفی ها تقسیم بکنه .

        ممنون از لطف شما


        سلام دوست عزيز
        اگر فقط جواب نهايي رو ميخواين از اين فرمول استفاده كنيد.

        کد:
        =SUM(IF(A1:A8>0;A1:A8;""))/SUM(IF(A1:A8<0;A1:A8;""))
        اگر ميخواين مثبت ها جدا حساب بشه و منفي ها جدا حساب بشه و شما نتيجه رو ببينين و جمع نهايي هم جدا حساب بشه شما به سه سلول نياز دارين و اين فرمول ها
        کد:
        =SUM(IF(A1:A8>0;A1:A8;""))
        =SUM(IF(A1:A8<0;A1:A8;""))
        =D1/E1
        تمامي اين فرمول ها (بجز آخرين فرمول) را بايد بصورت آرايه اي استفاده كنيد. ( يعني بعد از نوشتن فرمول بجاي زدن دكمه enter از كليدهاي تركيبي ctrl+shift+enter استفاده كنيد)

        Last edited by Amir Ghasemiyan; 2013/11/29, 21:13.

        Comment

        • Somi

          • November 2013
          • 7

          #5
          سلام دوست عزیز ، معذرت میخوام مرتبا سوال میپرسم ،

          من یک ستون تاریخ دارم از سال2011 تا سال2013 ، اما چون داده هام زیاد هستند میخواستم اگه بشه اول هر ماه با یک رنگ دیگه مشخص باشه ، آیا فرمولی هست که به

          ستون تاریخم بدم تا خودش اول هر ماه رو مثلا آبی بکنه .

          ممنون .
          تفاوت بین انسان های موفق و شکست خورده به امکانات آنها نیست ، به نحوه نگرش و باورهایشان است .

          Comment

          • Alireza
            مدير تالار تنظيمات اكسل

            • March 2011
            • 648

            #6
            سلام
            بنظر من برای اینکار باید یک تابع ترکیبی if و mid در کاندیشنال فرمتینگ نوشته بشه
            Last edited by Alireza; 2013/11/30, 22:01.
            تنها راهي که به شکست مي انجامد، تلاش نکردن است

            Comment

            • Amir Ghasemiyan

              • September 2013
              • 4475

              #7
              نوشته اصلی توسط Somi
              سلام دوست عزیز ، معذرت میخوام مرتبا سوال میپرسم ،

              من یک ستون تاریخ دارم از سال2011 تا سال2013 ، اما چون داده هام زیاد هستند میخواستم اگه بشه اول هر ماه با یک رنگ دیگه مشخص باشه ، آیا فرمولی هست که به

              ستون تاریخم بدم تا خودش اول هر ماه رو مثلا آبی بکنه .

              ممنون .
              سلام دوست عزيز
              اميدوارم تونسته باشم جوابتون رو بدم
              فایل های پیوست شده

              Comment

              • Alireza
                مدير تالار تنظيمات اكسل

                • March 2011
                • 648

                #8
                با اجازه استاد قاسمیان
                این هم یک فایل به روش کاندیشنال فرمتینگ
                فایل های پیوست شده
                تنها راهي که به شکست مي انجامد، تلاش نکردن است

                Comment

                • امين اسماعيلي
                  مدير تالار ويژوال بيسيك

                  • January 2013
                  • 1198

                  #9
                  با درود
                  کد:
                     Dim LastRow As Long
                      With ActiveSheet
                          LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
                      End With
                  Columns(1).Interior.ColorIndex = 0
                  Dim m
                  For Each m In Sheet1.Range("A1:A" & LastRow)
                  Dim dTheDate As Date
                  dTheDate = DateSerial(Year(m.Value), Month(m.Value), 1)
                  If m.Value = dTheDate Then
                  m.Interior.ColorIndex = 4
                  End If
                  Next m
                  کد بالا رو تو ایونت فعال شدن شیت مورد نظرتون یا برای یک باتن بنوبسید . هر موقع شیت فعال بشه یا دکمه فشرده بشه اولین روز هر ماه که تو ستون A نوشته شده رنگش سبز میشه.
                  در پناه خداوندگار ایران زمین باشید و پیروز

                  Comment

                  • Somi

                    • November 2013
                    • 7

                    #10
                    با سلام خدمت سروران عزیز

                    دوستان تابع CumulativeSum همان تابع sum هست یا فرق میکنه ؟
                    تفاوت بین انسان های موفق و شکست خورده به امکانات آنها نیست ، به نحوه نگرش و باورهایشان است .

                    Comment

                    • Amir Ghasemiyan

                      • September 2013
                      • 4475

                      #11
                      نوشته اصلی توسط Somi
                      با سلام خدمت سروران عزیز

                      دوستان تابع CumulativeSum همان تابع sum هست یا فرق میکنه ؟
                      سلام دوست عزيز

                      در ابتدا لازم ميدونم ازتون خواهش كنم براي سوالتون ابتدا سرچ بفرماييد در صورتي كه تاپيكي مرتبط با سوالتون پيدا نكردين لطفا تاپيك جديد ايجاد كنيد و از بحث كردن در ادامه ساير بحث ها جدا خودداري بفرماييد.

                      در خصوص جوابتون بايد عرض كنم Cumulative Sum كه فرموديد يعني مجموع تجمعي. فرمولي كه براي اين حالت استفاده ميشه به اين صورت است.

                      کد:
                      =sum($A$1:A1)
                      اگر اين فرمول رو درگ كنيد (fill formatting) براي يك ستون متوجه ميشيد مثلا در سطر پنجم فرمول به اين صورت تغيير خواهد كرد
                      کد:
                      =sum($A$1:A5)
                      براي توضيح بيشتر به فايل ضميمه مراجعه بفرماييد
                      فایل های پیوست شده

                      Comment

                      • Somi

                        • November 2013
                        • 7

                        #12
                        نوشته اصلی توسط amir ghasemiyan


                        سلام دوست عزيز
                        اگر فقط جواب نهايي رو ميخواين از اين فرمول استفاده كنيد.

                        کد:
                        =SUM(IF(A1:A8>0;A1:A8;""))/SUM(IF(A1:A8<0;A1:A8;""))
                        اگر ميخواين مثبت ها جدا حساب بشه و منفي ها جدا حساب بشه و شما نتيجه رو ببينين و جمع نهايي هم جدا حساب بشه شما به سه سلول نياز دارين و اين فرمول ها
                        کد:
                        =SUM(IF(A1:A8>0;A1:A8;""))
                        =SUM(IF(A1:A8<0;A1:A8;""))
                        =D1/E1
                        تمامي اين فرمول ها (بجز آخرين فرمول) را بايد بصورت آرايه اي استفاده كنيد. ( يعني بعد از نوشتن فرمول بجاي زدن دكمه enter از كليدهاي تركيبي ctrl+shift+enter استفاده كنيد)

                        سلام دوست عزیز

                        شرمنده اما طبق فرمولی که شما فرمودید نمیتونم به جواب مورد نظر برسم بنابراین فکر میکنم بنده مفهوم رو درست به شما نرسوندم برای همین یکسری از داده هام رو براتون میزارم ، اگه لطف کنید ممنون میشم .

                        میخوام مجموع اعداد مثبت را به مجموع اعداد منفی تقسیم کنم .

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

                        Comment

                        • حسام بحرانی

                          • September 2013
                          • 2062

                          #13
                          نوشته اصلی توسط somi
                          سلام دوست عزیز

                          شرمنده اما طبق فرمولی که شما فرمودید نمیتونم به جواب مورد نظر برسم بنابراین فکر میکنم بنده مفهوم رو درست به شما نرسوندم برای همین یکسری از داده هام رو براتون میزارم ، اگه لطف کنید ممنون میشم .

                          میخوام مجموع اعداد مثبت را به مجموع اعداد منفی تقسیم کنم .

                          ممنون .
                          با سلام ، دوست عزیز از این فرمول استفاده کنید :
                          کد HTML:
                          =sumif(a1:a20;">0";a1:a20)/sumif(a1:a20;"<0";a1:a20)
                          با سپاس
                          ɦɛʂɑɱ ɓɑɦɾɑɳɨ
                          Last edited by حسام بحرانی; 2013/12/06, 22:12.
                          !With God all things are possible



                          Comment

                          • Somi

                            • November 2013
                            • 7

                            #14
                            با سلام

                            من یک ستون از اعداد مختلف دارم یه فرمول شرطی نوشتم که مثلا اعداد بین 52 تا 90 رو برام جدا کنه ، الان میخوام اگه جوابم داخل فرمول نبود یعنی جواب بین 52 تا 90 نبود به جاش تو سلولهای خالیش صفر بزاره . ممنون میشم اگه دوستان کمک کنند .

                            با تشکر
                            تفاوت بین انسان های موفق و شکست خورده به امکانات آنها نیست ، به نحوه نگرش و باورهایشان است .

                            Comment

                            • حسام بحرانی

                              • September 2013
                              • 2062

                              #15
                              نوشته اصلی توسط Somi
                              با سلام

                              من یک ستون از اعداد مختلف دارم یه فرمول شرطی نوشتم که مثلا اعداد بین 52 تا 90 رو برام جدا کنه ، الان میخوام اگه جوابم داخل فرمول نبود یعنی جواب بین 52 تا 90 نبود به جاش تو سلولهای خالیش صفر بزاره . ممنون میشم اگه دوستان کمک کنند .

                              با تشکر
                              با سلام ،لطفاً یک فایل نمونه بگذارید ، در انجمن نمونه ها رو بررسی کنید ( از ترکیب توابع IF و AND استفاده کنید )
                              با سپاس
                              ɦɛʂɑɱ ɓɑɦɾɑɳɨ
                              !With God all things are possible



                              Comment

                              Working...