Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[EXCEL] celinhoud = bestandsnaam zonder extentie [.xlsx]

Pagina: 1
Acties:
  • 3.573 views

Vraag


  • BUR
  • Registratie: november 2008
  • Laatst online: 05-05 10:42

BUR

...aan het typen

Topicstarter
De titel zegt het eigenlijk al :

Ik zou graag willen dat de celinhoud gelijk is aan de naam van het bestand zònder extensie.

WE hebben het voor elkaar!!!

Bij het onderdeel LINKS moet i.p.v. -1(één karakter erafhalen, was namelijk de haak ] ) op -6 staan. En dan krijg je i.p.v. van .xlsx geen extensie meer!! Voorwaarde is dat de extensie dus vier karakters heeft. Tevens is een bug geplet waardoor bij het openen van meerdere excelfiles er van 1 file de bestandsnaam weergegeven in alle excelfiles. Dit is opgelost door aan een cel te referenen (in dit geval A1)

Het eindresultaat (voor Nederlandse Excel):

=VERVANGEN(LINKS(CEL("bestandsnaam";A1);VIND.SPEC("]";CEL("bestandsnaam";A1))-6);1;VIND.SPEC("[";CEL("bestandsnaam";A1));"")

The end result (voor Engelse Excel):

=REPLACE(LEFT(CELL("filename";A1);FIND("]";CELL("filename";A1))-6);1;FIND("[";CELL("filename";A1));"")

In Excel 2016 (NL) heb ik met de volgende formule de bestandsnaam mét extensie in een de cel waar deze formule in staat.

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-1);1;VIND.SPEC("[";CEL("filename"));"")

Heeft iemand een idee hoe deze formule aan te passen is?


@Raznov Superrr bedankt voor het meedenken! Door jouw formule kwam ik op het idee. d:)b

@joostnl Bedankt voor het initiëren van pletten van de bug "meerdere excelfiles er van 1 file de bestandsnaam wordt weergegeven in alle excelfiles"

@Reptile209 Bedankt voor het meedenken!

@F_J_K Bedankt voor het meedenken!

Grtz,
BUR

[Voor 58% gewijzigd door BUR op 02-08-2018 13:57. Reden: Typo's]

Beste antwoord (via BUR op 02-08-2018 13:34)


  • Reptile209
  • Registratie: juni 2001
  • Laatst online: 19:41

Reptile209

- gers -

quote:
BUR schreef op donderdag 2 augustus 2018 @ 12:20:
Ik heb net dezelfde conclusie getrokken. Helaas nu even geen tijd om verder te kijken.

Het was mij uiteindelijk wel opgevallen dat de benaming uiteindelijk blijft 'hangen". Echter heb ik maar een file open staan. Dus ben er niet verder in gedoken.(Voorgaande verhaal was al een hele zoektocht)

Het zou wel top zijn als deze "bug" geplet kan worden :+
Ik heb ook gezien dat zonder celverwijzing inderdaad de actieve bestandsnaam wordt gebruikt. Maar zodra je er een celverwijzing binnen je workbook in zet, houdt hij netjes de waarde.

Ik heb heel even zitten prutsen hier (Excel 2016). Als ik de Nederlandse formule van hierboven probeer, alleen vertaald naar het Engels, dan werkt het als een zonnetje:
code:
1
=REPLACE(LEFT(CELL("filename");FIND("]";CELL("filename"))-6);1;FIND("[";CELL("filename"));"")

of zelfs
code:
1
=REPLACE(LEFT(CELL("filename";A1);FIND("]";CELL("filename";A1))-6);1;FIND("[";CELL("filename";A1));"")

Als het bij jullie niet werkt, denk ik dat het toch aan het scheidingsteken (, of ;) ligt, of aan de taal (Engelse/Nederlandse formulenamen, waarbij "filename" voor de Nederlandse formule "bestandsnaam" moet zijn).
quote:
joostnl schreef op donderdag 2 augustus 2018 @ 12:38:
Deze oplossing krijg ik uberhaupt niet werkend met de INDIRECT functie:

Hij blijft maar aangeven dat: "bestandsnaam",INDIRECT
Niet geldig is

https://answers.microsoft...58-4afb-b980-28d1a3a33cfe
Waarom zou je hier met indirect() willen werken? Hij moet gewoon een verwijzing naar een willekeurige cel in je werkblad hebben. Boeit niet welke, of wat daar in staat.

[Voor 53% gewijzigd door Reptile209 op 02-08-2018 13:13]

If you're not part of the solution, you're part of the precipitate.

Alle reacties


  • BUR
  • Registratie: november 2008
  • Laatst online: 05-05 10:42

BUR

...aan het typen

Topicstarter
tnx voor de snelle reactie!

Er zitten geen punten in de bestandsnaam.

  • BUR
  • Registratie: november 2008
  • Laatst online: 05-05 10:42

BUR

...aan het typen

Topicstarter
Bedankt voor je input, het is helaas een methode waarbij ik meer cellen nodig heb. Bedankt voor je snelle reactie. Ik heb nu i.i.g. iets om toe te passen.

Ik zou echter toch liever een formule in één cel willen hebben. :-)
Zijn er nog andere die het in een cel kunnen formuleren?

P.S. ik heb een werkende versie van jouw formule in NL versie omgebouwd:

=DEEL(B2;1;VIND.SPEC(".";B2;1)-1)

reply voor hierboven: Ah je had hem ook al omgebouwd! ;-)

[Voor 7% gewijzigd door BUR op 21-12-2017 11:28. Reden: C2 naar B2 teruggezet.]


  • BUR
  • Registratie: november 2008
  • Laatst online: 05-05 10:42

BUR

...aan het typen

Topicstarter
De formule en uitkomst in dezelfde cel zetten. Voordeel: dan ben je niet afhankelijk van andere cellen om een uitkomst te krijgen.
Als er geknutseld wordt in de Excel file (rijen ertussen kolommen ertussen etc..) blijft het gewoon werken.

P.S. Ik heb jouw formule gebruikt en de extractie formule in een cel gezet in een hidden kolom.

[Voor 17% gewijzigd door BUR op 21-12-2017 12:19]


  • BUR
  • Registratie: november 2008
  • Laatst online: 05-05 10:42

BUR

...aan het typen

Topicstarter
Opgelost!!!

Bij het Onderdeel links moet i.p.v. -1(één karakter erafhalen, was namelijk de haak ] ) op -6 staan. En dan krijg je i.p.v. van .xlsx geen extentie meer!! Voorwaarde is dat de extentie dus vier karakters heeft.

The end result:

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-6);1;VIND.SPEC("[";CEL("filename"));"")

  • BUR
  • Registratie: november 2008
  • Laatst online: 05-05 10:42

BUR

...aan het typen

Topicstarter
Ik heb net dezelfde conclusie getrokken. Helaas nu even geen tijd om verder te kijken.

Het was mij uiteindelijk wel opgevallen dat de benaming uiteindelijk blijft 'hangen". Echter heb ik maar een file open staan. Dus ben er niet verder in gedoken.(Voorgaande verhaal was al een hele zoektocht)

Het zou wel top zijn als deze "bug" geplet kan worden :+

[Voor 12% gewijzigd door BUR op 02-08-2018 12:21]


  • BUR
  • Registratie: november 2008
  • Laatst online: 05-05 10:42

BUR

...aan het typen

Topicstarter
quote:
F_J_K schreef op donderdag 2 augustus 2018 @ 13:16:
=VERVANGEN(LINKS(CEL("filename";A1);VIND.SPEC("]";CEL("filename";A1))-5);1;VIND.SPEC("[";CEL("filename";A1));"")

werkt hier prima. Nou ja, bij -6 ipv -5 en natuurlijk alleen nadat het bestand een filename heeft, dus pas na de eerste keer opslaan. Tot die tijd volgt #Waarde!

Als het niet werkt dan zou ik idd kijken naar de taalinstellingen kijken (komma vs puntkomma / filename).

Als het niet lukt, probeer de verschillende deelfuncties een voor een op een losse regel, om te troubleshooten.

Edit: ik heb een NL Office op een EN Windows en NL taalinstellingen, vandaar dat het bij mij wel werkt.
The end result, alles in een taal en dan werkt ie als een tierelier:
=VERVANGEN(LINKS(CEL("bestandsnaam";A1);VIND.SPEC("]";CEL("bestandsnaam";A1))-6);1;VIND.SPEC("[";CEL("bestandsnaam";A1));"")

Net getest en dit werkt indien er meerdere excel bestanden open staan (Office 2016). Alleen heb ik het nog niet getest met een inhoud in A1. :/

[Voor 7% gewijzigd door BUR op 02-08-2018 13:39]

Pagina: 1

Dit topic is gesloten.



Apple iPhone SE (2020) Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True