Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Funzione grande con condizione

Ultimo Aggiornamento: 12/03/2019 13:25
Post: 1
Registrato il: 06/03/2019
Città: MILANO
Età: 38
Utente Junior
2010 / google spreadsheet
OFFLINE
06/03/2019 12:13

Salve a tutti !!!
Ho bisogno del vostro aiuto per risolvere un problema,
data un elenco di elementi:
nella prima colonna ho un elenco di URL
nella seconda colonna numero di visite
nella terza colonna la settimana di riferimento.
nella quarta colonna quante transazioni ho per pagina.
Vorrei sapere per una data settimana quali sono le prime (diciamo 10) pagine per numero di visite, i rispettivi nomi e il numero di transazioni per quella pagina(URL).
Solitamente userei la funzione GRANDE, dove do' come range di dati il numero di visite, ma in questo caso voglio porre la condizione di una specifica settimana. Per ordinare le prime di pagine web per numero di visite uso:

GRANDE(SE(RANGE DELLE SETTIMANE=201901,RANGE DELLE VISITE),{1;2;3;4;5;6;7;8;9;10}))
Usando la formula Array. In questo modo ho la lista dei primi dieci valori nel range viste con la condizione della settimana 201901
Poi per vedere quali sono i nomi delle pagine uso:
=indice(range delle pagine ,confronta(cella del primo valore delle visite, nel range delle visiste,0))
faccio lo stesso per vedere il numero di transazioni per pagine
indice(range delle transazioni,confronta(cella del primo valore delle visite, nel range delle visiste,0))

Il PROBLEMA è: quando due pagine, nella stessa settimana hanno numero di visite uguali la tabella mi viene sbagliata.
Guardare allegato per i dati.
Prego leggere i commenti nelle rige gialle. Non usare la funzione AGGREGA!
Ci sto perdendo un sacco di tempo chiedo aiuto !!!
Post: 266
Registrato il: 11/07/2015
Età: 33
Utente Junior
office 2013-2016
OFFLINE
06/03/2019 21:37


Buona Sera


M2=SE.ERRORE(INDICE($A$2:$A$2089;PICCOLO(SE($B$2:$B$2089=201902;SE($C$2:$C$2089=L2;RIF.RIGA($A$2:$A$2089)-RIF.RIGA($A$2)+1));CONTA.SE($L$2:L2;L2)));"")

Control +shift +enter

copia in basso

Saluti
Post: 1
Registrato il: 06/03/2019
Città: MILANO
Età: 38
Utente Junior
2010 / google spreadsheet
OFFLINE
12/03/2019 12:06

Ciao ulisse,
guarda provo a inserire la formula come l'hai riportata tu ma non mi da nessun risultato.
Poi lavoro con il programma in inglese, la formula verrebbe:

=IFERROR(INDEX($A$2:$A$2089;SMALL(IF($B$2:$B$2089=201902;IF($C$2:$C$2089=L2;ROW(($A$2:$A$2089)-ROW(($A$2)+1));COUNTIF($L$2:L2,L2)));"")

Ora solo una cosa, "RIF.RIGA($A$2:$A$2089)" indica più di una riga, non dovrebbe essere Righe ?

Grazie comunque per l'aiuto !!!

In caso potresti allegare il file con la formula inserita ?
:)
Post: 2.180
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
12/03/2019 13:25

La formula fornita da Ulisse (saluti) funziona perfettamente se, come ti ha detto, viene inserita in forma di matrice.

Saluti



Domenico
Win 10 - Excel 2016
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:03. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com