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

در محیط اداری کار با فایل های اکسل ایجاد شده توسط افراد دیگر غیرعادی نیست. برخی از این فایل ها می توانند بسیار متفاوت از فایل هایی باشند که ممکن است ایجاد کنید. به عنوان مثال، شما ممکن است فایلی را به ارث ببرید که در آن ستون اول شامل نام افراد در خط اول و سپس نام خانوادگی آنها در خط دوم است. (کاربر Alt+Enter را فشار داده تا نام اول را از نام دوم در همان سلول جدا کند.) اگر بخواهید ردیف های کاربرگ را بر اساس نام خانوادگی شخص مرتب کنید چه؟

شاید بهترین راه برای تکمیل چنین کاری این باشد که یک ستون جدید در کاربرگ درج کنید - ستون B. (این ستون می تواند پنهان باشد تا هنگام کار معمولی با کاربرگ یا هنگام چاپ آن ظاهر نشود.) فرمول زیر باید سپس در هر سلول از ستون B قرار می گیرد:

=RIGHT(A2,LEN(A2)-FIND(CHAR(10),A2))

بدیهی است که مراجع سلولی زمانی که در ستون B قرار می گیرند تغییر خواهند کرد. در این فرمول قسمت FIND موقعیت نویسه Alt+Enter را تعیین می کند (کد کاراکتر این کاراکتر 10 است). تابع RIGHT کاراکترهای موجود در سلول را برمی گرداند که از کاراکتر بعد از کاراکتر Alt+Enter شروع می شوند . این راه حل منجر به ستون B می شود که حاوی اطلاعات خط دوم ستون اول است. سپس می توانید به راحتی بر اساس اطلاعات ستون B مرتب سازی کنید.

در این راه حل یک فرض وجود دارد - اینکه در هر خانه از ستون A فقط دو خط وجود دارد. اگر تعداد آنها بیشتر یا کمتر باشد، حل مشکل تر می شود. اگر چنین است، بهترین (و ساده ترین) راه حل ممکن است فرمت مجدد کاربرگ باشد به طوری که کلید مرتب سازی به تنهایی در یک ستون باشد. اگر این امکان پذیر نباشد (به هر دلیلی)، می توان از تابع VBA تعریف شده توسط کاربر زیر استفاده کرد:

Function SecLine(x) As String
    Dim B1 As Integer
    Dim B2 As Integer
    
    B1 = InStr(x, Chr(10))
    B2 = InStr(B1 + 1, x, Chr(10))
    If (B1 + B2) > 0 Then
        If B2 > 0 Then
            SecLine = Mid(x, B1 + 1, B2 — B1 - 1)
        Else
            SecLine = Mid(x, B1 + 1)
        End If
    End If
End Function

برای استفاده از این روال، به سادگی موارد زیر را در سلول های ستون B قرار دهید:

=SecLine(A2)

صرف نظر از اینکه چند خط در سلول A2 وجود دارد (در این مثال)، تابع یک رشته نشان دهنده مقدار خط دوم را برمی گرداند.

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

پاسخ شما

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

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

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

سوالات مشابه

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

28.5k سوال

13.8k پاسخ

614 دیدگاه

11.3k کاربر

237 نفر آنلاین
0 عضو و 237 مهمان در سایت حاضرند
بازدید امروز: 18310
بازدید دیروز: 39513
بازدید کل: 20969943
...