Condividi:        

riporta valore prima colonna

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

riporta valore prima colonna

Postdi marcoc » 24/04/19 21:08

Buongiorno a tutti,
ho una tabella simile a quella che trovate su
https://wetransfer.com/downloads/56e1bc ... 731/012a05

Sto cercando una formula che, inserendo in una cella il CAP, mi riporti il nome all’inizio alla relativa riga (col.B).
Es. se scrivo “10092” mi deve riportare “DDD”; se scrivo “10013”, mi deve riportare “BBB”.

Note:
Ogni CAP è presente solo su una riga
Il numero di CAP per riga varia da uno a dieci
La colonna B con i nomi, anziché la prima a sinistra volendo può essere anche l’ultima a destra
Nel file originale, alcune celle sono unite (come la B7 e la B8), sarà necessario dividerle?

Sapete aiutarmi?
Avatar utente
marcoc
Utente Senior
 
Post: 318
Iscritto il: 22/03/07 21:58
Località: Nerviano

Sponsor
 

Re: riporta valore prima colonna

Postdi D@nilo » 24/04/19 22:09

Buonasera
in relazione al file esempio postato in K3 scrivo il dato da ricercare in L3
Codice: Seleziona tutto
=INDICE(B3:B8;MATR.SOMMA.PRODOTTO((C3:G8=K3)*RIF.RIGA(C3:G8))-2)


uso questo approccio dando per scontato che questi cap siano univoci altrimenti si percorrono altre strade

P.S. le celle unite vanno evitate come le suocere la domenica a pranzo
Avatar utente
D@nilo
Utente Junior
 
Post: 36
Iscritto il: 12/05/18 13:15
Località: ROMA

Re: riporta valore prima colonna

Postdi marcoc » 24/04/19 23:09

perfetto, grazie mille!
Avatar utente
marcoc
Utente Senior
 
Post: 318
Iscritto il: 22/03/07 21:58
Località: Nerviano

Re: riporta valore prima colonna

Postdi Anthony47 » 25/04/19 15:19

Bella la formula di Danilo...

Ti propongo anche una Funzione Utente, corrispondente al seguente codice:
Codice: Seleziona tutto
Function GetByCap(ByVal myCap As Long, ByRef myRan As Range) As Variant
Dim myC As Range
'
If myCap = 0 Then
    GetByCap = CVErr(xlErrNull)
Else
    For Each myC In myRan
        If myC.Value = myCap Then
            GetByCap = myRan.Parent.Cells(myC.Row, myRan.Cells(1, 1).Column).MergeArea.Cells(1, 1).Value
            Exit Function
        End If
    Next myC
    GetByCap = CVErr(xlErrNA)
End If
End Function

Va messo in un Modulo Standard del vba (vedi viewtopic.php?f=26&t=103893&p=647675#p647675)

Poi in una cella scrivi la formula
Codice: Seleziona tutto
=GetByCap(ilCap;L'AreaInCuiGuardare)


IlCap puo' essere sia un valore numerico che un riferimento a una cella che contiene il valore.
L'AreaInCuiGuardare e' l'area che contiene sia le intestazioni di colonna che i cap di appartenenza

Esempi
Codice: Seleziona tutto
=GetByCap(J3;B3:G11)
=GetByCap(10070;B3:G11)
=GetByCap(D1;foglio1!B1:G12)


Potrebbe essere piu' facile da adattare a layout diversi da quello pubblicato; e lavora anche su celle unite (che comunque non dovrebbero essere usate su aree con dati da elaborare, ma solo in aree di visualizzazione)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "riporta valore prima colonna":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 53 ospiti