شمارش سلولهای رنگی در شرایط خاص

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

    • 2013/10/23
    • 29
    • 57.00

    شمارش سلولهای رنگی در شرایط خاص

    با سلام

    فرض کنید 30 تا کد 7 رقمی داریم که مربوط به شرکت آلفا است.
    هر روز کدهای 7 رقمی بسیاری از شرکتهای مختلف به دست ما میرسد که میخواهیم پس از ثبت کدها، رنگ کدهایی که متعلق به شرکت آلفا است، قرمز شود و این کدها به صورت اتوماتیک شمارش شوند. (نمیخواهیم از Conditional Formatting استفاده کنیم تا شمارش سلولهای رنگی در اکسل 2013 به مشکل بر نخورد)

    لطفا بفرمایید چه راهکاری دارد؟

    با تشکر قبلی.
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام

    فایل پیوست با کد نویسی تهیه گردیده است. چنانچه کد 1234567 وارد شود سلول به رنگ قرمز درآمده و تعداد این کد در ستون شمارش میگردد

    کد PHP:
    Sub Worksheet_Change(ByVal Target As Range)
        If 
    Not Intersect(TargetMe.Range("A:A")) Is Nothing Then
        
        
    If Target.Value 1234567 Then
        
        Target
    .Interior.ColorIndex 3
            
        
    Else
        
        
    Target.Interior.ColorIndex 0
            
        End 
    If
           
               
        
    End If
        
        
    Application.EnableEvents False
        
        Z1 
    Cells(Rows.Count"A").End(xlUp).Row
        
        T 
    0
        
        
    For 1 To Z1
        
        
    If Range("A" I) = 1234567 Then
        
        T 
    1
        
        End 
    If
        
        
    Next
        
        Range
    ("B2") = "COD 1234567"
        
        
    Range("C2") = T
        
        Application
    .EnableEvents True
        
        End Sub 
    فایل های پیوست شده

    کامنت

    • sma519

      • 2013/10/23
      • 29
      • 57.00

      #3
      با سلام

      ضمن تشکر از زحمت شما، عذرخواهی میکنم که سوال را کامل و رسا خدمتتان عرض نکردم.

      تمام سریالها از تمامی شرکتها 7 رقمی هستند. اما از بین اینها شرکتی بنام آلفا فقط 30 تا سریال ثابت دارد که برای ما مشخص هستند
      فرض کنید هر روز 10 سریال از چند شرکت به دست ما میرسد که ممکن است شامل سریالهای شرکت آلفا نیز باشد یا نباشد. در هر صورت ما میخواهیم سلول مربوط به شمارش روزانه را (ستون D در فایل پیوست) طوری فرمول نویسی کنیم که از بین 10 سریال رسیده، فقط سریالهای آلفا را برایمان شمارش کند.

      در فایل پیوستی دو تا شیت وجود دارد. (با اکسل 2013 ایجاد شده است)

      شیت اول با استفاده از Conditional Formatting سریالهای مربوطه را با رنگ قرمز برایمان نشان میدهد اما نتوانستم این سلولها را فرمول یا ماکرو شمارش کنم. ظاهرا آفیس 2007 به بالا با Conditional Formatting مشکل دارد.

      شیت دوم بدون Conditional Formatting است. هدف از ایجاد این شیت این بود که بلکه دوستان روشی آسانتر ارائه دهند و نیازی به این همه پیچیدگی نباشد. مثلاً فرمول شمارش را طوری تنظیم کنیم که 30 تا سریال آلفا در یک محدوده برایش تعریف شود و از بین 10 سریال وارده روزانه، فقط آنهایی را که متعلق به آلفا هستند، شمارش کند.

      با تشکر قبلی.
      فایل های پیوست شده

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام

        امیدوارم در فایل پیوست منظور جنابعالی را درست انجام داده باشم
        فایل های پیوست شده

        کامنت

        • sma519

          • 2013/10/23
          • 29
          • 57.00

          #5
          سلام دوست گرامی.

          بله دقیقا همان است که نیاز داشتم. از لطف شما صمیمانه سپاسگذارم.
          فقط ممنون میشوم اگر مطابق شکل زیر فرمول بکار رفته در Conditional Formatting را کمی توضیح بدید. مثلا متوجه نشدم چرا در تابع IF برای همه سلولها از E5 استفاده شده. و یا اینکه آرگومان دوم تابع SMALL چکار میکند و غیر از 1 چه مقادیر دیگری میتواند داشته باشد.

          Click image for larger version

Name:	Untitled-1.jpg
Views:	1
Size:	213.9 کیلو بایت
ID:	133213

          با تشکر
          Last edited by sma519; 2017/06/29, 12:41.

          کامنت

          چند لحظه..