Archief - Excel, gelijk aantal tekens per kolom

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

XA4

Legacy Member
De titel is misschien wat onduidelijk, maar mijn uitleg is dat hopelijk niet.

Op het werk krijgen wij bestanden binnen met gegevens (naam, straat, etc) die wij importeren in ons systeem om op die manier te kunnen printen met streepjescode (volledig klaar om te posten)
Tot voor kort was dit altijd in een txt bestand waarbij er rekening werd gehouden met de "voorwaarden" van ons programma. Ik wil zeggen, elk veld moet een x aantal tekens hebben. Elke kolom (txt) werd dus opgevuld met spaties zodat elke kolom netjes onder elkaar stond. Dit zodat alles in het juiste veld terecht kwam van ons programma.
We kregen die bestanden volgens die regels binnen, dus voor ons was het gewoon even dat bestand selecteren en importeren.

Nu hebben we sinds kort een nieuwe klant bij en daar krijgen we de gegevens in Excel. We kunnen dit opslaan als txt-bestand, maar om dat te importeren moet er dus heel wat voorbereidend werk gedaan worden. Alle kolommen (per lijn) samenvoegen tot 1 cel, opslaan als txt, het aantal tekens per kolom aanvullen met spaties,... Voor een klein bestand is dat nog te doen (al is het ook al omslachtig) maar als er binnenkort grote bestanden gaan binnen komen (wat wel de bedoeling is) gaan we hier ontzettend veel tijd mee verliezen.

Nu is mijn vraag of er een mogelijkheid is om dit vlotter te laten verlopen.
Ik werk zelf amper met Excel (enkel dagelijks wat getallen in een tabel zetten) en mijn kennis van het programma is dus vrij beperkt.

Bijvoorbeeld (veld "naam" heeft 40 tekens)
Als we Jef Peeters invullen, zijn dit 11 tekens (10 + 1 spatie) en zou dit aangevuld moeten worden met 29 spaties om aan de 40 te komen.
Daaronder staat Marie-Jeanne De Bruyne en dat zijn 22 tekens. Hier moeten dus 18 spaties worden toegevoegd.

Ik dacht aan een kolom (na de naam) die telt hoeveel karakters gebruikt worden in de naam (x) en dan een formule die 40 spaties min x uitrekent en de overige spaties laat staan. En dit dan voor elke kolom natuurlijk (straat zijn bijvoorbeeld 77 tekens) Maar ik weet natuurlijk niet of dit mogelijk is :)

Exit

Legacy Member
mss eerder kijken om de file te exporteren naar een csv bestand waar 'elke kolom' gesplitst wordt door een leesteken
adhv dat leesteken importeren per veld ...

dit wordt oa gedaan voor importeren in mysql database

xxxx;yy;zzzzzzzzzz;rrrrrrrrr


of zoals je zelf aangeeft maar dan omgekeerd, ge neemt 40 - 'aantal letters dat er al staan) om daarmee de spaties aan te vullen

XA4

Legacy Member
Het werkt niet met leestekens tussen. Mijn collega (die mij ook gevraagd heeft om dit te posten) wist me te zeggen dat een tab bijvoorbeeld ook wordt omgezet in een nul en daar dus niets mee aan te vangen is.
Je hebt dus echt wel het exact aantal tekens per veld nodig om te kunnen importeren.

Ik moet er wel bijzeggen dat het een wat verouderd programma is, maar daar is indertijd veel geld voor betaald, werkt eigenlijk nog steeds perfect (alleen het importeren doet wat lastig) wordt ook nog dagelijks gebruikt en doet gewoon wat het moet doen.

Dat van die 40 - aantal tekens zou inderdaad handig zijn, maar daar ken ik dus te weinig van om zelf iets ineen te steken...

Enygm

Legacy Member
Als in cel A1 een tekst staat, dan zou je in B1 de volgende formule kunnen gebruiken:
=A1 & REPT(" ";40-LEN(A1))

(indien Engelstalige software natuurlijk)
Maar misschien dat in de kolommen daarnaast ook waarden staan, dan kan je het beter op een 2e sheet zetten en dan is de formule:
=Sheet1!A1 & REPT(" ";40-LEN(Sheet1!A1))

Succes

XA4

Legacy Member
Bedankt :niceone:
Ik ga het zelf niet testen, maar ik geef het door aan mijn collega.

Edit:
snel getest, is wel NL dus termen in NL gezet, maar het werkt.
Maar dat wist je waarschijnlijk zelf ook al ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan