فرم گزارش گیری ساده بر اساس تاریخ

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • a.dal65

    • 2011/04/29
    • 384
    • 67.00

    [حل شده] فرم گزارش گیری ساده بر اساس تاریخ

    سلام
    اساتید من یه سری اطلاعات دارم اینطوریه :
    شخص
    اقساط چک تاریخ
    a1 71,000,000 94/11/1
    a2 12,000,000 94/11/2
    a3 10,000,000 94/11/5
    a4 17,000,000 94/11/9
    a5 22,000,000 94/11/1
    a6 10,000,000 94/11/30
    a7 84,000,000 94/11/15
    a8 28,200,000 94/12/1
    a9 90,000,000 94/12/1
    a10 7,000,000 94/12/1
    a11 25,800,000 94/12/1
    a12 39,000,000 94/12/1

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

    کسی میتونه کمکم کنه چیکار کنم .
    فقط من نمیخوام بهم جمع اقساط و چک ها رو بده (sum if) .
    میخوام تو اون تاریخی که مشخص میکنم همه رو برام بیاره
    فایل رو هم براتون ضمیمه کردم.
    ممنون.
    فایل های پیوست شده
  • generalsamad
    مدير تالار توابع

    • 2014/06/22
    • 1496

    #2
    با سلام
    با pivot table میتونید به جواب برسید
    همچنین با slicer و timeline گزارشتون رو شیک تر کنید
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • majid_mx4

      • 2012/06/25
      • 699

      #3
      با سلام

      لطفا فایل ضمیمه را بررسی نمایید.

      خلاصه : فیلتر کردن تاریخ شمسی
      توضیح : فرمت تاریخ خود را باید به شکل فایل نمونه تغییر دهید .یعنی روز باید با صفر باشد مثلا 01 /01 /94

      با تشکر میر
      فایل های پیوست شده

      کامنت

      • amir_ts

        • 2015/03/17
        • 1247

        #4

        با سلام
        علاوه بر روش دوستان گرامی چنانچه بخواهید از نمونه فایل ارسالی استفاده کنید باید تغیراتی تو فرمت تاریخ بدید(بدون اسلش و با فرمت عدد) که بشه فاصله بین تاریخ ها رو محاسبه کرد.
        این فایل رو ببینید.

        کد PHP:
        =IFERROR(INDEX(درآمد!$A$2:$C$25;SMALL(IF((درآمد!$A$2:$A$25>VALUE($I$3&IF(LEN($H$3)<2;0&$H$3;$H$3)&IF(LEN($G$3)<2;0&$G$3;$G$3)))*(درآمد!$A$2:$A$25<VALUE($I$4&IF(LEN($H$4)<2;0&$H$4;$H$4)&IF(LEN($G$4)<2;0&$G$4;$G$4)));ROW(Form!$A$2:$A$25)-1;"");ROW(A1));1);""
        فایل های پیوست شده
        [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

        کامنت

        • a.dal65

          • 2011/04/29
          • 384
          • 67.00

          #5
          ممنون از کمک و راهنمایی همه دوستان.
          چون اطلاعات من (شیت درآمد رو میگم) حدود 2000 سطر هست.
          و هر روز اطلاعات بهش اضافه و کم میشه و در حال تعییر هستش برای جلوگیری از اشتباه این نوع گزارش گیری به ذهنم رسید
          فایلی که آقا امیر زحمتشو کشیده بودن مد نظر من هستش و ممنونتم امیر جان.
          فقط راهی وجود داره با که تاریخ رو توی یه سلول کمکی دیگه به ضورت / دار نشون بده ؟
          و یه مسله دیگه این که من مثلا چک های روز 940801 و میزنم هیچی نمیاره
          940801 تا 940801
          Last edited by a.dal65; 2015/12/27, 09:50.

          کامنت

          • amir_ts

            • 2015/03/17
            • 1247

            #6
            با سلام
            متوجه سوال اول شما نشدم این فرمول اطلاعات شما رو بر اساس لیست میاره اگه تاریخ تو لیست به ترتیب باشه تو لیست گزارش گیری هم به ترتیب میاد ولی اگه مرتب نباشه قاعدتا" اینجا هم نامرتب میاد چون ما شماره ردیف رو با شروطی پیدا میکنیم و میچینیم.اگر بعد از گزارس گیری اطلاعات رو تو جدول مشابه دیگری کپی و pase values کنید براحت میتونید سورت کنید .سوال دوم شما هم با قراردادن = داخل فرمول حل میشه.
            فایل های پیوست شده
            [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

            کامنت

            • iranweld

              • 2015/03/29
              • 3341

              #7
              با سلام

              فایل پیوست با VB تهیه گردید

              کد PHP:
              Sub TEST()

              Dim ZZZ1ZZZ2X1Y1Z1 As Long

              T1 
              Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row

              T2 
              Sheet2.Cells(Sheet2.Rows.Count"A").End(xlUp).Row

              TB3 
              Sheet3.Cells(Sheet3.Rows.Count"B").End(xlUp).Row

              tf3 
              Sheet3.Cells(Sheet3.Rows.Count"f").End(xlUp).Row

              If TB3 <= 3 Then
              TB3 
              4
              End 
              If

              Sheet3.Range("B4:j" TB3).ClearContents


              Sheet3.Range("N2").Value

              X1 
              Left(X2) & Mid(X42) & Right(X2)


              Sheet3.Range("N3").Value

              Y1 
              Left(Y2) & Mid(Y42) & Right(Y2)

              '============================='

              If Y1 X1 0 Then

              MsgBox 
              "ÊÇÑíΠÔÑæÚ æ ÇíÇä ÇÔÊÈÇå ÇÓÊ"

              GoTo 0

              End 
              If

              '===================================='

              4

              For 2 To T1

              Sheet1.Range("A" I)

              Z1 Left(Z2) & Mid(Z42) & Right(Z2)

              If 
              Z1 >= X1 And Z1 <= Y1 And Sheet1.Range("C" I).Value <> "" Then

              Sheet3
              .Range("B" K).Value Sheet1.Range("A" I).Value

              Sheet3
              .Range("C" K).Value Sheet1.Range("C" I).Value

              1

              End 
              If


              Next

              '==========ÇäÊåÇí ˜ åÇí ÏÑíÇÝÊí ================='


              '======================ÇÞÓÇØ ÏÑíÇÝÊí ==================='




              For 2 To T1

              Sheet1.Range("A" I)

              Z1 Left(Z2) & Mid(Z42) & Right(Z2)

              If 
              Z1 >= X1 And Z1 <= Y1 And Sheet1.Range("D" I).Value <> "" Then

              Sheet3
              .Range("B" K).Value Sheet1.Range("A" I).Value

              Sheet3
              .Range("D" K).Value Sheet1.Range("D" I).Value

              1

              End 
              If

              Next


              '====================ÇäÊåÇí ÇÞÓÇØ ÏÑíÇÝÊí==================='


              '=================== ÏÑÂãÏ ÂÊí==============='

              4

              For 2 To T1

              Sheet1.Range("A" I)

              Z1 Left(Z2) & Mid(Z42) & Right(Z2)

              If 
              Z1 >= X1 And Z1 <= Y1 And Sheet1.Range("H" I).Value <> "" Then

              Sheet3
              .Range("B" K).Value Sheet1.Range("A" I).Value

              Sheet3
              .Range("E" K).Value Sheet1.Range("H" I).Value

              1

              End 
              If

              Next

              '=================== ÇäÊåÇí ÏÑ ÂãÏ==============='

              '============ÔíÊ Ïæã============'

              4
              For 2 To T2

              ZZZ1 
              Sheet2.Range("A" I).Value

              ZZZ2 
              Left(ZZZ12) & Mid(ZZZ142) & Right(ZZZ12)


              If 
              ZZZ2 >= X1 And ZZZ2 <= Y1 Then


              For 7 To 11

              If Sheet2.Range("h" I).Value Sheet3.Cells(3j).Value Then

              Sheet3
              .Range("f" K).Value Sheet2.Range("A" I).Value

              Sheet3
              .Cells(Kj).Value Sheet2.Range("d" I).Value

              1
              End 
              If
              Next

              End 
              If

              Next

              '==============ÇäÊåÇí ÔíÊ Ïæã================'

              Application.ScreenUpdating True

              0

              End Sub 
              فایل های پیوست شده
              Last edited by iranweld; 2016/01/02, 11:44.

              کامنت

              • a.dal65

                • 2011/04/29
                • 384
                • 67.00

                #8
                ممنون از کاربر iranweld و اقا امیر بخاطر وقت و زحمتی که کشیدن.
                هر دو عالی ، مخصوصا فایل iranweld عزیز.

                کامنت

                • a.dal65

                  • 2011/04/29
                  • 384
                  • 67.00

                  #9
                  ممنون بابت اصلاحاتی که انجام دادین
                  فقط من میخوام آخر هر ستون جمعش بیاد ولی چون Sheet3.Range("B4:K100" & t3).ClearContents
                  میشه همه اطلاعات پاک میشه آیا راهکاری برای این هست ؟
                  میشه این کار رو کرد :
                  فایل ضمیمه
                  فایل های پیوست شده

                  کامنت

                  • iranweld

                    • 2015/03/29
                    • 3341

                    #10
                    نوشته اصلی توسط atadaliran
                    ممنون بابت اصلاحاتی که انجام دادین
                    فقط من میخوام آخر هر ستون جمعش بیاد ولی چون Sheet3.Range("B4:K100" & t3).ClearContents
                    میشه همه اطلاعات پاک میشه آیا راهکاری برای این هست ؟
                    میشه این کار رو کرد :
                    فایل ضمیمه
                    با سلام


                    برای پاک نشدن ردیف 105 دستور ذیل را در ماکرو جایگزین کنید

                    کد PHP:
                    Sheet3.Range("B4:K104").ClearContents 
                    آخرین فایل اصلاح شده به پیوست میباشد
                    فایل های پیوست شده
                    Last edited by iranweld; 2016/01/02, 15:03.

                    کامنت

                    چند لحظه..