هزار و یک شب اکسل - شب چهل و چهارم نمایش یک ستون از انتها به ابتدا با فرمول Flipping a List

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • امين اسماعيلي
    مدير تالار ويژوال بيسيك

    • 2013/01/17
    • 1198
    • 84.00

    هزار و یک شب اکسل - شب چهل و چهارم نمایش یک ستون از انتها به ابتدا با فرمول Flipping a List

    با درود
    فرض کنید در یک ستون مانند شب قبل یه سری اسم داریم فرضا حالا میخوایم این اسامی از انتها به ابتدا در یک ستون نمایش داده بشوند پس (اسامی در ستون a فرضا هستند):

    کد:
    =index(a:a,counta(a:a)+1-row())

    راه دوم

    اینه که ما توی یه ستون کمکی مثلا B یه عدد یک رو بنویسیم و درگ کنیم ( یا دبل کلیک رو گوشه پایین) تا یک سری اعدادای پشت سر هم پدید بیاد بعد همین ستون رو از اخر به اول سورت کنیم
    Last edited by امين اسماعيلي; 2014/05/07, 02:19.
    در پناه خداوندگار ایران زمین باشید و پیروز
  • امين اسماعيلي
    مدير تالار ويژوال بيسيك

    • 2013/01/17
    • 1198
    • 84.00

    #2
    با درود مجدد

    و اما را بعدی که تو بخشی که اگر سل هامون فرمولی هم باشن مشکلی رو بوجود نمیاره با VBA هستش

    کد:
    Dim Rng As Range
    Dim WorkRng As Range
    Dim Arr As Variant
    Dim i As Integer, j As Integer, k As Integer
    On Error Resume Next
    xTitleId = "ExcelIran"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    Arr = WorkRng.Formula
    For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
    xTemp = Arr(i, j)
    Arr(i, j) = Arr(k, j)
    Arr(k, j) = xTemp
    k = k - 1
    Next
    Next
    WorkRng.Formula = Arr
    این کد رو برای مثلا یه Button بنویسین و اجرا کنید . هنگامی که پنجره application.inputbox که از نوع Selection هستش باز شد محدودتونو انتخاب کنید و اکی کنید . برای فرمول هم امتحان کنید جالبه .
    شب خوش . شبتون شیک و مجلسی
    در پناه خداوندگار ایران زمین باشید و پیروز

    کامنت

    • khakzad

      • 2010/03/17
      • 2034
      • 85.00

      #3
      نوشته اصلی توسط امين اسماعيلي
      با درود
      فرض کنید در یک ستون مانند شب قبل یه سری اسم داریم فرضا حالا میخوایم این اسامی از انتها به ابتدا در یک ستون نمایش داده بشوند پس (اسامی در ستون a فرضا هستند):

      کد:
      =index(a:a,counta(a:a)+1-row())
      راه دوم

      اینه که ما توی یه ستون کمکی مثلا B یه عدد یک رو بنویسیم و درگ کنیم ( یا دبل کلیک رو گوشه پایین) تا یک سری اعدادای پشت سر هم پدید بیاد بعد همین ستون رو از اخر به اول سورت کنیم
      سلام....ممنون
      ی راه هم من پیشنهاد میدم
      فرمول offset هست با ترکیب همین فرمول های count یا counta
      [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

      [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
      [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
      :wcom:

      [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
      [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
      [/CENTER]

      کامنت

      • moussaie888
        • 2010/06/07
        • 1

        #4
        اگه اسامی از سطر 1 شروع نشده باشه فرمول جواب غلط میده به نظر من بصورت کلی بنویسیم:
        ( =index(a$m:a$n;counta(a$m:a$n)+row(a$m)-row()
        که m و n سطر شروع و پایان لیست هستش

        کامنت

        • امين اسماعيلي
          مدير تالار ويژوال بيسيك

          • 2013/01/17
          • 1198
          • 84.00

          #5
          با درود
          شما صحیح میفرمایید اما mو د رو تو فرمول اینجوری ارجاع نمیدنا - واسه ایرادم شما اگر مثلا از ردیف 3 شروع کنی یه 2 ناقابل یا 3 به counta اظافه میکنی تا مشکلت حل بشه
          در پناه خداوندگار ایران زمین باشید و پیروز

          کامنت

          چند لحظه..