ارتباط دادن بزرگترین عدد متناظر یک ستون نسبت به ستون کناری با همان رفرنس در جدول دیگر

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • keyvana

    • 2016/07/21
    • 26

    ارتباط دادن بزرگترین عدد متناظر یک ستون نسبت به ستون کناری با همان رفرنس در جدول دیگر

    با سلام و درود فراوان
    2 جدول شماره 1 و 2 دارم. چه فرمولی در ستون c می شود نوشت که بزرگترین عدد هر تاریخ از جدول 2 (مثلا عدد 200 از تاریخ 3 ) را مقابل آخرین ردیف از تاریخ 3 از جدول 1 (یعنی ردیف 12) یا خانه c12 قرار دهد. البته برای تمام سطرها و این را بعنوان مثال گفتم. (نتیجتآ خروجی آخر کار بشود مثل ستون d که تایپ دستی کردم.) فایل پیوست هم دارد.
    این را هم باید در نظر گرفت که اگر تاریخ متناظری از جدول 1 در جدول 2 نبود آخرین تاریخ قبل از آن را لحاظ کند. مثل تاریخ 8 از جدول 1 که در جدول 2 نیست و تاریخ 7 از جدول 2 را در نظر گرفته است. با تشکر

    a b c d e f
    جدول 1 جدول 2
    تاریخ تعداد تاریخ مقدار
    1 200 1 100
    1 150 1 150
    1 300 150 2 150
    2 100 3
    100
    2 50 150 3 200
    3
    500 4 250
    3 420 4 300
    3 400 4 350
    3 120 5 380
    3 180 200 6 400
    4 300 350 6 450
    5 220 380 7 500
    6 250 7 520
    6 330 7 550
    6 110 450 7 600
    7 250 9 620
    7 260 600 11 630
    8 110 600 11 650
    9 550 620 12 700
    10 550 620
    11 600 650
    12 100
    12 50
    12 150
    12 230 700
  • rasools13

    • 2017/01/20
    • 360
    • 80.00

    #2
    سلام مشابه این سوال نیز قبلا مطرح شده بود

    از تابع ذیل میتوانید استفاده کنید
    فایل پیوست رو بررسی کنید
    کد PHP:
    Function Max_My1(Range As RangeCriteria_Range As RangeCriteria) As Variant
        Dim Result 
    As Variant
        Dim Row
    ColAs Integer
        With Application
    .WorksheetFunction
            
    For 0 To 100 Step 1
                
    If .CountIf(Criteria_RangeCriteria) = 0 Then
                    Criteria 
    Criteria 1
                
    Else
                    Exit For
                
    End If
            
    Next
            
    For Each c_rng In Criteria_Range
              
    If c_rng Criteria Then
                  Row 
    c_rng.Row
                  Col 
    Range.Column
                  Result 
    = .Max(ResultCells(RowCol))
              
    End If
            
    Next
        End With
        Max_My1 
    Result
    End 
    Function 
    فایل های پیوست شده
    [CENTER][B]بهترین راه ذخیره زمان(یادگیری)،،حل مشکلات دیگران است
    [COLOR=#0000ff]مشکلات دیگران، روزی مشکلات ما هم خواهد شد[/COLOR][/B][COLOR=#ff0000][B][FONT=arial][/FONT][/B][/COLOR]
    [/CENTER]

    کامنت

    • keyvana

      • 2016/07/21
      • 26

      #3
      ممنون از راهنماییتون. ولی این کد رو باید کجا بزنم؟ فرمول رو تو فایل اصلیم چجوری باید وارد کنم؟

      کامنت

      • keyvana

        • 2016/07/21
        • 26

        #4
        فایل رو نتونستم ضمیمه کنم ولی لطفاً با همین ساختار زیر در ستون c به من فرمول بدید. بی نهایت ممنون خواهم بود

        a b c d e f
        جدول 1 جدول 2
        تاریخ تعداد تاریخ مقدار
        1 200 1 100
        1 150 1 150
        1 300 150 2 150
        2 100 3 100
        2 50 150 3 200
        3 500 4 250
        3 420 4 300
        3 400 4 350
        3 120 5 380
        3 180 200 6 400
        4 300 350 6 450
        5 220 380 7 500
        6 250 7 520
        6 330 7 550
        6 110 450 7 600
        7 250 9 620
        7 260 600 11 630
        8 110 600 11 650
        9 550 620 12 700
        10 550 620
        11 600 650
        12 100
        12 50
        12 150
        12 230 700

        کامنت

        • rasools13

          • 2017/01/20
          • 360
          • 80.00

          #5
          دکمه های alt + f11 رو بزنید و در کادر باز شده همانند تصویر پیوست روی نام فایل خود کلیک راست کرده و یک module ایجاد و کد رو در این ناحیه کپی کنید
          .
          Click image for larger version

Name:	S5png.png
Views:	5
Size:	42.1 کیلو بایت
ID:	131814
          .
          حالا همانند فرمول های دیگه با نوشتن نام فرمول(Max_my1) در سلول میتوانید ان را از لیست انتخاب کنید
          نحوه استفاده از فرمول:
          آرگومان اول : محدوده یررسی مقدار ماکزیمم
          آرگومان دوم : محدوده بررسی تاریخ
          آرگومان سوم : مقدار تاریخ مورد نظر
          [CENTER][B]بهترین راه ذخیره زمان(یادگیری)،،حل مشکلات دیگران است
          [COLOR=#0000ff]مشکلات دیگران، روزی مشکلات ما هم خواهد شد[/COLOR][/B][COLOR=#ff0000][B][FONT=arial][/FONT][/B][/COLOR]
          [/CENTER]

          کامنت

          • keyvana

            • 2016/07/21
            • 26

            #6
            سلام
            تابع رو در جایی که فرمودید کپی کردم ولی اون کاری که تو فایل اصلیم میخواستم رو انجام نداد.
            فایل اصلی شبیه اونیه که بالا کپی کردم.

            بازم ممنون از راهنماییتون.

            کامنت

            • rasools13

              • 2017/01/20
              • 360
              • 80.00

              #7
              نوشته اصلی توسط keyvana
              سلام
              تابع رو در جایی که فرمودید کپی کردم ولی اون کاری که تو فایل اصلیم میخواستم رو انجام نداد.
              فایل اصلی شبیه اونیه که بالا کپی کردم.

              بازم ممنون از راهنماییتون.
              انجام میده... لطفا یک فایل پیوست کنید تا روی آن انجام و توضیح داده شود
              [CENTER][B]بهترین راه ذخیره زمان(یادگیری)،،حل مشکلات دیگران است
              [COLOR=#0000ff]مشکلات دیگران، روزی مشکلات ما هم خواهد شد[/COLOR][/B][COLOR=#ff0000][B][FONT=arial][/FONT][/B][/COLOR]
              [/CENTER]

              کامنت

              • rahi_feri

                • 2014/08/08
                • 524
                • 94.67

                #8
                سلام
                مشابه همین سوال رو پرسیدید و مفصل بحث شد و روش های گوناگون ارایه شد!
                لینک

                برای حذف و عدم نمایش صفر هم می تونید شرط بگذارید! به همه روش هایی که در لینک بالا اومده هم میشه این کار رو کرد!
                تابع جناب rasools13 هم کار میکنه که فقط یه جا نیاز به اصلاح داره ...!
                چک کنید....!
                فایل های پیوست شده
                [B][SIZE=1]بخش امضاء :
                [/SIZE][/B][LEFT]
                [CODE]
                Sub Macro()
                ActiveCell = "IY" & Right(Application.Name, 5)
                With ActiveCell.Characters(Start:=2, Length:=1).Font
                .Name = "Webdings"
                .Color = 255
                End With
                End Sub
                [/CODE]
                [/LEFT]

                کامنت

                • keyvana

                  • 2016/07/21
                  • 26

                  #9
                  با تشکر از همه دوستان عزیز

                  در فایل پیوست فوق که ارسال فرمودید اطلاعات ستون D که آقای rasools13 فرمول دادن صحیحه. ولی در ستون C که جناب rahi_feri زحمت کشیدن دو شیتی که زرد رنگ کردم یعنی c21 و c23 فرمول عمل نکرده. زیرا میبایستی مقادیر مربوط به تاریخهای 8 و 10 که در جدول 2 این تاریخها نیست به جاش مقادیر تاریخهای 7 و 9 منعکس میشد. مثل ستون d
                  Copy of S1.zip

                  کامنت

                  چند لحظه..