نمایش نتایج: از شماره 1 تا 7 , از مجموع 7

موضوع: تعيين آخرين ستون و آخرين سطر اطلاعات در يك sheet

  1. #1


    آخرین بازدید
    2016/09/15
    تاریخ عضویت
    August 2015
    نوشته ها
    11
    امتیاز
    20
    سپاس
    7
    سپاس شده
    10 در 5 پست
    تعیین سطح نشده است

    Question تعيين آخرين ستون و آخرين سطر اطلاعات در يك sheet

    سلام
    مطابق تصوير پيوست ، اطلاعات پراكنده اي در يك sheet داريم .
    مي خوايم بدونيم آخرين سطر و ستون مورد استفاده كدومه؟
    ( طبيعتاً در تصوير پيوست ، سلول e9 كه با رنگ قرمز مشخص شده پاسخ صحيح خواهد بود )
    تابعي براي حل اين موضوع مورد نيازه!
    ممنون
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست 9-2-2015 12.29.59 AM.jpg  
    پاسخ مورد نظر براي اين تاپيك ارسال شده است.

  2.  

  3. #2


    آخرین بازدید
    2023/08/14
    تاریخ عضویت
    March 2010
    محل سکونت
    تهران
    نوشته ها
    2,034
    امتیاز
    4508
    سپاس
    2,467
    سپاس شده
    4,096 در 1,241 پست
    سطح اکسل
    85.00 %

    khakzad به Yahoo ارسال پیام
    سلام
    این فرمول ارایه اس رو وارد کنید:
    کد:
    =address(max(if(a1:d18<>"",row(a1:d18),"")),max(if(a1:d18<>"",column(a1:d18),"")))
    محدوده از a118 در نظر گرفته شده. می تونید جایگرین کنید
    سوالی بود در خدمتم


  4. #3


    آخرین بازدید
    2016/09/15
    تاریخ عضویت
    August 2015
    نوشته ها
    11
    امتیاز
    20
    سپاس
    7
    سپاس شده
    10 در 5 پست
    تعیین سطح نشده است

    جناب خاکزاد با تشکر . تابع خوبی نوشتید اما یک مشکل وجود داره :
    ما در این تابع ، خودمون یک محدوده رو برای اعمال تابع در نظر گرفتیم ؛ در حالی که اگه قرار باشه این تابع در یک ماکرو قرار بگیره نمیشه پیش بینی کرد که آیا این محدوده جوابگوی اطلاعات مندرج در sheet های مختلف هست یانه...
    از طرف دیگه اگه بخوایم به جهت اطمینان از فراگیر بودن محدوده تابع ، دامنه اون رو بیش از حد گسترش بدیم رم سیستم بیخودی اشغال میشه . مثلاً ممکنه ما در یک sheet تعداد 5000 سطر داشته باشیم اما تابع رو بر روی 500,000 تنظیم کنیم تا مطمئن باشیم که دربرگیرنده همه اطلاعات ما خواهد بود! خوب اینجوری سرعتمون افت می کنه

  5. #4


    آخرین بازدید
    2022/12/14
    تاریخ عضویت
    March 2011
    محل سکونت
    کرج
    نوشته ها
    648
    امتیاز
    1605
    سپاس
    2,232
    سپاس شده
    1,575 در 463 پست
    سطح اکسل
    80.00 %

    Alireza به Yahoo ارسال پیام
    نقل قول نوشته اصلی توسط ali.alavi نمایش پست ها
    جناب خاکزاد با تشکر . تابع خوبی نوشتید اما یک مشکل وجود داره :
    ما در این تابع ، خودمون یک محدوده رو برای اعمال تابع در نظر گرفتیم ؛ در حالی که اگه قرار باشه این تابع در یک ماکرو قرار بگیره نمیشه پیش بینی کرد که آیا این محدوده جوابگوی اطلاعات مندرج در sheet های مختلف هست یانه...
    از طرف دیگه اگه بخوایم به جهت اطمینان از فراگیر بودن محدوده تابع ، دامنه اون رو بیش از حد گسترش بدیم رم سیستم بیخودی اشغال میشه . مثلاً ممکنه ما در یک sheet تعداد 5000 سطر داشته باشیم اما تابع رو بر روی 500,000 تنظیم کنیم تا مطمئن باشیم که دربرگیرنده همه اطلاعات ما خواهد بود! خوب اینجوری سرعتمون افت می کنه
    سلام دوست عزیز مبحث ماکرو با توابع جدا هستند و اگر نیاز به کد نویسی باشه در حلقه For each به راحتی قابل بررسی است .
    تنها راهي که به شکست مي انجامد، تلاش نکردن است


  6. سپاس ها (1)


  7. #5


    آخرین بازدید
    2016/09/15
    تاریخ عضویت
    August 2015
    نوشته ها
    11
    امتیاز
    20
    سپاس
    7
    سپاس شده
    10 در 5 پست
    تعیین سطح نشده است

    با تشکر

  8. #6


    آخرین بازدید
    تاریخ عضویت
    June 2014
    محل سکونت
    خوزستان-بهبهان
    نوشته ها
    1,496
    امتیاز
    6803
    سپاس
    4,205
    سپاس شده
    3,844 در 1,281 پست
    تعیین سطح نشده است

    با سلام
    از این function نیز میتونید استفاده کنید
    کد PHP:
    Function Last(choice As Longrng As Range)
        
    Dim lrw As Long
        Dim lcol 
    As Long

        Select 
    Case choice

        
    Case 1:
            
    On Error Resume Next
            Last 
    rng.Find(What:="*"_
                            After
    :=rng.Cells(1), _
                            Lookat
    :=xlPart_
                            LookIn
    :=xlFormulas_
                            SearchOrder
    :=xlByRows_
                            SearchDirection
    :=xlPrevious_
                            MatchCase
    :=False).Row
            On Error 
    GoTo 0

        
    Case 2:
            
    On Error Resume Next
            Last 
    rng.Find(What:="*"_
                            After
    :=rng.Cells(1), _
                            Lookat
    :=xlPart_
                            LookIn
    :=xlFormulas_
                            SearchOrder
    :=xlByColumns_
                            SearchDirection
    :=xlPrevious_
                            MatchCase
    :=False).Column
            On Error 
    GoTo 0

        
    Case 3:
            
    On Error Resume Next
            lrw 
    rng.Find(What:="*"_
                           After
    :=rng.Cells(1), _
                           Lookat
    :=xlPart_
                           LookIn
    :=xlFormulas_
                           SearchOrder
    :=xlByRows_
                           SearchDirection
    :=xlPrevious_
                           MatchCase
    :=False).Row
            On Error 
    GoTo 0

            On Error Resume Next
            lcol 
    rng.Find(What:="*"_
                            After
    :=rng.Cells(1), _
                            Lookat
    :=xlPart_
                            LookIn
    :=xlFormulas_
                            SearchOrder
    :=xlByColumns_
                            SearchDirection
    :=xlPrevious_
                            MatchCase
    :=False).Column
            On Error 
    GoTo 0

            On Error Resume Next
            Last 
    rng.Parent.Cells(lrwlcol).Address(FalseFalse)
            If 
    Err.Number 0 Then
                Last 
    rng.Cells(1).Address(FalseFalse)
                
    Err.Clear
            End 
    If
            
    On Error GoTo 0

        End Select
    End 
    Function 
    این تابع دو پارامتر داره
    پارامتر اول:عدد1 شماره آخرین سطر رو بر میگردونه -عدد2 شماره آخرین ستون رو بر میگردونه-عدد3 آدرس آخرین سلول رو بر میگردونه
    پارامتر دوم: محدوده مورد نظر رو وارد میکنیم

    1-برای شماره آخرین سطر
    کد PHP:
    =Last(1;A:L
    2-برای شماره آخرین ستون
    کد PHP:
    =Last(2;A:L
    3-برای آدرس آخرین سلول
    کد PHP:
    =Last(3;A:L

    فایل ضمیمه گردید
    فايل هاي پيوست شده فايل هاي پيوست شده




  9. #7


    آخرین بازدید
    2016/09/15
    تاریخ عضویت
    August 2015
    نوشته ها
    11
    امتیاز
    20
    سپاس
    7
    سپاس شده
    10 در 5 پست
    تعیین سطح نشده است

    صمد بزرگ با تشکر

  10. سپاس ها (1)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. ايجاد يك ستون دايناميك از دو يا چند ستون كه هر كدام در يك شيت جداگانه قرار دارند
    توسط arsalan135 در انجمن پیوت تیبل و پايگاه داده - Pivot Table and Database
    پاسخ ها: 8
    آخرين نوشته: 2014/02/26, 12:32
  2. تعيين ستون خودكارپرشونده
    توسط omnia در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 3
    آخرين نوشته: 2013/05/14, 23:32
  3. ايجاد صفحات عمودي و افقي در يك sheet
    توسط salehi در انجمن گرافیک، نمودار و تنظیمات - Graphics, Charts and Settings
    پاسخ ها: 2
    آخرين نوشته: 2013/01/11, 12:35
  4. مقایسه یک ستون در 2 sheet
    توسط parisarad در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 4
    آخرين نوشته: 2011/07/03, 20:28
  5. مقایسه یک ستون در 2 sheet
    توسط parisarad در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 1
    آخرين نوشته: 2011/06/11, 15:04

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد