تابع لیست کردن تمام دانش اموزانی که غایب بوده اند

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

    • 2013/12/14
    • 120
    • 5.00

    [حل شده] تابع لیست کردن تمام دانش اموزانی که غایب بوده اند

    با سلام خدمت اساتید گرامی
    عذر خواهم اکسلی دارم که لیست اسامی دانش اموزانم در ان وجود دارد.حضور و غیاب دانش اموزانم را توسط این اکسل انجام می دهم و جلوی هر دانش اموزی که غایب باشد عبارت (غ) نوشته می شود.جسارتا تایعی می خواهم که بعد از این که حضور و غیاب به انمام رسید لیست تمام غایبین را زیر هم بنویسد و به من بدهد تا بنده به مدیریت اعلام کنم.
  • حسام بحرانی

    • 2013/09/29
    • 2065
    • 72.00

    #2
    سلام دوست عزیز
    لطفاً فایل نمونه قرار بدید.
    موفق باشید.
    [CENTER][B][SIZE=5][COLOR=#006600][FONT=georgia][COLOR=#800000]!With [/COLOR][/FONT][/COLOR][COLOR=#006600][FONT=georgia]God [/FONT][/COLOR][COLOR=#006600][FONT=georgia][COLOR=#800000]all [/COLOR][/FONT][/COLOR][COLOR=#800000][FONT=georgia]things are [/FONT][/COLOR][COLOR=#006600][FONT=georgia]possible[/FONT][/COLOR][/SIZE][/B][B][FONT=Tahoma]
    [/FONT][/B][/CENTER]
    [CENTER][B][FONT=Tahoma] [IMG]http://forum.exceliran.com/attachment.php?attachmentid=5334&d=1419428336[/IMG]
    [/FONT][/B][SIZE=1][FONT=Tahoma][B][FONT=Tahoma]
    [/FONT][/B][/FONT][/SIZE]
    [/CENTER]

    کامنت

    • ali65e

      • 2013/12/14
      • 120
      • 5.00

      #3
      3-34.xls
      تقدیم به حضورتان

      کامنت

      • generalsamad
        مدير تالار توابع

        • 2014/06/22
        • 1496

        #4
        با سلام
        فایل ضمیمه را مشاهده کنید
        از فرمول آرایه ای می توان استفاده کرد
        کد PHP:
        =iferror(index(b$2:b$34,small(if(c$2:c$34<>"",row(c$1:c$33),""),row(a1))),""
        فایل های پیوست شده
        [CENTER]
        [SIGPIC][/SIGPIC]
        [/CENTER]

        کامنت

        • ali65e

          • 2013/12/14
          • 120
          • 5.00

          #5
          نوشته اصلی توسط generalsamad
          با سلام
          فایل ضمیمه را مشاهده کنید
          از فرمول آرایه ای می توان استفاده کرد
          کد PHP:
          =iferror(index(b$2:b$34,small(if(c$2:c$34<>"",row(c$1:c$33),""),row(a1))),""
          با سلام و تشکر .استاد عزیز این تابعی که شما زحمت کشیدید خوب هست فقط یک مشکلی که دارد اگر یک دانش اموز تاخیر داشته باشد و حرف (ت) جلویش ثبت شود باز هم اسمش در لیست غایبین اورده می شود.تابعی می خواهم که فقط لیست دانش اموزانی که جلوی اسمشان حرف (غ) امده است را لیست کند

          کامنت

          • generalsamad
            مدير تالار توابع

            • 2014/06/22
            • 1496

            #6
            با سلام
            فرمول را بدین صورت تغییر دهید
            کد PHP:
            =iferror(index(b$2:b$34,small(if(c$2:c$34="غ",row(c$1:c$33),""),row(a1))),""
            [CENTER]
            [SIGPIC][/SIGPIC]
            [/CENTER]

            کامنت

            • ali65e

              • 2013/12/14
              • 120
              • 5.00

              #7
              نوشته اصلی توسط generalsamad
              با سلام<br>
              فرمول را بدین صورت تغییر دهید<br>
              کد PHP:
              <br>
              =
              iferror(index(b$2:b$34,small(if(c$2:c$34="غ",row(c$1:c$33),""),row(a1))),"")<br
              <br>عذر خواهم طبق فرمایشتان در&nbsp; ستون c جایگذاری کردم ولی عمل نمی کند<br><br>
              خروجی غایبین2.xlsx

              کامنت

              • حسام بحرانی

                • 2013/09/29
                • 2065
                • 72.00

                #8
                Ctrl+Shift+Enter

                نوشته اصلی توسط ali65e
                <br>عذر خواهم طبق فرمایشتان در&nbsp; ستون c جایگذاری کردم ولی عمل نمی کند<br><br>
                [ATTACH]23153[/ATTACH]
                سلام
                همانطور که دوست بسیار عزیزم جناب آقای generalsamad فرمودند، می بایست از توابع بصورت
                آرایه ای استفاده کنید.

                یعنی پس از نوشتن فرمول، به جای
                Enter از کلیدهای ترکیبی Ctrl+Shift+Enter استفاده کنید:
                کد PHP:
                =IFERROR(INDEX($B$2:$B$34;SMALL(IF(C$2:C$34="غ";ROW(C$1:C$33);"");ROW($A1)));""
                موفق باشید.
                فایل های پیوست شده
                [CENTER][B][SIZE=5][COLOR=#006600][FONT=georgia][COLOR=#800000]!With [/COLOR][/FONT][/COLOR][COLOR=#006600][FONT=georgia]God [/FONT][/COLOR][COLOR=#006600][FONT=georgia][COLOR=#800000]all [/COLOR][/FONT][/COLOR][COLOR=#800000][FONT=georgia]things are [/FONT][/COLOR][COLOR=#006600][FONT=georgia]possible[/FONT][/COLOR][/SIZE][/B][B][FONT=Tahoma]
                [/FONT][/B][/CENTER]
                [CENTER][B][FONT=Tahoma] [IMG]http://forum.exceliran.com/attachment.php?attachmentid=5334&d=1419428336[/IMG]
                [/FONT][/B][SIZE=1][FONT=Tahoma][B][FONT=Tahoma]
                [/FONT][/B][/FONT][/SIZE]
                [/CENTER]

                کامنت

                • ali65e

                  • 2013/12/14
                  • 120
                  • 5.00

                  #9
                  Click image for larger version

Name:	خطاا.jpg
Views:	1
Size:	37.7 کیلو بایت
ID:	139064
                  نوشته اصلی توسط حسام بحرانی
                  سلام
                  همانطور که دوست بسیار عزیزم جناب آقای generalsamad فرمودند، می بایست از توابع بصورت
                  آرایه ای استفاده کنید.

                  یعنی پس از نوشتن فرمول، به جای
                  Enter از کلیدهای ترکیبی Ctrl+Shift+Enter استفاده کنید:
                  کد PHP:
                  =IFERROR(INDEX($B$2:$B$34;SMALL(IF(C$2:C$34="غ";ROW(C$1:C$33);"");ROW($A1)));""
                  موفق باشید.
                  با سلام و تشکر .بله شما درست می فرمایید اشتباه از بنده بود.عذر خواهم در اکسل اصلی بنده اسامی دانش اموزانم از سلول v7 تا v42 قرار دارند و و حضور و غیاب در ستون بعد از اسامی یعنی از w7 تا w42 می باشد.وقتی ارایه را با توجه به سلول هایم تغییر می دهم اکسل خطا می دهد .پیشاپیش ممنونم

                  کامنت

                  • generalsamad
                    مدير تالار توابع

                    • 2014/06/22
                    • 1496

                    #10
                    با سلام
                    به جای ; از , استفاده کنید
                    به خاطر separator (جداکننده آرگومان ها) سیستمتون می باشد
                    [CENTER]
                    [SIGPIC][/SIGPIC]
                    [/CENTER]

                    کامنت

                    • ali65e

                      • 2013/12/14
                      • 120
                      • 5.00

                      #11
                      دفترنمره.xlsx
                      نوشته اصلی توسط generalsamad
                      با سلام
                      به جای ; از , استفاده کنید
                      به خاطر separator (جداکننده آرگومان ها) سیستمتون می باشد
                      تغییری که فرمودید را انجام دادم و ارور برطرف گردید فقط یک مشکلی که بوجود دارد این است این است که لیست غایبین به درستی لیست نمی شود و لیست غایبین واقعی با لیست دانش اموزانی که تابعی که شما زحمت کشیده اید می دهد، فرق دارد.احتراما اکسل خود را خدمتتون ارسال می کنم

                      کامنت

                      • generalsamad
                        مدير تالار توابع

                        • 2014/06/22
                        • 1496

                        #12
                        با سلام
                        از این فرمول استفاده کنید
                        کد PHP:
                        =iferror(index(v$7:v$42,small(if(w$7:w$42="غ",row(w$6:w$41)-5,""),row(a1))),""
                        سعی کنید فرمول را یاد بگیرید که چرا تغییر ایجاد شده و این تغییر به چه معناست
                        [CENTER]
                        [SIGPIC][/SIGPIC]
                        [/CENTER]

                        کامنت

                        • ali65e

                          • 2013/12/14
                          • 120
                          • 5.00

                          #13
                          نوشته اصلی توسط generalsamad
                          با سلام
                          از این فرمول استفاده کنید
                          کد PHP:
                          =iferror(index(v$7:v$42,small(if(w$7:w$42="غ",row(w$6:w$41)-5,""),row(a1))),""
                          سعی کنید فرمول را یاد بگیرید که چرا تغییر ایجاد شده و این تغییر به چه معناست
                          ممنون استاد بله حتما .استاد فقط یک سوال دیگه
                          می بخشید من اسامی دانش اموزانم همیشه در ستون v ، و ستون حضور و غیاب در ستون های مختلف قرار دارد .بنده وقتی تابعی که شما زحمت می کشید را می خواهم برای حضور و غیاب تاریخ های دیگر کپی پیست(ctrl+f) کنم عمل نمی کند مثلا برای حضور وغیاب ستون AB وقتی پیست می کنم اینگونه پیست می شود و عمل نمی کند.
                          کد PHP:
                          =IFERROR(INDEX(AA$7:AA$42,SMALL(IF(AB$7:AB$42="غ",ROW(AB$6:AB$41)-5,""),ROW(F1))),""
                          بفرمایید چگونه کپی پیست این ارایه را باید انجام دهم

                          کامنت

                          • generalsamad
                            مدير تالار توابع

                            • 2014/06/22
                            • 1496

                            #14
                            با سلام
                            باید طریقه آدرس دهی ستون را در فرمول تغییر دهید
                            کد PHP:
                            =iferror(index($v$7:$v$42,small(if(ab$7:ab$42="غ",row(ab$6:ab$41)-5,""),row($a1))),""
                            [CENTER]
                            [SIGPIC][/SIGPIC]
                            [/CENTER]

                            کامنت

                            چند لحظه..