مرحوم محمد محمدی

🖤 پیام تسلیت

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

ایشان سال‌ها با دانش، تجربه، اخلاق نیکو و روحیه کمک به دیگران، سهم بزرگی در رشد و پویایی انجمن داشتند و خاطره حضور ارزشمندشان همواره در ذهن اعضای انجمن باقی خواهد ماند.

مدیریت و اعضای انجمن ExcelIran این ضایعه را به خانواده محترم ایشان، دوستان و تمامی اعضای انجمن تسلیت عرض نموده و از خداوند متعال برای آن مرحوم، رحمت و مغفرت الهی و برای بازماندگان صبر و شکیبایی مسئلت دارند.


انا لله و انا الیه راجعون

محاسبه هزینه های هر نفر

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

    • 2014/12/02
    • 130

    [حل شده] محاسبه هزینه های هر نفر

    فایل اکسلی دارم دارای دو شیت 1 , 2 ... میخواهم هزینه هایی که تو شیت 2 برای هر کد پرسنلی اومده بطور تجمیع هر نفر محاسبه و جمعش توی سرفصلهای شیت 1 محاسبه بشه ... فایل نمونه هم پیوست کردم .. میخوام با ماکرو باشه چون حجم فایل زیاده ... خیلی ممنونم از اساتید خوبم
    فایل های پیوست شده
    https://t.me/pump_upp
  • Amir Ghasemiyan

    • 2013/09/20
    • 4600
    • 100.00

    #2
    نوشته اصلی توسط mfr
    فایل اکسلی دارم دارای دو شیت 1 , 2 ... میخواهم هزینه هایی که تو شیت 2 برای هر کد پرسنلی اومده بطور تجمیع هر نفر محاسبه و جمعش توی سرفصلهای شیت 1 محاسبه بشه ... فایل نمونه هم پیوست کردم .. میخوام با ماکرو باشه چون حجم فایل زیاده ... خیلی ممنونم از اساتید خوبم

    سلام دوست عزیز
    اتفاقا چون حجم زیاده بهتره از فرمول استفاده کنید
    به هر حال من هر دو روش رو براتون میذارم:
    این فرمول (برای کد پرسنلی 1000 و درمان)
    کد:
    =SUMIFS('2'!$C:$C;'2'!$A:$A;'1'!$A2;'2'!$B:$B;'1'!B$1)
    این فرمول قابل بسط برای کل محدوده است

    این هم کد vba
    کد:
    Sub SumifsVBA()
    Set Rng1 = Sheet1.Range("A2:A30")
    Set Rng2 = Sheet1.Range("B1:E1")
    For Each cel1 In Rng1
        For Each cel2 In Rng2
            Sheet1.Cells(cel1.Row, cel2.Column).Value = finds(cel1.Value, cel2.Value)
        Next cel2
    Next cel1
    
    
    End Sub
    
    
    Function finds(code As Integer, hazineh As String)
    LastItem = Range("A" & Sheet2.Rows.Count).End(xlUp).Row + 1
    For i = 1 To LastItem
        If Sheet2.Range("A" & i) = code And Sheet2.Range("B" & i) = hazineh Then sums = sums + Sheet2.Range("C" & i)
    Next i
    finds = sums
    End Function

    کامنت

    • generalsamad
      مدير تالار توابع

      • 2014/06/22
      • 1496

      #3
      با سلام
      علاوه بر روشهای امیرخان عزیز میتونید از پیوت تیبل نیز استفاده کنید

      Click image for larger version

Name:	pivot table.png
Views:	1
Size:	77.4 کیلو بایت
ID:	129662
      فایل های پیوست شده
      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • mfr

        • 2014/12/02
        • 130

        #4
        بسیار بسیار ممنونم ... استاد ارجمند
        https://t.me/pump_upp

        کامنت

        چند لحظه..