
محاسبات مربوط به زمان (جمع ساعت در اکسل)
تاریخ و زمان در اکسل یکی از مباحثی است که خیلی مورد سوال قرار میگیره به عنوان مثال جمع ساعت در اکسل . مثلا یک برنامه برای ثبت ساعت ورود و خروج افراد تنظیم کردیم و میخواهیم از طریق اون محاسبات مربوط به حقوق، اضافه کاری، کسری کار و ….. محاسبه کنیم. پس باید بدونیم زمان در اکسل چه مفهومی داره و محاسباتش به چه صورته.
در این آموزش هر نکته ای راجع به زمان وجود داره رو با هم مرور خواهیم کرد.
مطابق شکل ۱ در دو سلول، زمان یکسان رو وارد کنید. فرمت یک سلول رو به Number تغییر بدید. این عدد به چه معنی است؟

شکل ۱- مفهوم مقدار زمان
همونطور که در شکل ۱ میبینید، ۱۲:۵۳ بعد از ظهر، معادل ۰.۵۴ روز هست. بعبارتی ۲۴ ساعت کامل در اکسل معادل عدد ۱ هست. در واقع محاسبات ساعت در اکسل، نسبت به روز سنجیده میشه. پس اگر میخوایم محاسباتی که داریم انجام میدیم، بر اساس ساعت باشه، مثلا میخوایم ساعت اضافه کاری رو در مبلغ هر ساعت ضرب کنیم. باید حواسمون باشه که اکسل اون جمع ساعت رو به روز تبدیل میکنه و بعد در مبلغ هر ساعت ضرب میکنه. به نکات زیر دقت کنید:
همونطور که در شکل ۲ می بینید، حاصل جمع چند ساعت اضافه کاری بدرستی نمایش داده نمیشه. با یک حساب سرانگشتی می بینیم که مجموع ساعت ها بیش از ۵۰ ساعت هست. برای اینکه نمایش جمع رو اصلاح کنیم، بر روی سلول B8 کلیک راست کرده و در Format Cell/ Custom کد زیر رو وارد میکنیم:
[hh]:mm
در واقع فرمت زمان هر چی که بود با ثانیه/بدون ثانیه یا مثلا AM/PM …. در هر صورت ساعت یا همون h رو داخل براکت [ ] قرار میدیم.

شکل ۲- محاسبات زمانی
حالا فرض کنید هر ساعت اضافه کاری معادل ۱۰۰۰۰ ریال هست، برای اینکه ببینیم در نهایت مبلغ ناشی از اضافه کاری چقدر خواهد بود، مجموع بدست آمده رو در مبلغ ضرب میکنیم.
همونطور که در شکل ۳ مشاهده می کنید در مرحله اول، حاصل ضرب مجموع ساعات در ۱۰۰۰۰ به فرمت ساعت هست، در حالیکه ما مبلغ را به فرمت عدد نیاز داریم. پس فرمت آن را به Number تغییر میدهیم. اما می بینیم که پس از تغییر فرمت به Number، میزان حاصلضرب درست نیست. علت همون مسئله ای سهت که در بالا به آن اشاره شد. اکسل مجموع ساعت را به روز تبدیل کرده (یعنی ۶۱:۰۵ رو تقسیم بر 24ساعت کرده) و حاصل را در ۱۰۰۰۰ ضرب میکند. پس اگر بخواهیم خود ساعت در ۱۰۰۰۰ ضرب بشه، باید حاصل را در ۲۴ ضرب کنیم.

