پیدا کردن مقدار

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

    • 2018/04/21
    • 59

    [حل شده] پیدا کردن مقدار

    سلام دوستان، در ستون a یکسری شماره سریال داریم و در ستون b مقادیر مرتبط با همان شماره سریال.
    حالا میخوام در سلول e1 شماره سریال رو وارد کنم و در سلول e2 مقدارش رو نشان بده. به طور مثال سریال 500253 رو در سلول e1 قرار بدیم و مقدار 142 رو در سلول e2 نشان بده.
    لطفا در این مورد راهنمایی بفرمایید. با تشکر...
    فایل های پیوست شده
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    سلام دوست عزيز
    شما بايد از تابع vlookup استفاده كنيد. تو انجمن سرچ كنيد خيلي موارد مشابه وجود داره

    کامنت

    • rayeagni

      • 2018/04/21
      • 59

      #3
      نوشته اصلی توسط Amir Ghasemiyan
      سلام دوست عزيز
      شما بايد از تابع vlookup استفاده كنيد. تو انجمن سرچ كنيد خيلي موارد مشابه وجود داره

      ممنون از بابت راهنمایتان ولی با vlookup نمیشه. میخوام مقدار یک سلول پایین تر رو بده. آقای حسینی آدمین محترم کانال فرمول زیر رو پیشنهاد کردند :
      کد:
      =OFFSET(INDEX($A$2:$B$20,MATCH(G1,A2:A20,0),2),1,0)


      حالا یک سوال دیگه: این فرمول رو چطوری میشه به vba نوشت؟
      با تشکر

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4598
        • 100.00

        #4
        آقاي حسيني كي هستن؟ كدوم كانال؟

        فرمول زير ساده تر هست ميتونيد از اين استفاده كنيد
        کد:
        =INDEX(B3:B25,MATCH(E1,A2:A24,0))
        در مورد VBA چندين روش ميشه اينكار رو كرد. ميشه از همين فرمول استفاده كرد. ميشه كلا از بيس كدنويسي كرد. بستگي داره كه كاري كه ميخواهيد بكنيد چطوري هست. فايلتون به چه صورته. كدي كه نوشتين به چه صورته و خيلي مسائل ديگه.
        اگر با vba نياز داريد فايل نمونه بذاريد براتون درست كنم

        کامنت

        • rayeagni

          • 2018/04/21
          • 59

          #5
          نوشته اصلی توسط Amir Ghasemiyan
          آقاي حسيني كي هستن؟ كدوم كانال؟

          فرمول زير ساده تر هست ميتونيد از اين استفاده كنيد
          کد:
          =INDEX(B3:B25,MATCH(E1,A2:A24,0))
          در مورد VBA چندين روش ميشه اينكار رو كرد. ميشه از همين فرمول استفاده كرد. ميشه كلا از بيس كدنويسي كرد. بستگي داره كه كاري كه ميخواهيد بكنيد چطوري هست. فايلتون به چه صورته. كدي كه نوشتين به چه صورته و خيلي مسائل ديگه.
          اگر با vba نياز داريد فايل نمونه بذاريد براتون درست كنم


          کانال تلگرام

          ممنون این فایل منه

          فایل های پیوست شده

          کامنت

          • Amir Ghasemiyan

            • 2013/09/20
            • 4598
            • 100.00

            #6
            نوشته اصلی توسط rayeagni
            کانال تلگرام

            ممنون این فایل منه

            فايلتون رو بررسي كردم. متوجه نميشم چه نيازي داريد كه كد vba استفاده كنيد. فرمولي كه بهتون دادم هم خيلي سادست هم دقيق.
            نيازتون رو بفرماييد تا بهتر بشه راهنماييتون كرد

            کامنت

            • rayeagni

              • 2018/04/21
              • 59

              #7
              نوشته اصلی توسط amir ghasemiyan
              فايلتون رو بررسي كردم. متوجه نميشم چه نيازي داريد كه كد vba استفاده كنيد. فرمولي كه بهتون دادم هم خيلي سادست هم دقيق.
              نيازتون رو بفرماييد تا بهتر بشه راهنماييتون كرد

              ستون a سریالهای کنتور دیجیتاله و ستون b تاریخ و مقدار کارکرد کنتور رو نشون میده. می خوام باستفاده از vba قبص هر کنتور رو درست کنم. که نیاز به طراحی یوزرفرم و vba داره. کدنویسی رو تاحدودی بلدم.
              فرمولی که شما دادید تاریخ رو میده، من میخوام عددی که در زیر سلول تاریخ قرار داره با نوشتن سریال نشون داده بشه.
              Click image for larger version

