Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Indice confronta

Ultimo Aggiornamento: 03/01/2023 15:51
Post: 136
Registrato il: 09/10/2013
Città: SIRACUSA
Età: 39
Utente Junior
Office 2019
OFFLINE
29/12/2022 20:57

Sera a tutti Dei,
oggi ho due quesiti per voi ma farò due post differenti.
il primo quesito è :
nel foglio in allegato ho nella colonna B una serie di numeri di targa auto e nelle altre tre colonne altri dati supplementari come il modello o un periodo di utilizzo. Ho aggiunto una formula di ricerca che funziona perfettamente tramite INDICE e CONFRONTA dove inserendo solo la targa lui mi trova tutti gli altri dati. Ma ho il problema che viene applicata solo sulla prima targa che trova! quindi se quella stessa targa è stata utilizzata più volte in periodi differenti non la vedo. come posso risolvere?

allego come sempre un file d esempio senza dati personali
_________________________________________________________________
WIN 10 EXCEL 2019
(non excell/exchel/excellh/lesechel)
<---Hofinalmenteaggiustatolabarraspaziatrice--->
Post: 2.768
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
29/12/2022 21:08

ciao
in H4 e tira in basso
=SE.ERRORE(INDICE(A$2:A$10000;AGGREGA(15;6;RIF.RIGA($1:$10000)/($B$2:$B$10000=$I$1);RIF.RIGA($A1)));"")

per le altre cambia l'indice
Post: 136
Registrato il: 09/10/2013
Città: SIRACUSA
Età: 39
Utente Junior
Office 2019
OFFLINE
29/12/2022 21:15

Ciao Fede, che dirti, come sempre fantastik
_________________________________________________________________
WIN 10 EXCEL 2019
(non excell/exchel/excellh/lesechel)
<---Hofinalmenteaggiustatolabarraspaziatrice--->
Post: 1.049
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
29/12/2022 21:51

Ciao
Prova questo codice (ti scriverà i risultati dalla cella M4 in poi)
Option Explicit

Sub Elenca()
Dim ur As Long, i As Long, a As Long
Dim targa As Range, varList()
Range("M:P").ClearContents
ur = Cells(Rows.Count, 1).End(xlUp).Row
Set targa = Range("B2:B" & ur)
For i = 1 To ur - 1
  If targa(i) = Range("I1") Then
    a = a + 1
    ReDim Preserve varList(1 To a)
    varList(a) = i + 1
  End If
Next i
a = 3
For i = 1 To UBound(varList)
  a = a + 1
  Range("M" & a) = Cells(varList(i), 1)
  Range("N" & a) = Cells(varList(i), 3)
  Range("O" & a) = Cells(varList(i), 4)
  Range("P" & a) = Cells(varList(i), 5)
Next i
End Sub

Fai sapere. Ciao,
Mario
Post: 138
Registrato il: 09/10/2013
Città: SIRACUSA
Età: 39
Utente Junior
Office 2019
OFFLINE
30/12/2022 05:54

Ciao Marius e grazie anche a te per l intervento e per il tempo dedicato ;) a presto
_________________________________________________________________
WIN 10 EXCEL 2019
(non excell/exchel/excellh/lesechel)
<---Hofinalmenteaggiustatolabarraspaziatrice--->
Post: 0
Registrato il: 20/10/2017
Città: FIRENZE
Età: 53
Utente Junior
Microsoft 365 - LibreOffice 7.5
OFFLINE
02/01/2023 15:46

Re:
federico460, 29/12/2022 21:08:

ciao

=SE.ERRORE(INDICE(A$2:A$10000;AGGREGA(15;6;RIF.RIGA($1:$10000)/($B$2:$B$10000=$I$1);RIF.RIGA($A1)));"")




Ciao Federico, ti posso chiedere cosa fa di preciso il pezzo AGGREGA?

In particolare il RIF.RIGA(...)/(...) a cui chiedi di essere uguale a $I$1.

Mentre immagino poi che il successivo RIF.RIGA($A1) serva "far scorrere" l'elenco.

Grazie.
Excel 365 - LibreOffice 7.4
Post: 2.776
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
02/01/2023 20:45

ciao
=SE.ERRORE(INDICE(A$2:A$10000;AGGREGA(15;6;RIF.RIGA($1:$10000)/($B$2:$B$10000=$I$1);RIF.RIGA($A1)));"")

$I$1 è la targa da cercare e corrisponde solo ed esclusivamente a quella cella
e non si deve spostare ecco perchè gli assoluti

RIF.RIGA($A1)
è variabile

15 equivale a piccolo
ecco che trascinando in basso
RIF.RIGA($A1)=1
RIF.RIGA($A2)=2
RIF.RIGA($A3)=3

cerco il primo valore piu piccolo
il secondo
il terzo
[Modificato da federico460 02/01/2023 20:46]
Post: 1
Registrato il: 20/10/2017
Città: FIRENZE
Età: 53
Utente Junior
Microsoft 365 - LibreOffice 7.5
OFFLINE
03/01/2023 12:56

Re:
federico460, 02/01/2023 20:45:

ciao
=SE.ERRORE(INDICE(A$2:A$10000;AGGREGA(15;6;RIF.RIGA($1:$10000)/($B$2:$B$10000=$I$1);RIF.RIGA($A1)));"")


Ciao,
quindi il pezzo "RIF.RIGA($1:$10000)/($B$2:$B$10000)=$I$1" genera un vettore che è 1 quando è uguale alla targa inserita in I1 e 0 quando è diverso giusto?
Per cui, successivamente la funzione INDICE estrapola solo solo le righe che corrispondono al valore 1.

Ho capito bene?

Grazie.
Excel 365 - LibreOffice 7.4
Post: 2.777
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
03/01/2023 15:51

ciao
PremPa

non funziona proprio così ma ci sei vicino

"RIF.RIGA($1:$10000)/($B$2:$B$10000)=$I$1

ti rende il numero di riga dove trova il valore cercato

esempio I1 è "ciao"

casa
ciao
casa
ciao
ciao
porta

renderà
#DIV/0!-2-#DIV/0!-4-5-#DIV/0!

perciò avrai il secondo valore dell'indice
il quarto
il quinto
Vota: 15MediaObject5,0039 3
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]
se indice e confronta (24 messaggi, agg.: 13/06/2023 22:55)
indice? confronta? (10 messaggi, agg.: 12/06/2020 10:22)
Indice Confronta (21 messaggi, agg.: 06/04/2023 17:11)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 16:44. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com