Condividi tramite

Contare celle stesso colore

Anonimo
2023-02-11T16:03:50+00:00

come contare, in una colonna, o comunque in un intervallo di celle, il numero di celle che hanno lo stesso colore. O anche soltanto che abbiano un colore diverso da quello standard.

Vorrei farlo con le funzionei di excel, senza ricorrere a Visual basic.

Stefano

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

7 risposte

Ordina per: Più utili
  1. Anonimo
    2023-02-13T10:26:21+00:00

    Ciao Stefano,

    come contare, in una colonna, o comunque in un intervallo di celle, il numero di celle che hanno lo stesso colore. O anche soltanto che abbiano un colore diverso da quello standard.

    Vorrei farlo con le funzionei di excel, senza ricorrere a Visual basic.

    Se, viste le ottime risposte di Eleuterio e Gianfranco, sei ormai disposto a sfruttare VBA, il codice seguente fornisce una UDF (funzione utente) che conterà sia le celle colorate a mano che quelle controllate da Formattazione condizionale.

    • Alt+F11 per aprire l'editor di VBA
    • Alt+IM per inserire un nuovo modulo di codice
    • Nel nuovo modulo vuoto, incolla il seguente codice:

    '========>>

    Option Explicit

    '-------->>

    Public Function ContaColore(rData As Range, ColoreDiConfronto As Variant) As Long

    Dim rCell As Range 
    
    Dim iColor As Long, jColor As Long 
    
    Dim iCtr As Long 
    
    Application.Volatile 
    
    If TypeName(ColoreDiConfronto) = "Range" Then 
    
        jColor = ColoreDiConfronto.Interior.Color 
    
    Else 
    
        jColor = ColoreDiConfronto 
    
    End If 
    
    For Each rCell In rData.Cells 
    
        If Evaluate("Helper(" & rCell.Address() & ")") = jColor Then 
    
            iCtr = iCtr + 1 
    
        End If 
    
    Next rCell 
    
    ContaColore = iCtr 
    

    End Function

    '-------->>

    Private Function Helper(ByVal R As Range) As Double

    Helper = R.DisplayFormat.Interior.Color 
    

    End Function

    '<<========

    Nota che la funzione ContaColore può essere utilizzata come una funzione nativa di Excel;ad esempio:

      [![Immagine](https://learn-attachment.microsoft.com/api/attachments/29de44f8-e64e-4212-bf5e-ad1bbd83e46d?platform=QnA"https://1drv.ms/x/s!AmTW9HzZG8cqlCDhC8npcQ-vm7UU?e=bG08fu" title="https://1drv.ms/x/s!AmTW9HzZG8cqlCDhC8npcQ-vm7UU?e=bG08fu" rel="ugc nofollow">Stefano20230213.xlsm

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    8 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento
  2. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2023-02-11T21:49:13+00:00

    grazie Shakiru, immagino che il comando SUBTOTALE possa essere una buona strada.
    Tuttavia, tempo che la traduzione automativa mi abbia fatto perdere qualche significato.
    Inoltre, mi sono reso conto di non aver specificato che sto cercando una formula da mettere in una cella.
    Qualcosa come: =conta.se(intervallo; questocolore).

    Se non vuoi usare VBA penso ci saresti già riuscito:

    Option Explicit
    
    Function ContaColore(ByVal rngSomma As Range, ByVal rngColore As Range) As Long
    
    Dim dblSum As Double, lngColor As Long, rngCell As Range
    
        lngColor = rngColore.Cells(1, 1).Interior.Color
        For Each rngCell In rngSomma
            If rngCell.Interior.Color = lngColor Then
                ContaColore = ContaColore + 1
            End If
        Next
        
    End Function
    

    nel foglio:
    **=ContaColore (IntervalloDiSomma;CellaColorataDaUsarePerLaSomma)

    Altrimenti ti potresti affidare a INFO.CELLA con il parametro 63, ma devi usare la formula in Gestione Nomi, usare una colonna di appoggio e salvare comunque in .xlsm, scegli tu quale delle due opzioni usare.

    Ciao.

    La risposta è stata utile?

    3 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento
  3. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2023-02-12T20:00:25+00:00

    ciao

    come spiegato

    se colori a mano VBA

    non ci sono formule

    se usi la formattazione condizionale

    dicci che tipo usi e si può fare

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  4. Anonimo
    2023-02-11T19:08:23+00:00

    grazie Shakiru, immagino che il comando SUBTOTALE possa essere una buona strada.
    Tuttavia, tempo che la traduzione automativa mi abbia fatto perdere qualche significato.
    Inoltre, mi sono reso conto di non aver specificato che sto cercando una formula da mettere in una cella.
    Qualcosa come: =conta.se(intervallo; questocolore).

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  5. Anonimo
    2023-02-11T17:12:31+00:00

    Ciao Stefano45!

    Ci sono diversi modi per farlo:

    1. Utilizzando il comando Trova e seleziona: Selezionare il set di dati con celle colorate. Fare clic sulla scheda Home> passare alla scheda Modifica dalla scheda Home. Infine, nella scheda Modifica, seleziona Trova e seleziona -> Trova. Premere CTRL+F per aprire il menu Trova e sostituisci. Fare clic sulla piccola freccia a discesa nel pulsante Formato e selezionare Scegli formato da cella.

    Apparirà un simbolo più quadridimensionale. Posiziona quel simbolo su qualsiasi cella colorata e fai clic su di esso. Si noterà che la casella dell'etichetta Anteprima* verrà riempita con un colore simile al colore della cella selezionata dalle celle colorate fai clic su Trova tutto. * Questo ti permetterà quindi di vedere tutti i dettagli delle celle colorate specificate insieme al conteggio di quelle celle colorate

    1. Utilizzo del comando Filtro e della funzione SUBTOTALE * Seleziona i tuoi dati > Fai clic sulla scheda Dati quindi seleziona il comando Filtro: per aggiungere un'icona di ordinamento e filtro a ciascuna intestazione di colonna dei tuoi dati o premi Ctrl + Maiusc + L sulla tastiera. *Immettere la funzione SUBTOTALE: =SUBTOTALE(B3;B2:B16) B3= Il conteggio delle celle visibili nell'intervallo specificato senza colore B5:B16 = L'intervallo con le celle colorate. *Quindi, seleziona solo le intestazioni del set di dati> vai su Data > Filter. * Fare clic sull'interruttore di ordinamento e filtro per la colonna che contiene le celle colorate. * Selezionare Filtra per colore dalle opzioni del menu. * Scegli il colore in base al quale vuoi filtrare: ora il risultato del SUBTOTALE si aggiornerà e potrai trovare rapidamente il conteggio delle tue celle colorate.

    Cordiali saluti Shakiru ·

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento