È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

ricerca tra EXCEL e txt

Ultimo Aggiornamento: 02/05/2021 08:59
Post: 1
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 15:54

Ciao,
nel workbook allegato nel foglio S1 c'è una fromula cerca.vert
=SE(L7="";"";SE(VAL.NON.DISP(CERCA.VERT(L7;data_base!$A$2:$B$1048576;2;0));"v.n.d.";CERCA.VERT(L7;data_base!$A$2:$B$1048576;2;0)))
che ricerca nel foglio data_base.
Ora devo fare in modo che la ricerca sia nel file data_base.txt.
Questo file allegato ora è di piccole dimensione, l'originale è molto più grande come dati.
Allego in formato .zip con i 2 allegati.
Un aiuto?
Grazie
g62
[Modificato da giova62 01/05/2021 15:56]
Post: 1
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 15:57

Non mi fa caricare allegati [SM=g27826]
Post: 4
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 16:10

Perchè non mi fa allegare?
Sbaglio qualcosa?
01/05/2021 16:11

Riprova (inferiore ad 1M) alcuni minuti fà non ha allegato pure il mio...
Non capisco la formula...Se non è disponibile rifai la stessa richiesta?
Post: 5
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 16:17

Lo zip è piccolo 9,32 kb
Post: 3.163
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
01/05/2021 16:22

sarà un problema temporaneo...o aspetti o usa un sito di filesharing (Filedropper)

saluti




Domenico
Win 10 - Excel 2016
Post: 6
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 16:24

Spero sia esatto:

http://www.filedropper.com/trova
[Modificato da giova62 01/05/2021 16:26]
Post: 3.165
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
01/05/2021 16:41

ciao
da quanti record è composto il file txt??

saluti




Domenico
Win 10 - Excel 2016
Post: 8
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 16:43

Dipende.
Ora il file txt è di poche righe anche perchè non potetevo allegarlo.
L'originale potrà essere anche di 700-800 mila righe
Post: 3.166
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
01/05/2021 16:45

.mbè non è enorme, perche non lo apri direttamente con excel e poi fai le tue ricerche ?
(magari aggiustando un po' la formula)....

che excel hai?


saluti
[Modificato da dodo47 01/05/2021 16:46]
Domenico
Win 10 - Excel 2016
Post: 9
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 16:54

Con importa dati esterni da file txt?
Post: 3.167
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
01/05/2021 17:01

ciao
ti posizioni su un foglio vuoto di Trova e fai apri...tutti i file...Data_Base.txt
nella finestra che appare selezioni Delimitato > Avanti > e tra i delimitatori scegli Tabulazione
(ma dovrebbe già proporti il tutto in automatico.

saluti




Domenico
Win 10 - Excel 2016
Post: 10
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 17:17

Mi crea un nuovo workbook, no un nuovo foglio
01/05/2021 17:41

Io ho un file (50.000 righe-50mega) che è già "stralento"
Segui il consiglio di dodo47, però se Tu inserisci formule per 700/800.000 righe la vedo molto-molto-molto pesante.
Ps. La formula si può accorciare =SE(L7="";"";SE.ERRORE(CERCA.VERT(L7;data_base!$A$2:$B$1048576;2;0);"v.n.d."))

Comunque col VBA, le celle unite non sono ben viste e per elaborare il tutto ci mette tempo, bisogna capire bene cosa Vuoi fare.
Per divertimento (se cerchi 123456, però prima inserirlo nel TXT)
Sub txt()
Dim linea As String, Str As String
Str = InputBox("Digitare la sigla da ricercare nel TXT", , "")
'If ActiveCell = "v.n.d." Then
Open ("C:\xxxxxxxxx\data_base.txt") For Input As #1 ' metti il percoso esatto
Do
Input #1, linea
If InStr(linea, Str) > 0 Then
    Cells(1, 1) = linea
    Str = Replace(linea, Str, "")
    MsgBox Str
    Close
    Exit Sub
End If
Loop Until EOF(1) = True
'end if
End Sub
Post: 11
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 17:57

Ciao abcdef,
quasi ci siamo.
Non devono comparire mesgbox ma la descrizione deve inserirsi nel workbook.
Scrivo nel foglio S1 colonna L e deve comparire la descrizione nelle celle precedenti
01/05/2021 18:48

Se il TXT ha 700.000 righe ci vorra mezz'ora prima di trovare un solo dato col VBA.
Il CERCA.VERT() è molto più veloce ed è l'unica soluzione

Vai nel foglio data_base, cancella tutto (clicca sulla cella A1)
Ora nel menu seleziona DATI e poi DA TESTO cerchi dovè il Tuo TXT, selezionalo ed importa. Avanti/Avanti/Fine

Ora in S1 scrivi quello che desideri nella colonna L7 e nella colonna precedente la formula =SE(L7="";"";SE.ERRORE(CERCA.VERT(L7;data_base!$A$2:$B$1048576;2;0);"v.n.d."))

Quando sarai arrivato alla 50.000 riga noterai che il files diventa "pesante" e forse dovrai creane un'altro. Se proprio devi creare un files da 1.000.000 di righe (sconsiglio le formule). Però Tu dovresti spiegare bene cosa intendi fare.
Post: 12
Registrato il: 29/04/2021
Città: CITTADELLA
Età: 62
Utente Junior
365/2007
OFFLINE
01/05/2021 19:12

ABCDF avevo già provato con dati > testo ecc... ma pensavo con vba fosse più veloce.
Ora non so se il file da dove si prelevano i dati sarà un file txt, questa è una mia prova per il prossimo gestionale che ci sarà in azienda.
Spero sia un txt e non saprei ancora quante dati ci potranno essere, certamente centinaia di migliaia.
Comunque grazie e vediamo fra qualche settimana.
g62
Post: 6.348
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
02/05/2021 08:59

Ciao specialmente se hai 365 come vedo dalla tua versione excel non dovrebbe essere difficile importare i dati e creare il data base anche con 800.000 record una sola cosa quando fai l'importazione se hai il file zeppo di formule, blocca il ricalcolo delle formule, forse anche per questo ci mette tempo.

Comunque ricorda che il foglio excel ha 1 milione e rotte righe per i database, e specialmente con una query di importazione ci metterà qualche secondo per fare il lavoro.

con una query puoi avere i dati già pronti per come ti servono.

guarda questo esempio di query, ho creato una query che mi estrae solo i dati che nel codice hanno 99 e questo il primo risultato.
poi sono andato nel tuo file txt ed ho aggiunto altri 99 ad alcuni codici

sono ritornato sul foglio l' aperto ed ho lanciato di nuovo la query, vedi il risultato




Ciao By Sal (8-D

[Modificato da by sal 02/05/2021 09:21]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 05:39. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com