La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Ciao a tutti, vorrei generare un codice in automatico per codificare delle ditte che tenga conto di nominativi ripetuti e delle tipologie di attività. Ho già inserito una formula che considera due suffissi ed una variabile legata all'attività ma avrei bisogno della seconda parte che codifichi l'azienda e, in modo progressivo, l'attività svolta da più aziende. Nel file allegato ho inserito una spiegazione ed un esempio.
Grazie
ciao
non ho capito il numero della ditta dove lo prendi
io ho usato la posizione nella tabella di destra
=CONFRONTA($B2;$E$2:$E$9;0)&CONTA.SE($B$2:$B2;$B2)
la parte in blu penso sia quello che cerchi
e il codice diventerebbe
=SE.ERRORE(CONCATENA("C";(CERCA.VERT($B$2:$B$9;$E$2:$F$9;2;0));"F";CONTA.SE($B$2:$B2;$B2));"")
Grazie Gianfranco, la formula funziona ma ho dovuto fare una piccola modifica: rimettere CERCA.VERT (B:B;..... anzichè CERCA.VERT($B$2:$B$9;.... altrimenti non avrebbe implementato i codici con l'inserimento di altre ditte.
Il codice della ditta è anche quello da codificare. Ci vorrebbe una formula che attribuisse ad ogni nominativo un numero in modo automatico, ripetendo lo stesso numero se il nome si dovesse trovare in più posizioni. Credo che sia questo il nocciolo della questione!
Hai soluzioni?
ciao
sconsiglio sempre di usare la colonna intera
usa un numero di righe che sai non supererai mai tipo
CERCA.VERT($B$2:$B$1000
per il codice ditta visto che la lista sarà senza doppioni
io ho usato =CONFRONTA($B2;$E$2:$E$9;0)
che trova la posizione nella tabella avendo così sempre lo stesso codice
ma non sono sicuro che sia quello che vuoi
in pratica il primo numero è il codice della ditta
il secondo è il numero di volte che viene utilizzata
ma non sono certo di aver capito
se noti nell'immagine il primo numero è sempre uguale per la stessa ditta
vedi IMPIANTI ELEVATORI ti consiglierei però di separare le formule
perchè ad un certo punto superate le 10 ditte o le 10 presenze non capirai più
qual'è uno e qual'è l'altro
esempio
=CONFRONTA($B2;$E$2:$E$9;0)&"N°"&CONTA.SE($B$2:$B2;$B2)
poi decidi tu come tenerli separatati
Ciao Gianfranco,
il tuo supporto mi è stato utile. Ciò che non avevo detto è che la ditta si può ripetere più volte con la stessa categoria perchè potrebbe svolgere attività diversa nell'ambito della stessa. Ho trovato la soluzione alla codifica delle ditte (ti allego il file modificato) ora però avrei bisogno di non far aumentare il contatore del codice che indica la categoria se riferito alla stessa ditta. Per spiegarmi meglio, nella colonna "C" trovi il risultato della formula mentre nella colonna "D" ti scrivo il risultato che vorrei ottenere con evidenziato i casi specifici.
Grazie ancora per il tuo aiuto.
.
Grazie
ciao
vediamo se ho capito
ho estratto i nomi univoci e dato loro un numero
in D2
=SE.ERRORE(SE(E(A2=A1;C2=C1;A2<>"");D1;"C"&CERCA.VERT($C2;$F$2:$G$1000;2;0)&"F"&CERCA.VERT($A2;$I$2:$J$1000;2;0)&CONTA.SE($C$2:C2;C2));"")
questa formula però lavora come RANGO()
nel senso che se trova delle doppie le scrive ma poi salta il numero
visto che il codice risulta lo stesso univoco non andrei ad allungare la formula per sottrarre eventuali doppie
dimmi tu se lo vuoi fare
Ciao Gianfranco,
prima di tutto grazie della tua pazienza e disponibilità!
Sono un neofita o quasi e non so cosa voglia dire "RANGO()", se hai voglia illustrami un po' come funziona.
ho applicato la tua formula al file di destinazione (quello che ti ho allegato era per effettuare delle prove) ed in alcuni casi mi restituisce un errore che ti evidenzio nello stralcio del file allegato (il primo errore è sulla seconda ditta con categoria "Presidi antincendio" il cui codice dovrebbe essere CHF32 e il secondo errore è sulla terza ditta che sempre con categoria "Presidi antincendio" il cui codice dovrebbe essere CHF53).
Da cosa potrebbe essere causato?
Ho inserito anche nel tuo file le ditte per verificare se avessi sbagliato ad adattare la formula al mio file, ma anche nel tuo le ditte con categoria "Presidi antincendio" (ANTINCENDIO SERVICE SRL e BAAP SRL che sono le uniche due presenti) passano da CHF81 a CHF103 mentre dovrebbe essere CHF102...
ciao
è l'effetto che ho tentato di spiegarti
è vero che mette lo stesso numero se le due stringhe sono uguali
ma è anche vero che il conta.se() conta tutte le stringhe perciò avrai sempre il numero esatto di interventi
( pensavo ti andasse bene perchè hai il codice univoco e insieme il numero totale degli interventi)
esempio
antincendio
1
1
-
-
3
3
3
-
-
6
il codice resta univoco
se non va bene la formula si allunga dimmi se ti va bene o vediamo come intervenire
ciao
teoricamente dovrei trovare l'ultimo codice dell'antincendio
=INDICE($D$1:$D2;INDICE(MAX(SE(--($C$1:$C1=$C2);RIF.RIGA($A$1:$A1)));;))
da qui estrarre il numero a destra che corrisponde al conta se
cosa che allungherà la formula ancora di più dovrei riusare il cerca verticale per capire da dove estrarre il numero
a meno che tu non inserisca una lettera come ti avevo consigliato
oppure se hai al massimo 99 codici passarli a testo e usali con due cifre
01
02
03
in qualsiasi caso
prova
=SE.ERRORE(SE(E(A2=A1;C2=C1;A2<>"");D1;"C"&CERCA.VERT($C2;$F$2:$G$1000;2;0)&"F"&CERCA.VERT($A2;$I$2:$J$1000;2;0)&SE.ERRORE(FILTRO.XML("<d><a>"&SOSTITUISCI(SOSTITUISCI($L2;CERCA.VERT(INDICE($A$1:$A2;INDICE(MAX(SE(--($C$1:$C1=$C2);RIF.RIGA($A$1:$A1)));;));$I$2:$J$1000;2;0);"-");"-";"</a><a>")&"</a></d>";"//a[last()]")+1;CONTA.SE($C$2:C2;C2)));"")
Ciao Gianfranco,
ho provato ad inserire la formula in calce che mi hai scritto ma ho ancora degli errori.
Nel codice non deve essere trovato il numero totale di interventi ma il numero di aziende che fa quella tipologia di intervento, forse non mi ero spiegato bene quando ho illustrato il risultato che volevo ottenere.
Forse è più semplice con un'istruzione in VBA?
ciao
cavolo io avevo capito il numero dello stesso intervento 😣
ok fra un poco ci rimetto mano dovrebbe bastare aggiungere una variabile
per il vba bisogna vedere se ti legge un baista
ciao
ho usato due colonne d'appoggio che
puoi nascondere
ti allego il file (i risultati sono diversi dai tuoi esempi)
conta le aziende che hanno lo stesso lavoro
Ciao,
non riesco a capire perchè quando copio la formula della prima riga nella cella J2 poi non mi da più il risultato e, ovviamente, anche nella K2!!!