ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
8 visibility
موضوع: آفیس توسط:

هنگام توسعه یک ورک بوک، ممکن است نیاز داشته باشید که پسوندهایی مانند "st، nd، rd یا th" را در انتهای تاریخ ها قرار دهید، مانند "9th March". متأسفانه، هیچ راهی برای انجام این کار با استفاده از قالب های تاریخ داخلی که می توانید برای سلول های جداگانه اعمال کنید، وجود ندارد. در صورت تمایل می توانید قالب های سفارشی را برای هر یک از چهار نوع پسوند ایجاد کنید، اما آنها باید به صورت جداگانه بر اساس محتویات خود سلول اعمال شوند.

تنها گزینه دیگر استفاده از نوعی فرمول تبدیل است. کنار هم قرار دادن اینها به اندازه کافی آسان است، اما سلول به دست آمده حاوی تاریخ واقعی اکسل نیست، بلکه متنی خواهد داشت. این امر مانع از استفاده محتویات سلول در سایر توابع مرتبط با تاریخ می شود. در زیر نمونه ای از نوع فرمول تبدیلی است که می توانید استفاده کنید:

=DAY(A1)&IF(OR(DAY(A1)={1,2,3,21,22,23,31}),
CHOOSE(1*RIGHT(DAY(A1),1),"st","nd ","rd "),"th")
&TEXT(A1,"mmmm, yyyy")

موارد دیگری نیز وجود دارند، اما همه آنها اساساً یک کار را انجام می دهند - قسمت های مختلف یک تاریخ را از هم جدا کرده و آنها را با پسوند مناسب کنار هم قرار دهید.

اگر ترجیح می دهید، می توانید یک تابع ماکرو نیز ایجاد کنید که با پسوند ترتیبی، یک تاریخ با فرمت مناسب را برگرداند. زیر یکی از این ماکروها است:

Function OrdinalDate(myDate As Date)
    Dim dDate As Integer
    Dim dText As String
    Dim mDate As Integer
    Dim mmmText As String

    dDate = Day(myDate)
    mDate = Month(myDate)

    Select Case dDate
        Case 1: dText = "st"
        Case 2: dText = "nd"
        Case 3: dText = "rd"
        Case 21: dText = "st"
        Case 22: dText = "nd"
        Case 23: dText = "rd"
        Case 31: dText = "st"
        Case Else: dText = "th"
    End Select

    Select Case mDate
        Case 1: mmmText = " January"
        Case 2: mmmText = " February"
        Case 3: mmmText = " March"
        Case 4: mmmText = " April"
        Case 5: mmmText = " May"
        Case 6: mmmText = " June"
        Case 7: mmmText = " July"
        Case 8: mmmText = " August"
        Case 9: mmmText = " September"
        Case 10: mmmText = " October"
        Case 11: mmmText = " November"
        Case 12: mmmText = " December"
    End Select

    OrdinalDate = dDate & dText & mmmText
End Function

شما از ماکرو به سادگی با فراخوانی آن در یک فرمول سلولی استفاده می کنید. به عنوان مثال، اگر تاریخ ذخیره شده در سلول B7 دارید، می توانید از موارد زیر در هر سلول دیگری استفاده کنید:

=OrdinalDate(B7)
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

115 نفر آنلاین
0 عضو و 115 مهمان در سایت حاضرند
بازدید امروز: 5033
بازدید دیروز: 12076
بازدید کل: 15387445
...