شکل ۳- محاسبات زمان و ساعت
حالا که جنس زمان و منطق محاسبه اکسل رو فهمیدیم، به راحتی میتونیم هر نوع محاسباتی (جمع ساعت در اکسل) رو روی زمان های مختلف انجام بدیم، جمع، تفریق، ضرب و ….
در ادامه چند تابع کاربردی در خصوص زمان معرفی میکنم که در محاسبات مفید خواهد بود:
| ورودی تابع | تابع | خروجی | شرح |
| 9:56:10 PM | HOUR(B5) | 21 | این تابع ساعت را فراخوانی میکنه |
| 9:56:10 PM | MINUTE(B6) | 56 | این تابع دقیقه را فراخوانی میکنه |
| 9:56:10 PM | SECOND(B7) | 10 | این تابع ثانیه را فراخوانی میکنه |
| ۲۱ ساعت | ۵۶ دقیقه | ۱۰ ثانیه | TIME(D8,C8,B8) | 9:56:10 PM | این تابع زمان حاصل از ساعت، دقیقه و ثانیه ورودی رو نمایش میده |
مثلا زمانی که میخوایم دو ساعت رو از هم کم کنیم، از یکی از حالت های نشان داده شده در شکل ۴ استفاده میکنیم:

شکل ۴- محاسبه اختلاف زمان
در این مطلب در مورد جمع یا کسر ساعت صحبت کردیم. موضوعات زیر رو هم بهتون پیشنهاد میکنم بخونید:





