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

کار ریموندز مستلزم آن است که او تاریخ ها را فرمت کند تا در قالبی نسبتاً عجیب و غریب نشان داده شود. به عنوان مثال، اگر سلولی دارای تاریخ 19/10/20 باشد، باید آن را به صورت "SU 10/20" و بدون نقل قول نمایش دهد. (SU یک نمایش دو نویسه ای از روز هفته، در این مورد یکشنبه است.) ریموند متعجب است که آیا راهی برای انجام این کار به عنوان، شاید، یک قالب سفارشی وجود دارد.

هیچ راهی برای انجام این کار دقیقاً با استفاده از یک قالب سفارشی وجود ندارد. دلیل آن این است که هیچ کدی در قالب های سفارشی وجود ندارد که به شما امکان ایجاد یک روز دو کاراکتری در هفته را بدهد. نزدیک‌ترین کاری که می‌توان در قالب سفارشی انجام داد، برای یک روز سه کاراکتری از هفته است:

ddd m/d

با این حال، حتی آن هم کمی غیرممکن است، زیرا روز سه نویسه هفته را با حروف بزرگ انجام نمی دهد.

بنابراین، این ما را به استفاده از فرمولی برای رسیدن به تاریخ قالب‌بندی شده هدایت می‌کند. اگر تاریخ را در سلول A1 دارید، می توانید از فرمول زیر استفاده کنید:

=LEFT(UPPER(TEXT(A1,"ddd")), 2) & " " & TEXT(A1,"m/d")

این از تابع TEXT برای بازگرداندن روز سه نویسه ای هفته استفاده می کند که با استفاده از فرمول UPPER به حروف بزرگ تبدیل می شود. سپس از تابع LEFT برای گرفتن دو کاراکتر اول آن روز هفته استفاده می شود که سپس به ترکیب ماه/روز اضافه می شود. این دقیقا همان چیزی است که ریموند می خواست.

نقطه ضعف استفاده از این روش این است که تاریخ بازگشتی توسط فرمول متن است. تاریخ واقعی نیست اگر می‌توانستیم از یک قالب سفارشی استفاده کنیم، مقدار تاریخ اصلی بدون تغییر می‌بود. با این حال، این مورد برای هر قالب بندی تاریخ فرد مانند این است. به دلیل این ضعف احتمالی، ممکن است بخواهید تاریخ های واقعی را به عنوان تاریخ حفظ کنید، حتی اگر در یک ستون مخفی یا یک کاربرگ پنهان باشد.

همچنین در صورت تمایل می‌توانید یک ماکرو ایجاد کنید که رشته‌ای را با تاریخ قالب‌بندی شده برگرداند. در اینجا یک تابع ساده تعریف شده توسط کاربر وجود دارد:

Function FmtDate(d As Date) As String
    Dim s As String

    s = UCase(Left(WeekdayName(Weekday(d)), 2))
    s = s & " " & Format(d, "m/d")
    FmtDate = s
End Sub

سپس می توانید تابع را به روش زیر در کاربرگ خود استفاده کنید:

=FmtDate(A1)

این فرض می‌کند که تاریخ در A1 است، و تابع یک رشته تاریخ را برمی‌گرداند که مطابق میل ریموند قالب‌بندی شده است.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 39 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 27 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 40 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 35 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 36 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

135 نفر آنلاین
0 عضو و 135 مهمان در سایت حاضرند
بازدید امروز: 1310
بازدید دیروز: 25180
بازدید کل: 20338668
...