جستجو با رقم های اول

Collapse
X
 
  • زمان
  • نمایش
Clear All
new posts
  • Ali1082

    • 2014/04/03
    • 5

    جستجو با رقم های اول

    سلام خسته نباشید.
    من یک لیست عدد دارم و می خواهم کاربر وقتی مثلا دو رقم اول را وارد کرد، عدد هایی که با آن دو رقم شروع می شوند نمایش داده شوند.
    مثال
    لیست:
    1234
    1289
    1564

    عدد وارد شده ی کاربر:
    12

    نمایش:
    1234
    1289


    با تشکر فراوان
    Last edited by Ali1082; 2014/04/21, 09:15.
  • Nima

    • 2011/07/22
    • 385

    #2
    یک کمبو باکس ایجاد کنید بعد از لینک کردن سورستون

    کافیه تو پنجره Properties مقدار MatchEntry رو برابر با fmMatchEntryComplete قرار بدید.
    ************************************
    No LION's roar ruins my hut, I afraid of TERMITE's silence
    ************************************

    کامنت

    • s.cheraghi

      • 2011/02/27
      • 311

      #3
      اگه بخواین این کار رو تو شیت هم انجام بدین میتونین از فایل پیوست استفاده کنین.
      فایل های پیوست شده
      در یادگیری سیر نشوید

      برای ارتباط بیشتر به سایت ExcelPedia سربزنید.
      برگزاری دوره های آموزش اکسل در تهران
      آموزش توابع اکسل

      کامنت

      • Ali1082

        • 2014/04/03
        • 5

        #4
        میشه لطفا کارایی رو که کردین توضیح بدین
        چون من تازه واردم
        ممنون

        کامنت

        • s.cheraghi

          • 2011/02/27
          • 311

          #5
          ببینید من نمیدونم شما چقد با فرمول های آرایه ای آشنا هستین. اما ی توضیح کلی در مورد فرمولی که در فایل قبلی استفاده شده میدم. امیدوارم بتونه تو درک بیشتر کمک کنه:
          هدف اینه که تک تک سطرهای پر درون ستون A رو بررسی کنیم که آیا ابتدای هر کدوم برابر با عددی که در سلول خاکتسری زده شده برابر هست یا نه؟
          در کل فرمول های آرایه ای برای انجام عملیات بر روی مجموعه ای از اطلاعات است (که در اینجا مجموعه اطلاعاتی ما ستون A است). سعی میکنم اجزای این فرمول رو براتون توضیح بدم:
          کل فرمول :
          کد PHP:
          IFERROR(SMALL(IF(FLOOR(ColumnA/(10^(LEN(ColumnA)-LEN($C$2))),1)=$C$2,ColumnA,""),ROW(INDIRECT("1:"&ROWS(ColumnA)))),""
          تابع iferror که معرف حضور هست.
          کد PHP:
          FLOOR(ColumnA/(10^(LEN(ColumnA)-LEN($C$2))),1)=$C$
          در این قسمت از فرمول، تک تک اعضای ستون A را طوری بر توان های مختلف 10 تقسیم میکنیم که تنها تعداد رقم از سمت چپ که مدنظر است باقی بماند (به عنوان مثلا اگر خانه خاکستری دو رقمی هست و عددی که در حال بررسی است، 4 رقمی، باید این عدد را بر 100 تقسیم کنیم و خارج قسمت را تعیین کنیم. بخش بدست آمده تکه ای است که باید با عدد موجود در سلول خاکستری مقایسه شود.)

          کد PHP:
          IF(FLOOR(ColumnA/(10^(LEN(ColumnA)-LEN($C$2))),1)=$C$2,ColumnA,""
          حالا اعدادی که در ستون A هستند و شرط ما رو رعایت نمی کنند رو برابر تهی قرار میدیم (چون دیگه کاری باهاشون نداریم).
          توجه کنید که خروجی این بخش از فرمول یک آرایه از اعداد تهی و اعدادی که شرط ما رو رعایت میکنند (یعنی همون اعدادی که شما میخواین)
          حالا باید یک جوری این اعداد مرتب کنیم که اعداد مورد نظر در ابتدای آرایه قرار بگیرند و بخش تهی آرایه به انتهای آن منتقل بشن.
          قبل از اون باید با تابع small آشنا باشین که کارش تعیین nامین عدد کوچک در مجموعه ای از اعداد است (توجه کنید که مقدار تهی در این مقایسه ها وارد نمیشه)
          ( فکر کنم خیلی گیج شدین ولی تو یک پست امکانش نیست کل مطالب مربوط به آرایه ها رو بهتون بگم!!)

          کد PHP:
          ROW(INDIRECT("1:"&ROWS(ColumnA))) 
          این فرمول که در بخش دوم تابع small استفاده شده، برای اینه که رشته ای از اعداد 1 تا تعداد سلول های خالی ستون A ایجاد کنه (هدف از این کار تعیین جایگاه هر یک از اعداد در آرایه اصلی است)
          پس در کل فرمول زیر :
          کد PHP:
          SMALL(IF(FLOOR(ColumnA/(10^(LEN(ColumnA)-LEN($C$2))),1)=$C$2,ColumnA,""),ROW(INDIRECT("1:"&ROWS(ColumnA)))) 
          رشته ای از اعداد میده که شرط موردنظر را رعایت کردند (مابقی تهی هستند) که از کوچک به بزرگ مرتب شده اند. تمام این فرمول در تابع iferror قرار داده شده که خطاها رو با تهی عوض کنه.
          در یادگیری سیر نشوید

          برای ارتباط بیشتر به سایت ExcelPedia سربزنید.
          برگزاری دوره های آموزش اکسل در تهران
          آموزش توابع اکسل

          کامنت

          • Ali1082

            • 2014/04/03
            • 5

            #6
            ممنون از راهنماییتون، کارم راه افتاد.

            کامنت

            Working...