Codifica ditte in b...
 
Notifiche
Cancella tutti

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.

[Risolto] Codifica ditte in base alla attività

26 Post
2 Utenti
0 Reactions
350 Visualizzazioni
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

 

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

Versione di Excel
Sistema operativo
 
Postato : 12/07/2024 17:33
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

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));"")

 
Postato : 12/07/2024 18:56
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

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?

Questo post è stato modificato 8 mesi fa da Lifeson
 
Postato : 13/07/2024 08:22
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

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

 

 
Postato : 13/07/2024 08:53
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

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

Questo post è stato modificato 8 mesi fa da Lifeson
 
Postato : 13/07/2024 10:56
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

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

 
Postato : 13/07/2024 13:23
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

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?

Questo post è stato modificato 8 mesi fa da Lifeson
 
Postato : 14/07/2024 10:09
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

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...

 

 
Postato : 14/07/2024 10:33
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

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

 
Postato : 14/07/2024 10:35
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

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)));"")

 

 

 
Postato : 14/07/2024 11:08
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

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?

 
Postato : 15/07/2024 06:20
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

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 

 
Postato : 15/07/2024 08:51
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

Nessun problema e grazie ancora!

 
Postato : 15/07/2024 08:54
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

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

 
Postato : 15/07/2024 10:01
Forum 1
(@lifeson)
Post: 0
New Member
Avviatore di Topic
 

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!!!

 

 
Postato : 15/07/2024 13:06
Pagina 1 / 2
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download