043. Problema su dati apparentemente uguali

Download PDF

Domanda:

Due stringhe apparentemente uguali \”0178K\” e     \”0178K\” estratte da due file excel diversi, se li confronto con la formula     =IDENTICO rusulta \”FALSO\”.
Già ho provato a modificare il formato delle     due stringe con (copia incolla speciale formato) oppure con (testo in     colonne)ma risultano sempre non uguali. Qualcuno sa indicarmi come fare per     rendere uguali due stringhe che lo sono solo apparentemente.
Si tenga presente che io devo usare la funzione \”=CERCA.VERT\” su un file con migliaia di stringhe da confrontare.

Risposta:

Si tratta di un problema diffuso nelle aziende spesso dovuto al fatto di popolare un file excel copiando dei dati presi dalle interfacce web degli applicativi aziendali.

In questi casi può capitare che oltre ai valori vengono copiati anche degli spazi.

Nel caso del nostro lettore,
applichiamo la funzione per contare i numeri di caratteri del valore “0178KR”:
– per il primo foglio si ottiene “6”
– per il secondo foglio si ottiene “16”
Nel secondo foglio il valore reale non è “0178KR” ma “0178KR ”

Per gestire quesa situazione, si possoni usare due tecniche:
1) normalizzare il campo che potrebbe contenere spazi usando la funzione TRIM (annulla.spazi)
ed utilizzare il campo normalizzato per l’incrocio dei dati
2) utilizzare la stessa funzione tramite una macro che agisce direttamente sul campo da normalizzare

For i = 2 To 43
   Sheet2.Cells(i, 14) = Application.WorksheetFunction.Trim(Sheet2.Cells(i, 14))
Next i

Un trucco per semplificare il lavoro:
al posto di utilizzare la formula “Identico”, si può utilizzare “=A2=B2”
che restituisce “VERO” o “FALSO”

A voi il file:
APRI

Riccardo Vincenti

The following two tabs change content below.