سلام و تشکر از مقاله خوبتون
کارمندی موظف است در هفته ۵۰ ساعت کارکند. ساعت ورود و خروج روزانه و جمع کارکرد روزانه و نیز مجموع کل کارکرد روزهای هفته را در اکسل داریم. میخواهیم اختلاف آنرا با موظفی ۵۰ ساعت هفتگی را حساب کنیم. بفرمائید چگونه میشود این کار را انجام میدهیم. متشکرم
درود بر شما
مجموع رو که دارید
از ۵۰:۰۰:۰۰ کم کنید
سلام و خدا قوت، لطفا راهنمایی بفرمایید برای خروجی تابع msgbox ، عدد مورد نظر که نمایش میدهد با فرمت ساعت و دقیقه و ثانیه باشد
سلام وقت بخیر، در قسمت Prompt تابع Msgbox از تابع Format استفاده کنید و در آرگومان این تابع عبارت “hh:mm:ss” رو استفاده کنید.
سلام و ممنون از پاسخگویی شما استاد عزیز
عذر خواهم بنده مبتدی هستم و تابع msgbox را هم مطالعه کردم در مورد سوالم چیزی دستگیرم نشد در کد نویسی از عبارت زیر استفاده کردم البته اینجا بهم ریخته است که ساعت را بصورت اعشاری نمایش میدهد و سلول (i,12) میخواهم با فرمت ساعت باشد و دو سلول دیگر مربوط به نام و نام خانوادگی است.
MsgBox Sheet1.Cells(i, 2) & ” ” & Sheet1.Cells(i, 3) & ” ” & ” زمان خدمت = ” & Sheet1.Cells(i, 12)
باز هم تشکر از لطفتان
محاسبات رو در یک متغیر از جنس String قرار بدید و اون متغیر رو به تابع Msgbox بدید که نمایش بده
Dim STemp as String
STemp = MsgBox Sheet1.Cells(i, 2) & ” ” & Sheet1.Cells(i, 3) & ” ” & ” زمان خدمت = ” & Format(Sheet1.Cells(i, 12),”hh:mm”)
Msgbox STemp
سلام و خداقوت
بسیار ممنون لطف فرمودید استاد عزیز، بسیار عالی، ان شا الله همیشه سالم و تندرست باشید.
موفق و سربلند باشید
ی
سلام وقت بخیر، ببخشید ساعت و دقیقه در یک ستون فایل اکسل ثبت شده، به چه صورت میتوانم به تمامی این ساعتها در یک ستون ۲ساعت و ۲۰ دقیقه اضافه کنم؟
درود، کافیه ۲:۲۰ رو در یک سلول وارد کنید و اون سلول رو کپی کنید. سپس ستون مورد نظر رو انتخاب کنید و گزینه Paste Special رو بزنید. از پنجره باز شده گزینه Value از بخش Paste و گزینه Add از بخش Operation رو انتخاب کنید و OK کنید.
سلام
در مورد اینکه تایم استراحت کارکنان زمانی که پشت استیشن خود نیستند در گوگل شیت با ثبت دکمه شروع و پایان و به دست آوردن تایم دقیق راهنمایی بفرمایید
درود
برای انجام این کار نیاز به نوشتن اسکریپت در گوگل هست که تایمر را فعال کند و مقدار آن را پس از فشردن مجدد دکمه در سلول ثبت کند. اگر با گوگل اسکریپت آشنا هستید با کمی سرچ در منابع خارجی امکان پیدا کردن کدهای مربوطه هست.
سلام وقت شما بخیر
لطفا راهنمایی بفرمایین در مورد نوشتن یه فرمول برای اینکه من از داخل کل کارکردی که دارم مثلا ۱۸ ساعت بین ۸ صبح تا ۲ نیمه شب،ساعت های خاصی رو جدا کنم.مثلا بین ۸ صبح تا ۱۴ به عنوان اداری،بین ۱۴ تا ۲۲ به عنوان عصر کاری و ۲۲ تا ۶ صبح فردا به عنوان شب کاری.ممنون میشم کمکم کنین
درود بر شما
این مقاله رو مطالعه کنید ایده بگیرید
https://excelpedia.net/salary-calculation/
با درود
من یک فرمول را لازم دارم، که از این سل تا سل بعدی بشه حداقل ۱۲ دقیقه تفاوت در دقیقه باشد. ممنون می شوم راهنمایی کنید
درود بر شما
یعنی در یک سلول زمانی رو داشته باشید در سلول بعدی ۱۲ دقیقه اختلاف؟
اگر اینه
کافیه در یک سلول زمان رو ثبت کنید و بعد در سلول بعدی سلول قبلی رو باضافه ۱۲/۶۰/۲۴ کنید. ۱۲ دقیقه معادل ۱۲/۶۰/۲۴
درود داخل تایم شیت من عدد صفر رو ۲۴ ساعت حساب میکنه شب مثلا از ساعت ۰۰:۰۰ الی ۰۰+۰۰ دلیلش چیه
درود بر شما
صفر، معادل لحظه ۰ یعنی ساعت ۱۲ شب و ۱ معادل یک شبانه روزه
اگر میخواید در سلول عدد صفر یعنی ۱۲ شب ثبت کنید، کافیه همون ۰۰:۰۰ تایپ کنید یا ۰ تایپ کنیدو فرمت رو بذارید روی time
سلام
لطفا امکان داره یه راه حل سادهبرای این کار ارائه بفرمایید
گذاشتن کلون زمانبر هست
داخل براکت چطور بزارمش
لطفا یه نمونه بفرمایید
با سلام
یک سوال از کارشناس محترم دارم و سوال این است که در یک ستون چند مورد ساعت وارد کردم به شکل ساعت و دقیه و جمع ساعت شد ۱۳.۹۰ در صورتیکه باید ۱۴.۳۰ دقیقه باشد ، فرمول چگونه باید نوشته شود تا ساعت درست محاسبه گردد . با تشکر
درود
سعی شده همه مواردی که لازمه برای کار کردن با ساعت بدونید، ارائه بشه در مقاله
داده ها، جنسشون و شرایط جمع زدن رو بررسی کنید
ببینید مشکل کجاست
اینطوری چیزی مشخص نمیشه
سلام و خداقوت
من خروجی دستگاه حضور و غیاب رو به صورت اکسل می گیرم و ثبت و محاسبه ساعت کار رو روی اکسل انجام میدم . مشکل : ستون مربوط به ساعات ورود و خروج با تغییر فرمت تغییر نمیکنند. و فقط در صورتیکه حالت تایپ سلول رو فعال و غیر فعال می کنم فرمت اصلاح میشه(دابل کلیک داخل سلول) و محاسبات درست میشه . لطفا بگید چطوری باید این نقص رو برطرف کنم. ممنون
درود، میتونید با استفاده از Power Query و یا Text to Column جنس صحیح ستون رو مشخص کنید که در محاسبات عدد لحاظ شود.