پروفایل برنامه‌ریزی و کنترل پروژه
نادر خرمی راد

اطلاعیه!

به تازگی چندین وبینار، با موضوع‌های مختلف، تو کنفرانس‌های منطقه‌ای و بین‌المللی PMI ارائه کردم. چون دسترسی به این وبینارها از داخل ایران ساده (یا حتی ممکن) نیست، تصمیم گرفتم تا هنوز گرم کار هستم نسخه فارسی همشون رو هم ضبط کنم و تو سایت بذارم برای افراد علاقه‌مند.

علاوه بر اون، مشغول ساخت یه دوره صوتی فارسی در مورد آشنایی با پرینس۲ هم هستم که اون هم به زودی منتشر می‌شه و رایگان خواهد بود.

شمسی کردن تاریخ ها در پراجکت

عده‌ای از همکارانمون برای من برنامه‌ای (پراجکتی) فرستاده بودن که دیدم توش تاریخ‌ها با فرمول محاسبه می‌شه. چون این روش ممکنه برای بعضی‌ها به درد بخوره، فرمول‌هاش رو می‌ذارم اینجا. از اون همکاران پرسیدم که فرمول‌ها رو چه کسی تهیه کرده تا اینجا ازش نام ببرم، که متاسفانه اسمش رو نمی‌دونستن. در هر حال با تشکر از این فردی که نمی‌شناسیم.

فرمول تاریخ شروع:

(Int((Int([Start]-DateValue("21/3/1997 00:00:00"))-Int(Int([Start]-DateValue("21/3/1997 00:00:00"))/1461))/365)+76) & "/" & (IIf(((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))<=186,Int(((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))/31)+1,Int((((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))-186)/30)+7)) & "/" & (IIf(((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))<=186,Int(((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365)) Mod 31)+1,Int((((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))-186) Mod 30)+1+(IIf((Int([Start]-DateValue("21/3/1997 00:00:00"))) Mod 1461=0,1,0))))

فرمول تاریخ پایان:

(Int((Int([Finish]-DateValue("21/3/1997 00:00:00"))-Int(Int([Finish]-DateValue("21/3/1997 00:00:00"))/1461))/365)+76) & "/" & (IIf(((((Int([Finish]-DateValue("21/3/1997 00:00:00")))-Int((Int([Finish]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))<=186,Int(((((Int([Finish]-DateValue("21/3/1997 00:00:00")))-Int((Int([Finish]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))/31)+1,Int((((((Int([Finish]-DateValue("21/3/1997 00:00:00")))-Int((Int([Finish]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))-186)/30)+7)) & "/" & (IIf(((((Int([Finish]-DateValue("21/3/1997 00:00:00")))-Int((Int([Finish]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))<=186,Int(((((Int([Finish]-DateValue("21/3/1997 00:00:00")))-Int((Int([Finish]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365)) Mod 31)+1,Int((((((Int([Finish]-DateValue("21/3/1997 00:00:00")))-Int((Int([Finish]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))-186) Mod 30)+1+(IIf((Int([Finish]-DateValue("21/3/1997 00:00:00"))) Mod 1461=0,1,0))))

فرمول‌ها رو تو یکی از فیلدهای Text وارد کنین و یادتون هم نره که برای خلاصه فعالیت‌ها گزینه Use Formulas رو انتخاب کنین.

اگه خواستین از چنین روشی استفاده کنین این مسایل رو در نظر داشته باشین:

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

کلا پیشنهاد می‌کنم برای شمسی کردن تاریخ‌ها از برنامه‌های تجاری مثل پرنیان و ادسافت استفاده کنین.