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

مری چندین صفحه گسترده با 10000 تا 80000 ردیف دارد. گاهی اوقات یک ستون عریض تر از آنچه باید باشد، احتمالاً به این دلیل است که محتوا آن را گسترده می کند. بنابراین، مری تعجب می کند که آیا راه آسانی برای یافتن وسیع ترین سلول بدون پیمایش بین 10000 تا 80000 ردیف برای یافتن آن وجود دارد؟

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

=LEN(TRIM(A1))

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

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

=MIN(IF(LEN($A:$A)=MAX(LEN($A:$A)),ROW($A:$A),1048577))
=CELL("address",INDEX($A:$A,MATCH(MAX(LEN($A:$A)),LEN($A:$A),0)))

هر دوی اینها باید به عنوان فرمول آرایه با فشار دادن Ctrl+Shift+Enter وارد شوند . فرمول اول شماره ردیف سلولی را در ستون A که طولانی ترین طول را دارد برمی گرداند. فرمول دوم آدرس واقعی سلولی را که بیشترین طول را دارد برمی گرداند.

اگر بخواهید به طور منظم طول های بلند را مشخص کنید، رویکرد سوم خوب است. این شامل استفاده از یک ماکرو برای استخراج اطلاعات لازم است:

Sub FindWidestCells()
    Dim Ad(10) As String
    Dim Le(10) As Integer
    Dim J As Integer
    Dim K As Integer
    Dim L As Integer
    Dim lCols As Long
    Dim lRows As Long
    Dim Rng As Range
    Dim c As Range
    Dim sTemp As String

    lCols = ActiveCell.Column
    lRows = Cells(Rows.Count, lCols).End(xlUp).Row
    Set Rng = Range(Cells(1, lCols), Cells(lRows, lCols))

    For Each c In Rng
         Find shortest length in the group
        K = 1
        For J = 2 To 10
            If Le(J) < Le(K) Then K = J
        Next J
        If Len(c.Text) > Le(K) Then
            Le(K) = Len(c.Text)
            Ad(K) = c.Address
        End If
    Next c

     Sort the cells
    For J = 1 To 9
        L = J
        For K = J + 1 To 10
            If Le(K) > Le(L) Then L = K
        Next K
        If L <> J Then
            sTemp = Ad(L)
            Ad(L) = Ad(J)
            Ad(J) = sTemp
            K = Le(L)
            Le(L) = Le(J)
            Le(J) = K
        End If
    Next J

    sTemp = "Longest cells:" & vbCr
    For J = 1 To 10
        If Le(J) > 0 Then
            sTemp = sTemp & "    " & Ad(J) & " (" & Le(J) & ")" & vbCr
        End If
    Next J

    MsgBox sTemp
End Sub

تنها کاری که باید انجام دهید این است که یک سلول را در ستونی که می خواهید بررسی کنید انتخاب کنید و سپس ماکرو را اجرا کنید. آنچه برگردانده می شود فهرستی از 10 پهن ترین سلول در ستون به ترتیب نزولی بر اساس طول است.

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

614 دیدگاه

11.1k کاربر

108 نفر آنلاین
0 عضو و 108 مهمان در سایت حاضرند
بازدید امروز: 7254
بازدید دیروز: 16808
بازدید کل: 20170533
...