Excel formule uitkomst tekst aanpassen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 116429

Topicstarter
Hallo,

Ik heb een excel sheet met daarin :

art nummer | bestelartikel | artikelnaam

Deze gegevens haal ik dmv een formule uit een SQL database.

Nu zijn me uitkomsten als volgt:

1001 | ja | batterij - duracell

Nu wil ik mij resultaten als volgt aanpassen dmv een filter in het volgende :

1001 | * | batterij

wat ik dus wil is dat :
- hij bij bestelartikel ja transformeert in een * en bij nee gewoon leeg laat
- bij artikelnaam alleen de waarde voor de - laat zien


Ik heb geen idee hoe ik dit moet doen aanpassen want als ik alles kopieer in waardes en dan zoeken en vervangen gebruikt, dan zou het moeten werken alleen later update hij natuurlijk mijn waardes niet meer.

Hoe kan ik dit het beste aanpakken?

Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23-05 10:46
Voor de vervangingen: functie SUBSTITUEREN/SUBSTITUTE
Voor het afbreken: LINKS(broncel;VIND.ALLES(" - ";broncel)-1 of 2 of 3 of zoiets)
En dan maar formules nesten. Ik zou beginnen bij het afbreken en dan het substitueren eromheen plakken.

Acties:
  • 0 Henk 'm!

Anoniem: 116429

Topicstarter
onkl schreef op dinsdag 01 december 2009 @ 10:37:
Voor de vervangingen: functie SUBSTITUEREN/SUBSTITUTE
Voor het afbreken: LINKS(broncel;VIND.ALLES(" - ";broncel)-1 of 2 of 3 of zoiets)
En dan maar formules nesten. Ik zou beginnen bij het afbreken en dan het substitueren eromheen plakken.
Dit werkt wel als ik het in een kolom ernaast doe alleen niet als ik het achter de huidige formule plakt (zodat hij in dezelfde cel het aanpast). Is dit wel mogelijk op een manier?

Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 23:59

Reptile209

- gers -

Je moet het niet 'achter' maar eerder 'om' de bestaande formule heen doen. Echter, werken met een hulpcel is waarschijnlijk wel zo efficient, omdat je de verwijzing meerdere keren nodig hebt. In LINKS(broncel;VIND.ALLES(" - ";broncel)-1) zou je op de plaats van broncel 2x de referentie moeten zetten naar je database. Efficienter is dan om de gegevens in een eigen cel te zetten (eventueel verborgen, of op een ander werkblad) en daar in de formule naar te verwijzen.

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

Anoniem: 116429

Topicstarter
Ik moet het toch in 1 cel zien te krijgen want de aanpassing is alleen voor het uitzicht, de rest van de formule update hij toch automatisch mee. Is wel het mooist.

Acties:
  • 0 Henk 'm!

Anoniem: 116429

Topicstarter
onkl schreef op dinsdag 01 december 2009 @ 10:37:
Voor de vervangingen: functie SUBSTITUEREN/SUBSTITUTE
Voor het afbreken: LINKS(broncel;VIND.ALLES(" - ";broncel)-1 of 2 of 3 of zoiets)
En dan maar formules nesten. Ik zou beginnen bij het afbreken en dan het substitueren eromheen plakken.
Sommige artikelnamen hebben geen - waardoor het resultaat bij sommige cellen #WAARDE! is. Wat zal ik in de formule moeten aanpassen om ook de resultaten zonder - te laten zien?

Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23-05 10:46
Als excel 2007: ALS.FOUT(Vind.alles(blabla)-2;LENGTE(Broncel))
Als andere excel:ALS(ISFOUT(Vind.alles(blabla)-2);LENGTE(Broncel);Vind.alles(blabla)-2)

Acties:
  • 0 Henk 'm!

Anoniem: 116429

Topicstarter
onkl schreef op dinsdag 01 december 2009 @ 14:19:
Als excel 2007: ALS.FOUT(Vind.alles(blabla)-2;LENGTE(Broncel))
Als andere excel:ALS(ISFOUT(Vind.alles(blabla)-2);LENGTE(Broncel);Vind.alles(blabla)-2)
Het lukt me echt niet om dit allemaal juist te laten werken, ook niet mbv de formule editor in excel.

Ik heb dit in de cel staan : =LINKS(D1428;VIND.ALLES(" - ";D1428)-1)

Kan je me vertellen hoe ik jouw code moet plaatsen? Ik heb Excel 2007.


Alvast bedankt.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Het lijkt me eigenlijk het makkelijkst, ook ivm updaten, om dit gelijk al in de SQL query op te lossen. Welke Query wordt er nu gebruikt op welke database-engine? Je kan waarschijnlijk gewoon dingen gebruiken als "iif(bestelartikel="ja","*",bestelartikel) as bestelartikel" (in geval van access). Overigens is de SQL-output nu verdacht te noemen ("ja" zo opslaan in een database?!). :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23-05 10:46
=LINKS(D1428;ALS.FOUT(Vind.alles("-";D1428)-2;LENGTE(D1428)))

Ik steun de opmerking van Pedorus overigens van harte: Dit is eigenlijk een work-around type oplossing, aanpassen aan de bron is duidelijk te prefereren.
Pagina: 1