[Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda bad.alex » 01/12/2019, 02:20

Ciao ragazzi, avrei bisogno del vostro aiuto. Premetto che ho sempre utilizzato pochissimo Excel e non sono molto familiare con le sue funzioni. ll mio approccio al problema è teorico, poiché non so come procedere con questo software.
Mi trovo ad avere una lista di opzione che vorrei confrontare in Excel. La colonna A (old) contiene vecchie informazioni riguardanti l'id di un prodotto, mentre la colonna B (new) contiene informazioni aggiornate sullo stesso prodotto. Vorrei poter confrontare le informazioni (codici) vecchie e nuove di questo prodotto come primo passo.

Old New

22 24
12 15
14 32
34 80
Questi id (codici) sono inclusi in una lista di categorie del tipo:

22, 15, 32 corrispondono al produttore 1;
12, 14, 80 corrispondono al produttore 2;
24, 34 corrispondono al produttore 3.
Per ogni id, sia vecchia che nuova, è associato un punteggio. Per esempio:

tutti gli id `22` hanno punteggio `20`
tutti gli id `12` hanno punteggio `21`
...
tutti gli id `80` hanno punteggio `30`
e vorrei vedere se questi punteggi, anche per differenti id, coincidono oppure no, quanto li confronto. Quello che sto facendo è pertanto:

- confrontare 22 con 24 e vedere se essi appartengono allo stesso gruppo (ovvero se il produttore è lo stesso)
- se essi appartengono allo stesso gruppo, questo significa che essi avranno lo stesso punteggio e nessun cambiamento sarà richiesto.
- se essi non appartengono allo stesso gruppo, allora vi sarà una differenza di punteggio e pertanto un aggiornamento sarà richiesto.

Il mio approccio è quello di considerare tutte le combinazioni di vecchi e nuovi id e vedere se essi appartengono allo stesso gruppo oppure no (condizione logica, probabilmente con un if statement). Se essi appartengono allo stesso gruppo, allora potrei assegnare il corrispettivo punteggio per l'id vecchio e per quello nuovo in due colonne separate
(Old score| New score) e controllare che la loro differenza (in un'altra colonna, e per fare questo basterebbe - una volta create le due colonne per lo score - considerare la differenza delle stesse) sia 0. Altrimenti, se essi non appartengono allo stesso gruppo, la differenza sarebbe diversa da 0.

Al momento sto svolgendo tutto manualmente. Con poche osservazioni, non sarebbe un problema, ma poiché dovrò analizzare più di 1000 valori in poco tempo, ho pensato che potrebbe essere più utile creare alcune colonne che mi permettano di considerare tutte le combinazioni di id vecchi e nuovi (che andranno man mano ad aggiungersi), di verificare a quale gruppo appartengano, e di conseguenza assegnare il loro corrispettivo punteggio.
Saprei farlo in C e/o in Python, ma mi è stato espressamente richiesto di utilizzare Excel.
Spero possiate aiutarmi, anche solo indirizzandomi alle funzioni da utilizzare. Vi ringrazio sin da ora per l'aiuto e il tempo che mi dedicherete.

Alex
bad.alex
Senior Member
Senior Member
 
Messaggio: 1125 di 1133
Iscritto il: 10/01/2007, 19:01

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda axpgn » 01/12/2019, 11:57

Puoi fare un esempio concreto (con pochi elementi, ovviamente) ?
axpgn
Cannot live without
Cannot live without
 
Messaggio: 14537 di 15818
Iscritto il: 20/11/2013, 22:03

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda bad.alex » 01/12/2019, 15:09

Si, certamente. Considera che la struttura dei dati è quella riportata inizialmente.
Ho due file, in uno sono riportati i valori vecchi e nuovi degli id e vorrei confrontarli: se sono uguali, ovviamente nessuna azione verrà richiesta; se sono diversi mi occorrerà aggiornare soltanto il loro punteggio (score).
Nel primo file Excel ho i seguenti valori:

Old New

22 24
12 15
14 32
34 80

mentre nel secondo (è un file di testo) ho una lista che mi dà informazioni riguardo al punteggio di questi id:

22, 15, 32 corrispondono al gruppo (servizi, trasporti) e a loro vengono assegnati 20 punti (per semplicità avevo messo produttore 1)
12, 14, 80 corrispondono al gruppo (agricoltura) e a loro vengono assegnati 21 punti;
24, 34 corrispondono al gruppo (manifatturiero) e a loro vengono assegnati 22 punti.

Nel primo caso, ovvero

Old New

22 24

ho che 22 corrisponde al gruppo (servizi, trasporti) e ha punteggio 20, mentre 24 appartiene al gruppo manifatturiero e ha punteggio 22. Confrontandoli la differenza di punteggio è non nulla, pertanto andrebbe segnalato.
Questo confronto va ripetuto per ogni riga, ovvero anche per le coppie (12,15), (14,32) e così via.
Ciò che vorrei fare è creare alcune condizioni logiche che mi permettano di associare id a gruppi e ovviamente ai rispetti punteggi. Quindi creare due colonne old score e new score che contengano i loro rispettivi punteggi. Una volta create queste due colonne, confrontare questi valori in un'altra (ma per questa occorrerà soltanto calcolare la loro differenza).
Sto facendo tutto manualmente, ma penso che possa esserci un modo che mi consenta di verificare il tutto automaticamente, attraverso le funzioni di Excel. Pensavo, dal momento che gli ids sono molti, di considerare le loro combinazioni per associare a ciascuna coppia la rispettiva differenza (qualora vi sia) nel punteggio. Per esempio:
Old New Old score New score Differenza
22 24 20 22 2
22 15 20 20 0
22 32 20 20 0
...
e così per ciascun id, così da confrontare i loro punteggi vecchi e nuovi. Ma in questo caso non memorizzerei i loro gruppi, ma soltanto terrei conto del loro punteggio associato ad essi. Credo ci sia qualcosa di più semplice che possa essere considerato per eseguire queste operazioni, o comunque diversi approcci al problema. Spero possa questo problema essere un pò più chiaro. Grazie per il tuo tempo.
bad.alex
Senior Member
Senior Member
 
Messaggio: 1126 di 1133
Iscritto il: 10/01/2007, 19:01

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda axpgn » 01/12/2019, 17:12

Com'è il file di testo? Com'è strutturato? Il primo presumo consista solo nelle due colonne "Old" e "New" ...
axpgn
Cannot live without
Cannot live without
 
Messaggio: 14538 di 15818
Iscritto il: 20/11/2013, 22:03

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda bad.alex » 01/12/2019, 17:48

ll file di testo (è una immagine salvata in formato txt), è il seguente:

22, 15, 32 = (servizi, trasporti). Punti: 20
12, 14, 80 = (agricoltura). Punti: 21
24, 34 = (manifatturiero). Punti: 22

Probabilmente, per poter automatizzare il processo, sarebbe preferibile trasferire queste informazioni su Excel.
Si, il primo consiste soltanto in quelle due colonne.
bad.alex
Senior Member
Senior Member
 
Messaggio: 1127 di 1133
Iscritto il: 10/01/2007, 19:01

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda axpgn » 01/12/2019, 19:26

Quindi non è un file di testo ma un'immagine ... :roll:
Se il dato relativo ai raggruppamenti non è gestibile automaticamente (p.es. da un'immagine non è banale estrarre numeri) allora non vedo alternative che associarlo a mano ...
axpgn
Cannot live without
Cannot live without
 
Messaggio: 14539 di 15818
Iscritto il: 20/11/2013, 22:03

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda bad.alex » 01/12/2019, 19:29

Ciò che vorrei fare in realtà è trascrivere queste informazioni nello stesso file Excel in cui sono riportate le due colonne, ovvero creare un unico file. In questo senso intendevo con automatizzare il processo, poiché vorrei andare ad analizzare le informazioni sul file Excel e creare delle condizioni logiche che mi consentano di riempire le colonne con vecchio e nuovo score, a seconda della coppia di id considerata. Ritengo si possa fare in Excel, si potrebbe fare con qualsiasi altro linguaggio di programmazione con condizioni if. Ma purtroppo non ho conoscenza di Excel e non saprei come muovermi. Per questo motivo ogni informazione riguardo a funzioni da poter utilizzare per realizzarlo sarebbe utilissima.

Il file Excel dovrebbe contenere informazioni riguardo a:

- id vecchio
- id nuovo
- ids per gruppo di appartenenza (come riportato in precedenza e attualmente contenuto in un file testo)
- score associati in base a gruppo di appartenenza (allora avrei due colonne, una per quello vecchio e uno per quello nuovo)
- differenza di score
bad.alex
Senior Member
Senior Member
 
Messaggio: 1128 di 1133
Iscritto il: 10/01/2007, 19:01

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda axpgn » 01/12/2019, 20:02

Il problema che vedo io é un altro (sempre che abbia capito bene) ovvero che il legame tra id e gruppo di appartenenza si trova in un'immagine quindi dovresti come minimo passare attraverso un sw OCR con i problemi di affidabilità del risultato connessi.
Se invece fosse realmente del testo allora si potrebbe fare ...
axpgn
Cannot live without
Cannot live without
 
Messaggio: 14540 di 15818
Iscritto il: 20/11/2013, 22:03

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda bad.alex » 01/12/2019, 20:07

Praticamente i gruppi sono stati salvati (estrapolati) da una immagine e salvati in un file testo. Questo serviva a me soltanto per verificare a quale gruppo appartenessero gli ids e che punteggio ogni gruppo avesse. Non voglio accedere da Excel al file testo o all'immagine per estrarre informazione, ma trascriverle (manualmente, tanto sono poche righe). Ciò che mi servirebbe è inglobare queste informazione in una funzione che mi permetta di analizzare ogni singola coppia di ids per creare due nuove colonne contenti il punteggio del vecchio id e del nuovo id in base al loro gruppo. Non mi interessa trasferire l'immagine o il file di testo in Excel, e mi scuso per essere stato poco chiaro su questo. Ciò che vorrei è soltanto usare funzioni in Excel, come per esempio if, - (per la differenza tra punteggi), e creare combinazioni (qualora servisse), per associare a questi ids un gruppo e uno score.
bad.alex
Senior Member
Senior Member
 
Messaggio: 1129 di 1133
Iscritto il: 10/01/2007, 19:01

Re: [Excel] Come confrontare colonne in Excel e verificare valori

Messaggioda axpgn » 01/12/2019, 21:09

bad.alex ha scritto:Non voglio accedere da Excel al file testo o all'immagine per estrarre informazione, ...

Questo l'avevo capito, semplicemente è molto diverso se l'informazione è in un file di testo o in un'immagine.
bad.alex ha scritto:... ma trascriverle (manualmente, tanto sono poche righe).

Questo taglia la testa al toro e risolve il (mio) problema.

Ti basta usare la funzione CERCA.VERT (almeno così si chiamava)

Nel tuo file di dati, scrivi da qualche parte la tua tabellina codici-punteggio.
Poi per ogni riga old/new, nella terza e quarta colonna usi la funzione CERCA.VERT (una per old e l'altra per new)
Il primo argomento della funzione è il codice da cercare (ovvero il contenuto di old nel primo caso e di new nel secondo); il secondo argomento è la tabellina in cui cercare il codice (che deve trovarsi nella prima colonna della tabellina, sempre la stessa); il terzo argomento è il numero della colonna contenente ciò che vuoi restituire.
axpgn
Cannot live without
Cannot live without
 
Messaggio: 14541 di 15818
Iscritto il: 20/11/2013, 22:03

Prossimo

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti