[RISOLTO] Classifica con Formattazione Condizionale

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
by sal
00giovedì 30 settembre 2021 09:24
Ciao a tutti, dovrei creare una classifica, di uscite numeri del lotto, l'ho fatta ma con l'evolversi delle estrazioni non funziona più causa numeri duplicati, mi riporta soltanto il primo, ho creato un file d'esempio da un file più grande, ma è impostato con le stesse posizioni.

ecco un immagine allego anche il file



come potete vedere sulla sinistra vi è un elenco di numeri(cinquine) sulla destra viene riportato da 1 a 90 con un Conta.Se() mi viene riportato quante volte viene ripetuto il numero nell'elenco a sx.

usando la funzione Grande() che ho usato nell'individuazione della classifica, e vero che nel primo mi riporta il più grande "9" nel secondo mi riporta "5" ma anche il Terzo è "5" in quanto è un doppione, come ci potrebbe essere un Doppione di "9".

non vale nemmeno l'escamotage di inserire dopo la funzione "-1" in quanto non conosco se esiste un "8" come nel caso oppure un "4"

alla FormCond faccio leggere questi 3 risultati per colorare le celle in base alla classifica.

come posso trovare una formula che trovi i 3 più grandi senza doppioni e faccia al mio caso?

Ciao By Sal (8-D

dodo47
00giovedì 30 settembre 2021 10:23
ciao Sal

una prova:

in BB13: =max(C2:G17)
in BB14 (matriciale da trascinare):

=MAX(SE($C$2:$G$17



questo sito fa casino !!!!

dovrebbe essere:

= MAX ( SE ( $C$2 : $G$17< BB13 ; $C$2 : $G$1 ) )

saluti



DANILOFIORINI
00giovedì 30 settembre 2021 11:12
Buongiorno a tutti
@Bysalv si potrebbe anche evitare di usare la tabella di servizio a destra e lavorare direttamente sui numeri a sinistra

In una cella da trascinare in basso

=CONFRONTA(AGGREGA(14;6;CONTA.SE(Giocate;RIF.RIGA($1:$90))+RIF.RIGA($1:$90)/10^7;RIF.RIGA($A1));INDICE(CONTA.SE(Giocate;RIF.RIGA($1:$90))+RIF.RIGA($1:$90)/10^7;;);0)
by sal
00giovedì 30 settembre 2021 12:31
Ciao purtroppo la tabella di servizio è quella necessaria per conoscere la classifica dei numeri da 1 a 90 quante volte sono usciti.

le formule di Domenico e Danilo Che Saluto, purtroppo non danno il risultato sperato

la tabella riporta quente volte è uscito il numero sopra il numero e sotto le uscite di quel numero.

per colorare la classifica uso la Form-Cond su 3 celle che portano i 3 numeri più grandi della tabella che in effetti sono i numeri usciti maggiormente, il 90 uscito 9 volte ed altri i 3 numeri maggiori nel caso sono 9-5-4.

come vedete la funzione Grande mi riporta il 1°-2°-3° ma se il numero è duplicato mi riporta lo stesso numero come nel caso del 5 per avere 4 ho fatto -1 ma non è la soluzione giusta perche non è sicuro che il numero inferiore sia 4 potrebbe anche esse 2 oppure 1, un immagine del funzionamento



insomma vorrei una formula se è possibile che mi estrapolasse i 3 numeri più grandi della matrice "Gioc" senza doppioni e li inserisse in "BB13-14-15".

altrimenti sarò costretto ad usare il VBA e vorrei evitarlo.

Ciao By Sal (8-D


DANILOFIORINI
00giovedì 30 settembre 2021 13:16
Ciao
@BySal la formula che ho proposto ti restituisce la classifica dei numeri che hanno più sortite....se il tuo scopo è ottenere in base a questo fati 9/5/5
Basta

=INT(AGGREGA(14;6;CONTA.SE(Giocate;RIF.RIGA($1:$90))+RIF.RIGA($1:$90)/10^7;RIF.RIGA($A1)))

E ripeto non serve la tabella di servizio che tra l altro io mon farei cosi ma metterei su una colonna I numeri fa 1 a 90 è accanto il numero di sortite
L2018
00giovedì 30 settembre 2021 16:38
ciao salvatore
se ho ben capito il tuo problema, la soluzione dovrebbe essere in questo articolo, che ho provato e funziona

https://it.extendoffice.com/documents/excel/4940-excel-large-if-duplicate.html

Leo
by sal
00giovedì 30 settembre 2021 16:39
Ciao Danilo, la tua Formula funziona, ma purtroppo mi riporta i Duplicati, come vedi



come risultato dovrei avere solo i numeri senza duplicati come esempio di fianco.

ma visto che è difficile con le formule, e lo so, ho creato una macro che faccia il lavoro, questa.

Option Explicit
Option Base 1

Sub Class1()
Dim r, c, n, x, y, d, d1, d2, rng(1 To 90, 1), num As New Collection

r = 3
c = 53
n = 0
For x = 1 To 90
  If x = 31 Then n = 0: r = r + 2
  If x = 61 Then n = 0: r = r + 2
  Cells(r, c + n).Select
  rng(x, 1) = Cells(r, c + n)
  n = n + 1
Next x
For x = 1 To 90
  d = rng(x, 1)
  On Error Resume Next
  num.Add d, CStr(d)
  On Error GoTo 0
Next x
For x = 1 To num.Count - 1 'ordina collection
    For y = x + 1 To num.Count
        If num(x) < num(y) Then
            d1 = num(x)
            d2 = num(y)
            num.Add d1, before:=y
            num.Add d2, before:=x
            num.Remove x + 1
            num.Remove y + 1
        End If
    Next y
Next x
End Sub


che mi risolve il problema ordinandomi anche i dati

Ti ringrazio per l'attenzione, ma comunque solo per informazione si riuscirebbe con le formule avere il risultato che ho proposto sopra.

Ciao By Sal (8-D



L2018
00giovedì 30 settembre 2021 16:43
insomma, volevo dire una possibile soluzione, io l'ho acquisito come metodo, ma nel tuo caso non ho capito come è strutturato il tuo file.
Vedi tu, l'esempio che io mi sono predisposto ha funzionato
ciao
by sal
00giovedì 30 settembre 2021 16:43
Ciao Leo il tuo sito propone la formula che ha proposto Domenico, se vedi nei post precedenti

Ciao By Sal (8-D
L2018
00giovedì 30 settembre 2021 16:49
ma come, a domenico, oltre che a danilo, hai detto che la loro formula non ha funzionato
ora ti posto l'esempiuccio che ho fatto con quell'articolo, poi se va bene al tuo file non saprei
L2018
00giovedì 30 settembre 2021 17:06
forse ho capito l'inghippo

la formula di domenico va bene, come anche quella che ho trovato io, (distrattamente) ma allora ha ragione Danilo a proporti di mettere i numeri e

le sortite in 2 colonne distinte, altrimenti la formula tiene conto anche dei "nomi" dei numeri.

ciao
DANILOFIORINI
00giovedì 30 settembre 2021 17:23
Ciao
@BySal un approccio diverso in BA2 da trascinare in basso fino a riga 91

=RIF.RIGA(A1)

In BB2 DA trascinare in basso fino a riga 91

=CONTA.SE(Giocate;BA2)

In BC2 da trascinare in basso fino a riga 91

=SE.ERRORE(INDICE($BB$2:$BB$91;CONFRONTA(0;INDICE(CONTA.SE($BC$1:BC1;$BB$2:$BB$91&"");;);0));"")

Infine dove vuoi da trascinare in basso

=GRANDE($BC$2:$BC$91;RIF.RIGA(A1))
dodo47
00giovedì 30 settembre 2021 18:19
Sal

ultima prova:

in BE13: =MAX(Gioc)

in BE14 (matriciale da trascinare):

=MAX( SE ( RESTO ( RIF.RIGA ( $A$3:$A$7 ) -1 ; 2 ) = 0 ; SE ( $BA$3:$CD$7< BE13 ; $BA$3:$CD$7 )))

fai sapere

saluti

Edit:

nelle varie prove fatte, è rimasto un refuso di calcolo su rif.riga, pertanto (anche se la formula funziona) puoi modificarla così:

=MAX( SE ( RESTO ( RIF.RIGA ( $A$3:$A$7 ) ; 2 ) = 1 ; SE ( $BA$3:$CD$7< BE13 ; $BA$3:$CD$7 )))

by sal
00sabato 2 ottobre 2021 10:52
Ciao Domenico, adesso ho visto il tuo ultimo file, ed è quello che volevo, in effetti mi interessava solo avere l'elenco senza Doppioni, proprio come l'hai proposto.

in modo che posso indirizzare la FC

in questo modo si può dire Risolto il Problema

Ciao e Grazie Salvatore (8-D
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 19:08.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com