سرشکن کردن حقوق روی پروژه ها و گزارشگیری

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

    • 2014/11/16
    • 5

    سرشکن کردن حقوق روی پروژه ها و گزارشگیری

    سلام دوستان
    من فایلی درست کردم که حقوق افراد یک شرکت رو براساس میزان ساعت کاری که انجام دادن روی پروژه های مختلف شرکت سرشکن میکنه. حالا میخوام از این فایل یه گزارش تهیه کنم که مشخص کنه روی چه پروژه هایی چه اشخاصی و با چه میزان ساعتی کار کردن. نمنونه فرمش هم تو فایل پیوست گذاشتم.
    ممنون میشم کمک کنید.
    فایل های پیوست شده
  • generalsamad
    مدير تالار توابع

    • 2014/06/22
    • 1496

    #2
    با سلام
    ساختار جدولتون باید درست شه
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • MTBaghbani

      • 2014/11/16
      • 5

      #3
      من ساختار جدول رو بر اساس اون چیزی که میخوام توی چاپ نشون داده بشه تنظیم کردم. با این حال زیاد مهم نیست؛ مشکل چاپ گزارش رو یه جوری حل میکنم. ولی اگر شما میدونید ساختار جدول رو چه طور تنظیم کنیم که به نتیجه ی نهایی برسیم، کمک کنید ممنون میشم.

      کامنت

      • mohammad_ashooryan

        • 2014/08/13
        • 480
        • 80.00

        #4
        سلام
        فايل مورد نظر رو با كمي تغيير در شيت گزارش پروژه اي انجام دادم و پيوست كردم.
        هرجاي فرمولها سوالي بود در خدمتم.
        سرشکنی تایم شیت2.xlsx

        کامنت

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

          • 2014/06/22
          • 1496

          #5
          با سلام
          ضمن تشکر از جناب mohammad2060 من هم یه فایل ایجاد کردم و نشد ظهر ضمیمه کنم جالب اینجا بود که ساختار جدول هر دو تقریبا یکی هست ولی فرمولها فرق میکنه
          فقط این فایل بر اساس شیتهای قبلی و جدولی که ایجاد کردید ساخته شده
          اگه ساختار اون جدولها رو نیز تغییر بدید بهتر میشه
          فایل ضمیمه گردید
          فایل های پیوست شده
          [CENTER]
          [SIGPIC][/SIGPIC]
          [/CENTER]

          کامنت

          • MTBaghbani

            • 2014/11/16
            • 5

            #6
            از دوستانی که وقت گذاشتن و ارائه راه حل کردن ممنونم. دوست عزیز mohammad2060
            ؛ فرمولی که شما طراحی کرده بودید خیلی خوب بود؛ ولی نکته ای که وجود داره و من فراموش کردم در فایلی که به عنوان نمونه گذاشتم بهش اشاره کنم اینه که ممکنه در یک پروژه بیش از یک نفر زمان صرف کرده باشه ولی فرمول شما فقط عدد اول و شخص اول رو برمی گردونه. تو فایل پیوست به مواردی که رنگیشون کردم توجه کنید.
            فایل های پیوست شده

            کامنت

            • mohammad_ashooryan

              • 2014/08/13
              • 480
              • 80.00

              #7
              سلام
              اينكار رو هم انجام دادم.
              براي انجام اينكار اومدم توي فايل قبلي توي آرگومان اول تابع address همه فرمولها براي پيدا كردن شماره رديف به جاي فرمول زير براي رديف2
              کد PHP:
              =MATCH(B2;'ثبت تایم شیت'!$A:$A;0
              از فرمول زير به صورت آرايه اي استفاده كردم.
              کد PHP:
              =SMALL(IF('ثبت تایم شیت'!A:A=B2;ROW('ثبت تایم شیت'!A:A);"");COUNTIF($B$2:B2;B2)) 
              بازم مشكل و سوالي بود در خدمتم.
              سرشکنی تایم شیت4.xlsx

              کامنت

              • MTBaghbani

                • 2014/11/16
                • 5

                #8
                ممنونم دوست عزیز. مشکلش حل شد.
                ولی سرعت پردازش فایل خیلی اومده پایین، علتش چیه؟

                کامنت

                • mohammad_ashooryan

                  • 2014/08/13
                  • 480
                  • 80.00

                  #9
                  نوشته اصلی توسط mtbaghbani
                  ممنونم دوست عزیز. مشکلش حل شد.
                  ولی سرعت پردازش فایل خیلی اومده پایین، علتش چیه؟
                  سلام خواهش ميكنم
                  مشكل سرعت محاسبات به خاطر فرمولهاي آرايه اي و محدوده هاي انتخابي زياد بود.
                  براي حل اين مشكل اومدم ابتدا ستون حقوق رو حساب كردم. بعد بقيه ستونهاي (نام و نام خانوادگي و ساعت كاركرد) رو بر اساس جواب بدست آمده اين ستون حساب كردم.
                  براي ستون حقوق هم توي فرمول زير كه به صورت آرايه اي براي فرمول address استفاده مي شد.
                  .
                  کد PHP:
                  =small(if('ثبت تایم شیت'!a:a=b2;row('ثبت تایم شیت'!a:a);"");countif($b$2:b2;b2)) 
                  براي كم كردن محدوده 'ثبت تایم شیت'!a:a براي سرعت در محاسبه از فرمول indirect به صورت زير براي كم كردن محدوده استفاده كردم:

                  کد PHP:
                  indirect("'ثبت تایم شیت'!a1:a"&counta('ثبت تایم شیت'!g:g)*15 
                  باز هم سوالي بود در خدمتم.
                  موفق باشيد.
                  التماس دعا

                  [ATTACH]7476[/ATTACH]

                  کامنت

                  چند لحظه..