Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

AnnullaUguali

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

AnnullaUguali

Postdi giorgioa » 21/08/15 10:16

Salve a tutti,

cortesemente chiedo un aiuto
aggiungere in una formula già
presente un'altra funzione che
se nella riga
trova numeri uguali annullare
con "" (virgolette) la cella che
presenta il doppione.
Tenere presente che la formula
esistente parte dalla cella AC
e va verso destra.

Grazie


http://www.filedropper.com/annullauguali
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Sponsor
 

Re: AnnullaUguali

Postdi wallace&gromit » 21/08/15 10:50

ciao giorgio,
prima di tutto ti "tiro le orecchie" perché non hai usato la più aggiornata delle formule che ti avevo proposto in un precedente topic: in W3 puoi inserire questa formula.
Codice: Seleziona tutto
=SOMMA(SE(D6:V6-C6:U6=W$5;1))
sempre in forma matriciale.

Per il tuo nuovo quesito, le formule nella colonna AC le lasci come sono, a partire da AD6 incolli questa:
Codice: Seleziona tutto
=SE(CONTA.SE($AC6:AC6;somma2((D6+$Y6)*$Z6+$AA6))>0;"";somma2((D6+$Y6)*$Z6+$AA6))


P.S. per puro divertimento ho provato a vedere come si applicherebbe la formula di Anthony, con l'uso di sole funzioni native di Excel, ecco qui quella da mettere in AD16 (un po' lunghina :lol:):
Codice: Seleziona tutto
=SE(CONTA.SE($AC16:AC16;SE(RESTO(--(SOMMA(--STRINGA.ESTRAI((D16+$Y16)*$Z16+$AA16;RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA((D16+$Y16)*$Z16+$AA16)-1));1))&DESTRA((D16+$Y16)*$Z16+$AA16;1));90)=0;90;RESTO(--(SOMMA(--STRINGA.ESTRAI((D16+$Y16)*$Z16+$AA16;RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA((D16+$Y16)*$Z16+$AA16)-1));1))&DESTRA((D16+$Y16)*$Z16+$AA16;1));90)))>0;"";SE(RESTO(--(SOMMA(--STRINGA.ESTRAI((D16+$Y16)*$Z16+$AA16;RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA((D16+$Y16)*$Z16+$AA16)-1));1))&DESTRA((D16+$Y16)*$Z16+$AA16;1));90)=0;90;RESTO(--(SOMMA(--STRINGA.ESTRAI((D16+$Y16)*$Z16+$AA16;RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA((D16+$Y16)*$Z16+$AA16)-1));1))&DESTRA((D16+$Y16)*$Z16+$AA16;1));90)))
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: AnnullaUguali

Postdi giorgioa » 21/08/15 11:44

Salve Wallace,

c'è una preghiera che dice ".... vienimi a salvare ....",

adesso ho capito perchè gli asini hanno le orecchie lunghe,
ben gli sta così imparano a capire quel che devono capire.

Come hai imparato, ho da dire la mia ma è fatto in senso
buono.

Riguardo la formula pensavo il contrario ecco perchè l'ho
sostituita.
Ho aggiunto quanto mi indichi e tutto funziona a meraviglia.

Ora vorrei capire il funzionamento della super formula,
cioè sostituirebbe ciò che mi ha proposto Anthony nell'altro
argomento? conteggio di filtri e punti di confronto con l'archivio?

Dammi una botta ... in testa anche perchè mi hai indicato dove
porre la formula cioè in AD16 e non ad esempio in AD6 forse ti è
scappato l'uno in più?

Salve
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: AnnullaUguali

Postdi giorgioa » 21/08/15 15:52

Salve a tutti,

non mi dite che Giorgio è duro a morire
ma se quello che mi scrivete non mi da
l'esito desiderato cosa ne faccio?
Un conto che ciò che chiedo non è spiegato bene
e
Un conto che ciò che ciedo non è fattibile.
Ho rivisto, che per ottenere ciò che desidero
occorreva eliminare tanti calcoli (ho pensato);
ho eliminato i calcoli più fastidiosi,
e alla fine ho potuto calcolare anch'io con precisione
i dati da ottenere esatti anche perchè questi dati, per chi
può aiutarmi, sono di giuda al 100%.
Se si può ricominciare daccapo,
vorrei aggiungere che da inconsapevole di come
raggiungere l'obiettivo ho indicato la formula
in forma di matrice ma eventualmete il problema
se si può risolvere anche in VBA buon pro.

Riporto: per filtri intendo quei numeri posti in Y:AA
orizzontalmente;
preciso che per ogn'uno di questi calcolare i dati di tutto l'archivio
ho riportato 2 tabelle identiche come dati
nella 1^ andrebbero le formule? AX:BE;
nella 2^ restano i dati come promemoria BG:BN;
ci sono 2 archivi:
- 1° achivio AC:AV i dati in esso sono da vedere
se nel 2° archivio ci sono numeri uguali;
riga 6 di AC:AV riga 7 di C:V

i numeri segnati nel rigo 6 da AX:BE sono il
totale dei punti ottenuti tutti dal filtro di
rigo 6 da Y:AA e i punti rispettano di quanti punti
sono uguali rispetto al rigo 1 di AX:BE.
Tengo a precisare che se il calcolo dei dati
non è possibile ottenerlo con formule e ci si
può appoggiare al WBA altrimenti si può annullare
la mia richiesta.
Grazie e se di chiarimenti sono pronto a darli.

ripropongo il file
http://www.filedropper.com/annullauguali_1
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: AnnullaUguali

Postdi wallace&gromit » 24/08/15 17:26

copio da wikipedia:
La spiegazione (dal latino explicatio) indica l'azione di implementare o sviluppare un'affermazione. Etimologicamente viene a significare l'azione di chiarire ciò che è stato implicato, di rendere chiaro il senso di un concetto non chiaro, nascosto, non visibile o non intuibile o percepibile a prima vista, rendendo comprensibile quello che in un primo momento non lo era.

Se ne deduce che la tua NON è una spiegazione :lol:

Prova in poche parole a dire cosa significano i numeri nel range AX:BE.

Per tornare alla tua domanda precedente: la formula lunga che ho inserito fa esattamente la stessa cosa di quella che hai inserito tu usando la mia function "somma2", era solo uno sfizio. Non c'entra con l'altro topic che stavi trattando con Anthony. Per chiarezza penso che convenga continuare ad usare la mia funzione.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: AnnullaUguali

Postdi giorgioa » 24/08/15 17:46

Salve Wallace,

AX:BE riporta il totale del filtro Y6:AA6,
per vedere lo sviluppo di quei dati copiare la
formula che c'è nel foglio2 in cella A1 e distribuirla
per il range AX6:BE18.
Ho posto l'altra tabella a fianco perchè con le formule i
dati della 1^ tabella vengono azzerati e quindi a fianco trovi il totale dei dati.
Nella colonna AA6:AA18 riportare il numero 86.
Dove porrai le formule otterrai il totale, contando i dati per colonna,
nella riga 6 della tabella a fianco AX6:BE18.

Se si vuole proseguire ,nell'esame dei dati dopo controllati i dati
con la 2^ tabella, in AA6:AA18 riportare il numero 87 e i dati totali
li troverai in rigo 7 della 2^tabella.

Mi fermo e chiedimi chiarimenti.

Salve
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: AnnullaUguali

Postdi giorgioa » 24/08/15 17:52

giorgioa ha scritto:Salve Wallace,

AX:BE riporta il totale del filtro Y6:AA6,
per vedere lo sviluppo di quei dati copiare la
formula che c'è nel foglio2 in cella A1 e distribuirla
per il range AX6:BE18.
Ho posto l'altra tabella a fianco perchè con le formule i
dati della 1^ tabella vengono azzerati e quindi a fianco trovi il totale dei dati.
Nella colonna AA6:AA18 riportare il numero 86.
Dove porrai le formule otterrai il totale, contando i dati per colonna,
nella riga 6 della tabella a fianco AX6:BE18. 6 e non 18

Se si vuole proseguire ,nell'esame dei dati dopo controllati i dati
con la 2^ tabella, in AA6:AA18 riportare il numero 87 e i dati totali
li troverai in rigo 7 della 2^tabella.

Mi fermo e chiedimi chiarimenti.

Salve
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: AnnullaUguali

Postdi wallace&gromit » 25/08/15 07:26

la formula nel foglio 2 dà qualcosa di diverso rispetto a quanto hai inserito tu nel range AX:BE.
Questa formula può dare solo due risposte: 1 o vuoto, a seconda se il numero di coincidenze riscontrate corrisponde o meno al numero inserito in riga 1.
Ho trasformato la formula in una nuova user function:
Codice: Seleziona tutto
Public Function confrSotto(valoriPart, valoriConfr, rifer)
confrSotto = ""
trovati = 0
Quanti = valoriPart.Count
Quanti2 = valoriConfr.Count
For I = 1 To Quanti
For J = 1 To Quanti2
If valoriPart(I) = valoriConfr(J) Then
trovati = trovati + 1
End If
Next J
Next I

If trovati = rifer Then
confrSotto = 1
End If

End Function
da utilizzare con la seguente formula, inserita in AX6 e copiata fino a BE17:
Codice: Seleziona tutto
=confrSotto($AC6:$AV6;$C7:$V7;AX$1)
ti apparirà, per ogni riga, un solo valore 1 in funzione del numero di corrispondenze trovate, le altre caselle saranno vuote
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: AnnullaUguali

Postdi giorgioa » 25/08/15 09:26

Salve Wallace e buona giornata,

scusami ma hai scritto la userfuntion:
perchè la formula del foglio 2 cosa fa?
la stessa cosa.
L'esempio della formula AX6:BE18 è
la dimostrazione di come si ricavano
i dati col solo numero 86.
Ho scritto che il filtro è = al rigo
Y6:AA6 e quindi i dati complessivi del filtro
li vorrei in una unica riga cioè AX6:BE6. e rguarda il passaggio col relativo confronto su tutto l'archivio del filtro
che sta in Y6:AA6 di tutte le righe.
Disperatamente faccio questo esempio:
ho 2 fogli, sul 2° faccio dei calcoli manualmente
e carta e penna con la formula di A1
mi scrivo i dati, faccio il totale in colonna
di quanti ne ho trovato con ZERO punti AX6:AX18;
poi faccio il totale della colonna AY6:AY18 con punti UNO;
poi faccio il totale della colonna AZ6:AZ18 con punti 2
eccetera alla fine passo nel foglio 1 e al rigo
AX6:BE6 riporto tutti i dati raccolti nel foglio 2,
i filtri sono già predisposti in colonna AA6:AA
per ipotesi vorrei portare i filtri fino a 200
sempre con la stessa grandezza di archivio (13 righe).
come in elenco iniziale AA6=86; AA7=87;eccetera
Dovrei fare questa operazione di riportare il
filtro con numero diverso per 200 volte (calcolo manuale)
per tutte le 13 righe.
dell'archivio?
Mha!
Se ancora non è chiaro quanto detto,
mi dici cosa hai capito in modo che capisco dove
è il punto non comprensibile.
Ciao
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00


Torna a Applicazioni Office Windows

Chi c’è in linea

Visitano il forum: giorgio1979 e 12 ospiti