Name:	001.jpg
Views:	1
Size:	43.9 کیلو بایت
ID:	137305

              کامنت

              • Amir Ghasemiyan

                • 2013/09/20
                • 4598
                • 100.00

                #8
                نوشته اصلی توسط rayeagni

                ستون a سریالهای کنتور دیجیتاله و ستون b تاریخ و مقدار کارکرد کنتور رو نشون میده. می خوام باستفاده از vba قبص هر کنتور رو درست کنم. که نیاز به طراحی یوزرفرم و vba داره. کدنویسی رو تاحدودی بلدم.
                فرمولی که شما دادید تاریخ رو میده، من میخوام عددی که در زیر سلول تاریخ قرار داره با نوشتن سریال نشون داده بشه.
                [ATTACH=CONFIG]20089[/ATTACH]
                فرمول INDEX كه دادم عدد زير تاريخ رو ميده. دوباره بررسيش كنيد
                خب براي طراحي قبض با vba نياز نيست همه كارها تو كدها انجام بشه. از اونجايي كه سرعت و دقت فرمول ها بيشتر از كدنويسي هست ما معمولا ترجيح ميديم تا جايي كه ممكنه بجاي كد از فرمول استفاده كنيم
                حالا بازم اگه شما اصرار داريد حتما با كدنويسي جستجو انجام بشه بگيد تا براتون درست كنم

                کامنت

                • rayeagni

                  • 2018/04/21
                  • 59

                  #9
                  نوشته اصلی توسط amir ghasemiyan
                  فرمول index كه دادم عدد زير تاريخ رو ميده. دوباره بررسيش كنيد
                  خب براي طراحي قبض با vba نياز نيست همه كارها تو كدها انجام بشه. از اونجايي كه سرعت و دقت فرمول ها بيشتر از كدنويسي هست ما معمولا ترجيح ميديم تا جايي كه ممكنه بجاي كد از فرمول استفاده كنيم
                  حالا بازم اگه شما اصرار داريد حتما با كدنويسي جستجو انجام بشه بگيد تا براتون درست كنم

                  بله حق با شما است فرمول نویسی بهتره ولی به دلایلی مجبورم از vba استفاده کنم. اگر امکانش هست در نوشتن کد vba فرمولها راهنمایی بفرمایید. تشکر
                  کد:
                  =index(b3:b25,match(e1,a2:a24,0))[left][/left]


                  کد:
                  =offset(index($a$2:$b$20,match(g1,a2:a20,0),2),1,0)[left]
                  [/left]

                  کامنت

                  • Amir Ghasemiyan

                    • 2013/09/20
                    • 4598
                    • 100.00

                    #10
                    بسيار خوب. مشكلي نيست. شما فايلي كه درست كرديد رو بذاريد ببينم با چه روشي براتون درست كنم بهتره

                    کامنت

                    • rayeagni

                      • 2018/04/21
                      • 59

                      #11
                      نوشته اصلی توسط amir ghasemiyan
                      بسيار خوب. مشكلي نيست. شما فايلي كه درست كرديد رو بذاريد ببينم با چه روشي براتون درست كنم بهتره
                      فایل رو هنوز کار نکردم. بی زحمت نحوه نوشتن vba فرمولها رو راهنمایی بفرمایید. هنوز اون فایل اصلی مقادیر آماده نشده. ممنون

                      کامنت

                      • Amir Ghasemiyan

                        • 2013/09/20
                        • 4598
                        • 100.00

                        #12
                        کد:
                        Private Sub Worksheet_Change(ByVal Target As Range)
                        If Intersect(Target, Range("E2")) Is Nothing Then Exit Sub
                        
                        
                        myVal = ""
                        
                        
                        For Each cel In Range("A4:A100")
                            If cel.Value <> "" And cel.Value = Target.Value Then
                                myVal = cel.Offset(1, 1).Value
                                Exit For
                            End If
                        Next cel
                        
                        
                        [B][COLOR=#0000CD]Range("F2").Value = myValاگه ندونم چطور كدنويسي كردين نميتونم خوب راهنماييتون كنم چون راه براي اينكار خيلي زياده. بهتره شما اول كدهاتون و هر كاري كه لازم داريد انجام بديد بعد بگيد من براتون اين قسمت رو مطابق فايلتون درست كنم
                        
                        ولي به هر حال براي اينكه سوالتون رو بي جواب نذاشته باشم يك روش رو براتون نوشتم
                        
                        
                        
                        
                        End Sub
                        بازم تاكيد ميكنم راه زياد داره كه البته من پيشنهاد ميكنم از فرمول استفاده كنيد نه كدنويسي[/COLOR][/B]

                        کامنت

                        • rayeagni

                          • 2018/04/21
                          • 59

                          #13
                          نوشته اصلی توسط Amir Ghasemiyan
                          کد:
                          Private Sub Worksheet_Change(ByVal Target As Range)
                          If Intersect(Target, Range("E2")) Is Nothing Then Exit Sub
                          
                          
                          myVal = ""
                          
                          
                          For Each cel In Range("A4:A100")
                              If cel.Value <> "" And cel.Value = Target.Value Then
                                  myVal = cel.Offset(1, 1).Value
                                  Exit For
                              End If
                          Next cel
                          
                          
                          [B][COLOR=#0000CD]Range("F2").Value = myValاگه ندونم چطور كدنويسي كردين نميتونم خوب راهنماييتون كنم چون راه براي اينكار خيلي زياده. بهتره شما اول كدهاتون و هر كاري كه لازم داريد انجام بديد بعد بگيد من براتون اين قسمت رو مطابق فايلتون درست كنم
                          
                          ولي به هر حال براي اينكه سوالتون رو بي جواب نذاشته باشم يك روش رو براتون نوشتم
                          
                          
                          
                          
                          End Sub
                          بازم تاكيد ميكنم راه زياد داره كه البته من پيشنهاد ميكنم از فرمول استفاده كنيد نه كدنويسي[/COLOR][/B]
                          دست شما درد نکنه. ممنون...

                          کامنت

                          چند لحظه..