محاسبه مقادیر مربوط به افراد در شیت های مختلف

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

    • 2016/07/26
    • 22

    [حل شده] محاسبه مقادیر مربوط به افراد در شیت های مختلف

    سلام
    در پست قبلی " مجموع درآمد فرد که در یک شیت و چند شیت دیگر آمده است
    "
    به دنبال مجموع درآمد افراد که در شیت های مختلف آمده است بودیم. یکی از اساتید محترم راه حلی برای این مساله فرمودند. با این فرمول تنها مجموع درآمد افراد حاضر در یک شیت محاسبه می شود. آیا می توان بدون مراجعه به تک تک شیت ها برای بدست آوردن مجموع افرادی که در این شیت نیز نیستند راه حلی پیدا کرد؟
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    نوشته اصلی توسط alireza123456
    سلام
    در پست قبلی " مجموع درآمد فرد که در یک شیت و چند شیت دیگر آمده است
    "
    به دنبال مجموع درآمد افراد که در شیت های مختلف آمده است بودیم. یکی از اساتید محترم راه حلی برای این مساله فرمودند. با این فرمول تنها مجموع درآمد افراد حاضر در یک شیت محاسبه می شود. آیا می توان بدون مراجعه به تک تک شیت ها برای بدست آوردن مجموع افرادی که در این شیت نیز نیستند راه حلی پیدا کرد؟
    سلام دوست عزیز
    منظورتون اینه که میخواین جمع کل همه شیت ها رو داشته باشید یا اینکه جمع هر شیت رو تک تک ؟

    کامنت

    • alireza123456

      • 2016/07/26
      • 22

      #3
      سلام با سپاس

      با فرمولی که داده شده می توان مجموع درامد همه افراد شیت 1 را بدست می آید. اما موضوع این است که افراد حاضر در شیت های مختلف با هم یکسان نیستند و برای بدست آوردن مجموع درآمد فردی که در شیت 1 نیست اما در شیت 2 است باید مجددا فرمول را در شیت 2 اجرا کنیم و ...
      در مثال حل شده در شیت 1 درامد 6 نفر (کد) محاسبه شد اما با اجرای این دستور در شیت 2 درآمد 142 نفر بدست می اید.
      با توجه به حجم زیاد داده ها و شیت ها محاسبه تک تک شیت ها زمان بر است.

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام

        با توجه به تعداد شیت ها و حجم زیاد داده های مشابه ، بهترین گزینه استفاده از کدنویسی میباشد.(موارد خواسته شده در شیت DATA لیست میگردد.)

        کد PHP:
        Sub TEST1()

        Application.ScreenUpdating False


        Dim list1 
        As New Collection

        On Error Resume Next

        For Each Sheet In Worksheets

        If sh.Name <> "data" Then


        z1 
        Sheet.Cells(Rows.Count"A").End(xlUp).Row

        For 2 To z1


        list1
        .Add Sheet.Range("A" i), CStr(Sheet.Range("A" i))


        Next

        End 
        If

        Next Sheet

        Sheets
        ("DATA").Range("A1") = "ID"

        Sheets("DATA").Range("B1") = "Income"



        For 1 To list1.Count

        Sheets
        ("DATA").Range("A" 1) = list1.Item(i)

        Next


        Application
        .ScreenUpdating True

        End Sub

        Sub TEST2
        ()

        2

        z2 
        Sheets("data").Cells(Rows.Count"A").End(xlUp).Row

        For 2 To z2

        Sum 
        0

        For Each Sheet In Worksheets

        If Sheet.Name <> "data" Then


        z1 
        Sheet.Cells(Rows.Count"A").End(xlUp).Row

        For 2 To z1


        If Sheet.Range("A" i) = Sheets("data").Range("A" jThen

        Sum 
        Sum Sheet.Range("b" i)

        End If


        Next

        End 
        If

        Next Sheet

        Sheets
        ("data").Range("b" k) = Sum

        1

        Next
        End Sub 
        فایل های پیوست شده

        کامنت

        • alireza123456

          • 2016/07/26
          • 22

          #5
          سلام

          خیلی لطف کردید

          موفق باشید

          کامنت

          چند لحظه..