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

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • niksirat2030

    • 2015/11/16
    • 29

    [حل شده] جمع اعداد یک ردیف از سلول مشخص بدون تعیین سلول نهایی

    سلام

    هدف من جمع امتیازات مربوط به هر یوزر و نوشته شدن اون در ستون total score هست.

    نکته اینه که به gameها هر روز اضافه میشه. یعنی جمع اعداد یک ردیف از یک نقطه شروع تا نقطه نامعلوم.

    جوابی که تا الان براش گرفتم اینه:
    کد PHP:
    =SUM(OFFSET($F7,0,0,1,COUNTA($6:$6)-1)) 
    ولی این فرمول وابسته به اینه که ردیف 6 دارای عباراتی مثل game1 game2 و ... باشه. در واقع فرمول وابسته به ردیف 6 هست.

    میشه فرمولی غیر وابسته به سطر یا ستون، فقط وابسته به نقطه شروع نوشت؟

    ممنون
    فایل های پیوست شده
  • amir_ts

    • 2015/03/17
    • 1247

    #2
    با سلام
    این فرمول آرایه ای رو ببینید.
    تا 52 ستون رو پوشش میده در صورت لزوم بیشتر کنید.
    کد PHP:
    =sum(f7:index(f7:az7;max((f7:az7<>"")*(column(f7:az7))))) 
    [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

    کامنت

    • niksirat2030

      • 2015/11/16
      • 29

      #3
      نوشته اصلی توسط amir_ts
      با سلام
      این فرمول آرایه ای رو ببینید.
      تا 52 ستون رو پوشش میده در صورت لزوم بیشتر کنید.
      کد PHP:
      =sum(f7:index(f7:az7;max((f7:az7<>"")*(column(f7:az7))))) 
      میشه فرمولی نوشت که آدرس آخرین ستونی که در ردیف 7 شامل یک عدد هست رو برگردونه و سپس از فرمول
      کد PHP:
      SUM(OFFSET($F7,0,0,1,.........)) 
      استفاده کنیم و اول فرمول رو جایگزین ........ کنیم؟

      سوال دوم اینکه چرا نباید از فرمول
      کد PHP:
      =sum(F7:XFD7
      استفاده کرد؟

      کامنت

      • amir_ts

        • 2015/03/17
        • 1247

        #4
        اگر جواب سوال بدست امده دلیل اصرار شما به استفاده از فرمول مورد اشاره رو نمیدونم؟!
        فرضا اگر آدرس آخرین سلول غیر خالی ستون رو هم پیدا کنیم در فرمول مورد نظر شما کارایی نداره...
        در اون قسمت فرمول باید یک عدد قرار بگیره که در اصل پارامتر پنجم(width) تابع Offset هست.
        سوال آخر رو متوجه نشدم شما یک رنج نسبتا بزرگی رو جمع کردید.
        [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

        کامنت

        • niksirat2030

          • 2015/11/16
          • 29

          #5
          نوشته اصلی توسط amir_ts
          اگر آدرس آخرین سلول غیر خالی ستون رو هم پیدا کنیم در فرمول مورد نظر شما کارایی نداره...
          در اون قسمت فرمول باید یک عدد قرار بگیره که در اصل پارامتر پنجم(width) تابع Offset هست.
          میشه شماره ستون رو پیدا کرد که مشکلی پیش نیاد.

          سوال آخر رو متوجه نشدم شما یک رنج نسبتا بزرگی رو جمع کردید.
          منظورم اینه که اگر با همین فرمول ساده sum(F7:XFD7)، مساله حل میشه چرا باید از
          کد PHP:
          =sum(f7:index(f7:az7;max((f7:az7<>"")*(column(f7:az7))))) 
          استفاده کرد؟ مگر اینکه مثلا یک فرمول غیر پایدار باشه یا بالا امودن فایل رو سخت کنه یا حافظه زیادی اشغال کنه...

          کامنت

          • amir_ts

            • 2015/03/17
            • 1247

            #6
            گر چه به دلیل وجود رنج باز و محاسبات زیاد این فرمول رو نمیپسندم ولی برای آشنایی و بحث این فرمول آرایه ای رو هم امتحان کنید.
            کد PHP:
            =sum(e7:offset(e7;;;;column(index(7:7;max((7:7<>"")*(column(7:7)))))-4)) 
            [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

            کامنت

            • iranweld

              • 2015/03/29
              • 3341

              #7
              با سلام

              با استفاده از تابع match آخرین ردیف سلولی که عددی داخلش هست را بدست بیارید و با تابع sum و indirect آنرا محاسبه کنید(ضمنا میتوانید فرمول اول را نیز داخل فرمول دوم بصورت یک فرمول تبدیل کنید)

              کد PHP:
              =ADDRESS(Row(),MATCH(1000000,F7:XFD7,1)+5
              کد PHP:
              =SUM(F7:INDIRECT(C7)) 
              فایل های پیوست شده
              Last edited by iranweld; 2016/08/12, 00:07.

              کامنت

              چند لحظه..