جستجو در اکسل

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • silsin
    • 2019/10/26
    • 4

    پرسش جستجو در اکسل

    سلام یه سوال داشتم
    من یه فایل اکسل دارم که توش ارقام 6 رقمی وجود داره یه فرمول میخوام
    یه عدد بهش بدم که یکان دهگان و صدگان و غیره را برام مقایسه کنه و بیشترین عددی که مشابه اون عددی که من دادم تو لیست هست اون عدد را برا بهم نشون بده به طور مثال
    من رقم 111111 را سرچ کردم برنامه تو لیست اعداد من گشت و این عدد را پیدا کرد 111321 این رقم بیشترین شباهت به رقم بنده را دارد یکان و هزارگان وغیره با هم برابر بود
    من فرمول این را میخوام امکانش هست راهنمایم کنی


    بیشترین عددی که جایی خودش هست را بهم نشون بده
  • M_ExceL

    • 2018/04/23
    • 677

    #2
    نوشته اصلی توسط silsin
    سلام یه سوال داشتم
    من یه فایل اکسل دارم که توش ارقام 6 رقمی وجود داره یه فرمول میخوام
    یه عدد بهش بدم که یکان دهگان و صدگان و غیره را برام مقایسه کنه و بیشترین عددی که مشابه اون عددی که من دادم تو لیست هست اون عدد را برا بهم نشون بده به طور مثال
    من رقم 111111 را سرچ کردم برنامه تو لیست اعداد من گشت و این عدد را پیدا کرد 111321 این رقم بیشترین شباهت به رقم بنده را دارد یکان و هزارگان وغیره با هم برابر بود
    من فرمول این را میخوام امکانش هست راهنمایم کنی


    بیشترین عددی که جایی خودش هست را بهم نشون بده
    سلام،
    بفرض مقادیر شما داخل رنج a1:a9 قرار دارد.
    یکی از فرمول های آرایه ای زیر رو تست کنید.
    مقدار مورد جستجو را داخل سلول f5 وارد کنید.
    (بعد از وارد کردن فرمول، کلید های Ctrl+Shift+Enter رو فشار دهید)
    کد:
    =INDEX(A1:A9,MATCH(1,--((A1:A9-F5<100)*(A1:A9-F5>-100)),0))
    کد:
    =INDEX(A1:A9,MATCH(1,--((A1:A9-F5<100)*(A1:A9-F5>-100)),1))
    یا حق.
    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
    [/CENTER]

    کامنت

    • silsin
      • 2019/10/26
      • 4

      #3
      ارور میده

      کامنت

      • silsin
        • 2019/10/26
        • 4

        #4
        اون جوابی که من میخوام را دفع اول دست میگه بعد دوباره اشتباه جواب میده
        من به ترتیب a1 تا a9 این ارقام وارد کردم 123456 _ 101010 _ 111222 _ 111011 _ 111100_365214 _ 987456_ 011111 و عدد جستجو من این است در f5 قرار دادم 111111

        حالا باید f5 را با a1 تا a9 مقایسه کنی بشترین عددی که شباهت به f5 داره را نشون بده برای مثال باید این عدد را تشون بده 111011 چون فقط توی یک عدد اختلاف داره و بقیه اعداد سر جای خودشون هستن

        کامنت

        • silsin
          • 2019/10/26
          • 4

          #5
          آقا دست شد حالا یه سوال دیگه میخوام کاربر ها با توجه به این فرمول =INDEX(A1:A9,MATCH(1,--((A1:A9-F5<100)*(A1:A9-F5>-100)),1)) تو ستون a بعد اجرا مرتب بشه

          - - - Updated - - -

          و بابت هر عدد که شبیه جواب ماست امتیاز به به هر عدد بطور مثال ما عدد 111111 را سرچ کردیم
          واین اعداد را ردیف کرده و بابت هر عدد مشابه در ستون a در ستون b |رو برو عدد امتیاز بهش بده

          به طور مثال این عدد را بده 111011 امتیاز مقابلش بشه 5
          111000 این امتیاز مقابلش بشه 3
          100100 اینم امتیاز روبرو بشه 2
          این امتیاز با توجه به اون عددی که سرچ میکنیم نشون بده

          کامنت

          • M_ExceL

            • 2018/04/23
            • 677

            #6
            نوشته اصلی توسط silsin
            آقا دست شد حالا یه سوال دیگه میخوام کاربر ها با توجه به این فرمول =INDEX(A1:A9,MATCH(1,--((A1:A9-F5<100)*(A1:A9-F5>-100)),1)) تو ستون a بعد اجرا مرتب بشه

            - - - Updated - - -

            و بابت هر عدد که شبیه جواب ماست امتیاز به به هر عدد بطور مثال ما عدد 111111 را سرچ کردیم
            واین اعداد را ردیف کرده و بابت هر عدد مشابه در ستون a در ستون b |رو برو عدد امتیاز بهش بده

            به طور مثال این عدد را بده 111011 امتیاز مقابلش بشه 5
            111000 این امتیاز مقابلش بشه 3
            100100 اینم امتیاز روبرو بشه 2
            این امتیاز با توجه به اون عددی که سرچ میکنیم نشون بده
            سلام،
            فایل زیر رو بررسی کنید.
            ابتدا ماکرو را فعال کرده سپس روی باتن 1 کلیک کنید.
            توضیح : تعداد رقم عدد مورد جستجو باید با تعداد رقم اعدادی که وارد کردید برایر باشد. (تعداد کاراکتر)
            کد:
            Sub m_excel()
            
            Dim svalue As Variant
            Dim rng As Range
            Dim cel As Variant
            Dim p, i As Byte
            
            Range("d2:d" & Rows.Count).ClearContents
            Range("e2:e" & Rows.Count).ClearContents
            svalue = Range("c2").Value: Set rng = Range("a1:a25")
                For Each cel In rng: p = 0
                    If Len(cel) = Len(svalue) Then
                            For i = 1 To Len(cel)
                                If Mid(cel, i, 1) = Mid(svalue, i, 1) _
                                And Mid(cel, 1, 1) = Mid(svalue, 1, 1) Then
                                    p = p + 1
                                End If
                            Next
                        Select Case p
                            Case 6
                                Range("d" & Rows.Count).End(3).Offset(1) = cel
                                Range("d" & Rows.Count).End(3).Offset(, 1) = 6
                            Case 5
                                Range("d" & Rows.Count).End(3).Offset(1) = cel
                                Range("d" & Rows.Count).End(3).Offset(, 1) = 5
                            Case 4
                                Range("d" & Rows.Count).End(3).Offset(1) = cel
                                Range("d" & Rows.Count).End(3).Offset(, 1) = 4
                            Case 3
                                Range("d" & Rows.Count).End(3).Offset(1) = cel
                                Range("d" & Rows.Count).End(3).Offset(, 1) = 3
                            Case 2
                                Range("d" & Rows.Count).End(3).Offset(1) = cel
                                Range("d" & Rows.Count).End(3).Offset(, 1) = 2
                            Case 1
                                Range("d" & Rows.Count).End(3).Offset(1) = cel
                                Range("d" & Rows.Count).End(3).Offset(, 1) = 1
                        End Select
                    End If
                Next
            End Sub
            فایل های پیوست شده
            Last edited by M_ExceL; 2019/10/27, 20:29.
            [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
            [/CENTER]

            کامنت

            چند لحظه..