excel - معين - معادلة if بالالوان




عد قائمة بالخلايا ذات لون الخلفية نفسه (4)

أنا فقط خلق هذا ويبدو أنه أسهل. يمكنك الحصول على هذه الوظائف 2:

=GetColorIndex(E5)  <- returns color number for the cell

من (خلية)

=CountColorIndexInRange(C7:C24,14) <- returns count of cells C7:C24 with color 14

من (مجموعة من الخلايا، ورقم اللون الذي تريد الاعتماد)

مثال يدل على النسبة المئوية من الخلايا مع اللون 14

=ROUND(CountColorIndexInRange(C7:C24,14)/18, 4 )

إنشاء هذه الوظائف 2 فبا في وحدة نمطية (ضرب ألت-F11)

فتح + مجلدات. انقر نقرا مزدوجا فوق Module1

ما عليك سوى لصق هذا النص أدناه، ثم إغلاق نافذة الوحدة النمطية (يجب حفظه بعد ذلك):

Function GetColorIndex(Cell As Range)
  GetColorIndex = Cell.Interior.ColorIndex
End Function

Function CountColorIndexInRange(Rng As Range, TestColor As Long)
  Dim cnt
  Dim cl As Range
  cnt = 0

  For Each cl In Rng
    If GetColorIndex(cl) = TestColor Then
      Rem Debug.Print ">" & TestColor & "<"
      cnt = cnt + 1
    End If
  Next

  CountColorIndexInRange = cnt

End Function

تحتوي كل خلية على بعض النص ولون الخلفية. لذلك لدي بعض الخلايا الزرقاء وبعضها أحمر. ما هي الوظيفة التي يمكنني استخدامها لحساب عدد الخلايا الحمراء؟

لقد حاولت =COUNTIF(D3:D9,CELL("color",D3)) مع أي نجاح (حيث D3 أحمر).


ترجع صيغة ورقة العمل، =CELL("color",D3) 1 إذا كانت الخلية منسقة مع اللون للقيم السالبة (إرجاع 0 ).

يمكنك حل هذا مع قليلا من فبا. إدراج هذا في وحدة التعليمات البرمجية فبا:

Function CellColor(xlRange As Excel.Range)
    CellColor = xlRange.Cells(1, 1).Interior.ColorIndex
End Function

ثم استخدم الدالة =CellColor(D3) لعرض .ColorIndex من D3


ليس لدى إكسيل أي طريقة لجمع هذه السمة مع وظائف مدمجة. إذا كنت ترغب في استخدام بعض ف، يتم الرد على جميع الأسئلة المتعلقة بالألوان هنا:

http://www.cpearson.com/excel/colors.aspx

مثال على الموقع:

الدالة سومكولور هي التناظرية المستندة إلى الألوان لكل من الدالة سوم و سوميف. ويسمح لك بتحديد نطاقات منفصلة للنطاق الذي يجب فحص فهارسه الملونة ونطاق الخلايا التي سيتم تلخيص قيمها. إذا كان هذين النطاقين هي نفسها، وظيفة الدالة الخلايا التي يتطابق لونها مع القيمة المحددة. على سبيل المثال، تقوم الصيغة التالية بتجميع القيم في B11: B17 الذي يكون لون التعبئة باللون الأحمر.

=SUMCOLOR(B11:B17,B11:B17,3,FALSE)


نعم فبا هو الطريق للذهاب.

ولكن، إذا كنت لا تحتاج إلى خلية مع الصيغة التي السيارات التهم / تحديثات عدد الخلايا مع لون معين، بديل هو ببساطة لاستخدام وظيفة "البحث واستبدال" وتنسيق الخلية أن يكون مناسبا لون التعبئة.

سوف ضرب "البحث عن" تعطيك العدد الإجمالي للخلايا وجدت في الجزء السفلي الأيسر من مربع الحوار.

يصبح هذا مفيدا بشكل خاص إذا كان نطاق البحث الخاص بك هائل. سوف يكون البرنامج النصي فبا بطيئا جدا ولكن وظيفة "البحث واستبدال" سوف لا تزال سريعة جدا.







excel-vba