ویژگی تصویر

تابع MINUTE در اکسل — استخراج دقیقه از زمان

  /  اکسل   /  تابع MINUTE در اکسل
بنر تبلیغاتی الف

تابع MINUTE یکی از توابع ساده ولی بسیار پرکاربرد در اکسل است که دقیقهٔ یک مقدار زمان (time serial) را به‌صورت عدد صحیح بین 0 تا 59 بازمی‌گرداند. این تابع در تحلیل زمان، فیلترسازی، قالب‌بندی شرطی و محاسبات زمانی کاربرد فراوان دارد. در این مقاله به ساختار، مثال‌های عملی، ترفندها و نکات پیشرفته پیرامون MINUTE می‌پردازیم.

ساختار و سینتکس

سینتکس تابع بسیار ساده است:

=MINUTE(serial_number)

پارامتر serial_number می‌تواند:

  • یک سلول که حاوی مقدار زمان یا تاریخ-زمان است (مثلاً A1)
  • نتیجهٔ یک تابع زمان‌ساز مثل NOW()، TIME(), TIMEVALUE() و …
  • یک رشتهٔ متنی نمایانگر زمان (در صورتی که قابل تبدیل به زمان باشد)

خروجی و محدودهٔ مقدار

خروجی همیشه عدد صحیح بین 0 تا 59 است. اگر ورودی زمان معتبر نباشد اکسل ممکن است خطای #VALUE! نشان دهد یا مقدار ناخواسته‌ای برگرداند. تابع MINUTE ثانیه‌ها را نادیده می‌گیرد و فقط دقیقه را استخراج می‌کند.

نمونه‌های ساده

فرمولتوضیحخروجی
=MINUTE(“14:35”)از رشتهٔ زمان 14:3535
=MINUTE(TIME(9,12,5))سازماندهی زمان با تابع TIME12
=MINUTE(NOW())استخراج دقیقه از تاریخ-زمان کنونیمتغیر (مثلاً 07 یا 28)

مثال‌های کاربردی و ترکیبی

در عمل معمولاً MINUTE را همراه با سایر توابع استفاده می‌کنند تا تصمیم‌گیری یا محاسبات پیچیده‌تری انجام شود:

  • برچسب‌گذاری ردیف‌ها بر اساس دقیقه:
    =IF(MINUTE(A2)>30,"بعد از نیم ساعت","قبل از نیم ساعت")

    این فرمول بررسی می‌کند که دقیقهٔ زمان در A2 بزرگ‌تر از 30 هست یا نه و متن مناسب را بازمی‌گرداند.

  • استخراج دقیقه از رشته‌ای که به‌صورت متن است:
    =MINUTE(TIMEVALUE("23:07:12"))

    اگر زمان در یک سلول به‌صورت متن باشد، TIMEVALUE آن را به سریال زمان تبدیل می‌کند و سپس MINUTE اجرا می‌شود.

  • محاسبهٔ مجموع یا تفاضل زمانی (تذکر مهم در بخش نکات):

مثال پیشرفته — مدت زمان بیش از 24 ساعت

اگر با مدت زمان‌هایی کار می‌کنید که از 24 ساعت بیشتر هستند (مثلاً مجموع شیفت‌ها)، MINUTE به‌تنهایی ممکن است گمراه‌کننده باشد چون فقط بخش دقیقهٔ زمان را برمی‌گرداند و از روزها صرف‌نظر می‌کند. برای محاسبهٔ کل دقیقهٔ یک بازه از تاریخ-زمان بهتر است از ضرب در 1440 (تعداد دقیقه در روز) استفاده شود:

=INT((EndDateTime-StartDateTime)*1440)

این فرمول تعداد کل دقیقهٔ بین دو تاریخ-زمان را برمی‌گرداند. اگر بخواهید فقط بخش دقیقهٔ بازهٔ زمانی (باقیماندهٔ دقیقه پس از محاسبهٔ ساعت‌ها) را بگیرید می‌توانید از:

=MOD(INT((EndDateTime-StartDateTime)*1440),60)

این فرمول مقدار دقیقهٔ بازه را بین 0 تا 59 برمی‌گرداند.

پیشگیری از خطاها و نکات عملی

  • فرمت سلول: حتی اگر سلول به‌صورت متن قالب‌بندی شده باشد، اگر محتوا یک زمان معتبر باشد ممکن است اکسل آن را بشناسد؛ اما برای اطمینان بهتر است از TIMEVALUE یا تبدیل صریح استفاده کنید.
  • مقادیر دسیمال: اکسل زمان را به‌عنوان کسر روز ذخیره می‌کند. بنابراین دقیقهٔ یک زمان برابر است با INT(MOD(serial_number*1440,60)). تابع MINUTE همین رفتار را انجام می‌دهد.
  • نیمه‌شب: هنگام 00:00 تابع مقدار 0 برمی‌گرداند.
  • نیاز به مجموع دقیقهٔ واقعی: جمع گرفتن مستقیم MINUTE روی چند زمان معنی ندارد. برای مجموع دقیقه‌ها ابتدا باید زمان‌ها را به «دقیقهٔ کل» تبدیل کنید (serial*1440) سپس جمع کنید.
  • تفاوت نسخه‌ها: رفتار تابع MINUTE در اکسل ویندوز، مک و نسخهٔ آنلاین یکسان است اما با ورودی‌های متنی و تنظیمات محلی (locale) ممکن است تفاوت در تشخیص فرمت زمان وجود داشته باشد.

نمونه جدول با داده و خروجی

سلولمقدارفرمولخروجی MINUTE
A208:05:30=MINUTE(A2)5
A3“19:45”=MINUTE(TIMEVALUE(A3))45
A42025-11-01 00:00=MINUTE(A4)0

VBA: خواندن دقیقه در کد

Function GetMinuteFromValue(val As Variant) As Integer
    On Error GoTo ErrHandler
    GetMinuteFromValue = Minute(CDate(val))
    Exit Function
ErrHandler:
    GetMinuteFromValue = -1 ' or handle error as needed
End Function

این تابع VBA مقدار دریافتی را به تاریخ/زمان تبدیل می‌کند و سپس تابع داخلی Minute در VBA را برای گرفتن دقیقه فراخوانی می‌کند. در صورت خطا مقدار -1 برمی‌گرداند (قابل تغییر).

نکات تکمیلی و توصیه‌های کارشناسی

  • برای تجزیه و تحلیل‌های زمان‌بندی دقیق (مانند محاسبهٔ SLA یا تأخیرها) همیشه ابتدا داده‌ها را استاندارد کنید (قالب زمان یکسان، تبدیل رشته‌ها به زمان واقعی).
  • در گزارش‌هایی که نیاز به گروه‌بندی بر اساس دقیقه دارند (مثلاً تحلیل ترافیک وب بر اساس دقیقه)، به‌جای MINUTE تنها، از ترکیب HOUR+MINUTE یا تبدیل به عدد دقیقهٔ مطلق استفاده کنید تا گروه‌بندی درست انجام شود.
  • اگر داده‌های شما شامل ثانیه هستند و باید رند شوند، از ROUND((serial*86400)/60,0) برای تبدیل به دقیقهٔ گردشده استفاده کنید؛ این رویکرد ثانیه را در محاسبه لحاظ می‌کند.

خلاصه

تابع MINUTE در اکسل ابزاری سریع و ساده برای استخراج بخش دقیقه از یک مقدار زمان است. با وجود سادگی، در بسیاری از سناریوهای عملی باید به نحوهٔ ذخیره‌سازی زمان، تبدیل رشته‌ها، و محاسبات مربوط به بازه‌های زمانی بیش از 24 ساعت توجه کرد. ترکیب MINUTE با توابعی مثل TIMEVALUE، MOD، INT و ضرب در 1440 باعث ایجاد راه‌حل‌های دقیق‌تر برای نیازهای واقعی می‌شود.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: