Memorizzare numeri come testo per VLOOKUP


1

Sto aggregando una grande quantità di dati da diverse cartelle di lavoro e devo fare un riferimento incrociato a diverse migliaia di articoli, lavoro perfetto per VLOOKUP.

Tuttavia, tutto ciò che ottengo è il delizioso errore #NA.

Il problema ovviamente è la mancata corrispondenza del tipo come sempre. Per qualche motivo, selezionare le celle e impostare il tipo su testo non è sufficiente, devi entrare nella cella e quindi premere invio (F2 + Invio o utilizzare il codice fornito di seguito). Esiste un modo migliore per forzare i dati ad essere di un certo tipo utilizzando le funzioni di Excel integrate? Ho provato di tutto, dal pittore di formati, dal testo alle colonne, ecc. E non ho ottenuto risultati.

Codice VBA che ho usato come soluzione alternativa:

Sub Macro3()
' Select the starting cell, macro will work it's way down the list changing nothing.
'
Dim variable As String
Dim t As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False

For t = 0 To 500
    variable = ActiveCell.FormulaR1C1
    ActiveCell.FormulaR1C1 = variable
    ActiveCell.Offset(1, 0).Range("A1").Select
Next t

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

Risposte:


1

Sfortunatamente, Excel si considera conoscendolo meglio di te, e qualunque cosa tu faccia, se carichi qualcosa che assomiglia a un numero, diventa uno.

Quello che faccio in genere è inserire una formula in una colonna di supporto che la rende testo =TEXT(A1,"0"), copia la formula in basso e quindi copia l'intera colonna e Paste Valuesi dati originali. Puoi quindi lanciare la colonna helper.


Questo è sconvolgente, ma non inaspettato. Sono contento che Microsoft, senza dubbio nei suoi tentativi di rendere il suo software più a prova di idiota, abbia nuovamente reso la vita più difficile per coloro che vogliono sfruttarlo al massimo delle sue potenzialità. Probabilmente userò solo la colonna helper poiché sto eseguendo l'intero processo attraverso una grande macro. Grazie!
Christian,

0

È necessario incapsulare la cella con una stringa vuota per forzare il numero in testo.

In una colonna helper =A1 & ""e copia la colonna verso il basso. Ora quando esegui un VLOOKUP il numero verrà calcolato come testo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.