Acties:
  • 0 Henk 'm!

  • Mopperman
  • Registratie: Maart 2006
  • Laatst online: 29-01 16:45
Ik wist niet goed hoe ik de titel moet beschijven, maar hopelijk krijg ik het geheel goed uitgelegd.

Ik maak in een excel sheet gebruik van het IF/ALS statement om velden met 1 terug te laten komende met een tekst. Mocht er een 2e waarde achteraan komen, dan word er een - toegevoegt met Text.samenvoegen/concatenate. Echter zodra ik de eerste waarde niet heb, dan staat er momenteel een loze "-". Ben nu al een hele tijd bezig om dit op te lossen, maar ik kom er geen steek mee verder.
Ook op google lijk ik weinig geluk te hebben.....

Nu hoopte ik dat iemand mij hierbij kon helpen.

De huidige formule die ik gebruik is:
=ALS(D5;$D$4;"")&ALS(E5;TEKST.SAMENVOEGEN(" - ";$E$4);"")&ALS(F5;TEKST.SAMENVOEGEN(" - ";$F$4);"")&ALS(G5;TEKST.SAMENVOEGEN(" - ";$G$4);"")&ALS(H5;TEKST.SAMENVOEGEN(" - ";$H$4);"")&ALS(I5;TEKST.SAMENVOEGEN(" - ";$I$4);"")&ALS(J5;TEKST.SAMENVOEGEN(" - ";$J$4);"")&ALS(K5;TEKST.SAMENVOEGEN(" - ";$K$4);"")&ALS(L5;TEKST.SAMENVOEGEN(" - ";$L$4);"")&ALS(M5;TEKST.SAMENVOEGEN(" - ";$M$4);"")
hier word dus gekeken in cellen D5 t/m M5 of er een waarde 1 (of hoger) aanwezig is zoja, dan word uit cellen D4 t/m M4 de tekst waarde gehaald.

Het probleem doet zich dus voort als er in D5 geen waarde staat. De tekst waarde word dan niet weer gegeven echter het "- " teken wel, van de opeenvolgende cellen.

Hopelijk kan iemand mij hier een oplossing op geven.

I can see clearly now the rain has gone. I can see all obstacles in my way.


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Dan kijk je toch juist andersom of D5 gevuld is, en zo ja, dan zet je er een streepje áchter, in plaats van voor E5?

Werkt uiteraard alleen als de volgende cellen wèl allemaal gevuld zijn, anders verleg je het probleem alleen maar.

[ Voor 34% gewijzigd door CodeCaster op 06-12-2010 13:05 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Mopperman
  • Registratie: Maart 2006
  • Laatst online: 29-01 16:45
Das dus t probleem.
De sheet word gebruikt om te achterhalen welke producten geleverd zijn op een project.

van de +/-10 producten worden er over het algemeen niet meer dan 3/4 gebruikt.

I can see clearly now the rain has gone. I can see all obstacles in my way.


Acties:
  • 0 Henk 'm!

  • Yohsoog
  • Registratie: Maart 2010
  • Laatst online: 22-06 18:24
Simpelste oplossing lijkt me toch een extra check toevoegen dan:
=ALS(D5;$D$4;"")&ALS(E5 AND D5;TEKST.SAMENVOEGEN(" - ";$E$4);"")&ALS(F5;TEKST.SAMENVOEGEN(" - ";$F$4);"")&ALS(G5;TEKST.SAMENVOEGEN(" - ";$G$4);"")&ALS(H5;TEKST.SAMENVOEGEN(" - ";$H$4);"")&ALS(I5;TEKST.SAMENVOEGEN(" - ";$I$4);"")&ALS(J5;TEKST.SAMENVOEGEN(" - ";$J$4);"")&ALS(K5;TEKST.SAMENVOEGEN(" - ";$K$4);"")&ALS(L5;TEKST.SAMENVOEGEN(" - ";$L$4);"")&ALS(M5;TEKST.SAMENVOEGEN(" - ";$M$4);"")
Ik weet nu niet onmiddelijk of deze syntax ook werkt in excel, maar het idee is er wel.

EDIT:
Dit klopt ook niet helemaal, want als D5 dan leeg is, krijg je ook je tekst.samenvoegen niet ook al is E5 niet leeg.
Het kan dus wel als volgt:
=ALS(D5;$D$4;"")&ALS(E5 ;TEKST.SAMENVOEGEN(IF(D5;" - ";"");$E$4);"")&ALS(F5;TEKST.SAMENVOEGEN(" - ";$F$4);"")&ALS(G5;TEKST.SAMENVOEGEN(" - ";$G$4);"")&ALS(H5;TEKST.SAMENVOEGEN(" - ";$H$4);"")&ALS(I5;TEKST.SAMENVOEGEN(" - ";$I$4);"")&ALS(J5;TEKST.SAMENVOEGEN(" - ";$J$4);"")&ALS(K5;TEKST.SAMENVOEGEN(" - ";$K$4);"")&ALS(L5;TEKST.SAMENVOEGEN(" - ";$L$4);"")&ALS(M5;TEKST.SAMENVOEGEN(" - ";$M$4);"")
PS: in je topictitel moet denk ik staan over welk deel en versie van de officesuite het topic handelt.

[ Voor 29% gewijzigd door Yohsoog op 06-12-2010 13:21 ]


Acties:
  • 0 Henk 'm!

  • Mopperman
  • Registratie: Maart 2006
  • Laatst online: 29-01 16:45
Zal eens kijken of dat idee werkt...

Ik weet 't, maar mag um niet meer aanpassen :o

I can see clearly now the rain has gone. I can see all obstacles in my way.


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 13:18

Dido

heforshe

Yohsoog: die syntax wortd in Excel iets and AND(E5; D5), maar je bent er dan nog niet. Want je wilt wel E4 opnemen in het resultaat als E5 gevuld is, ook als D5 leeg is.

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Mopperman
  • Registratie: Maart 2006
  • Laatst online: 29-01 16:45
Correct dido - tegen dat probleem liep ik dus zojuist aan...

I can see clearly now the rain has gone. I can see all obstacles in my way.


Acties:
  • 0 Henk 'm!

  • Yohsoog
  • Registratie: Maart 2010
  • Laatst online: 22-06 18:24
Inderdaad, zie mijn edit in mijn voorgaande post.

En natuurlijk om consequent te zijn had ik ALS ipv IF moeten gebruiken. Sorry, macht der gewoonte.

[ Voor 51% gewijzigd door Yohsoog op 06-12-2010 13:24 ]


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 13:18

Dido

heforshe

Het probleem zit hem erin dat je dit niet kunt oplossen door alleen iets met het eerste of tweede deel van je formule te doen: als je het eerste streepje kwijt bent kun je alsnog het streepje uit het vijfde deel vooraan krijgen als de rest leeg is.

Ik denk dat de simpelste oplossing is om altijd met een streepje te beginnen (dus je eerste deel wordt dan analoog aan de rest ALS(D5;TEKST.SAMENVOEGEN(" - ";$D$4);"")

Vervolgens zet je om je hele formule heen:
code:
1
=MID(<HIER JE OUDE FORMULE>; 3; 9999)


Dus altijd met een streepje + spatie beginnen, en op het eind altijd de eerste twee karakters eraf strippen.

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • tss68nl
  • Registratie: Mei 2007
  • Laatst online: 07-05 23:55
Start je string met een '---', en zorg dat de rest ook begint met ' - <waarde>'. Gebruik vervolgens substitute om '--- - ' te vervangen door ''.

KNX Huisautomatisering - DMX Lichtsturing


Acties:
  • 0 Henk 'm!

  • Yohsoog
  • Registratie: Maart 2010
  • Laatst online: 22-06 18:24
Dido, uiteraard was mijn voorbeeld met enkel het 2e deel bedoeld als dat, een voorbeeld. Dit moet natuurlijk verder worden uitgewerkt naar de volgende delen met "tekst.samenvoegen". Ik ging er van uit dat dat wel duidelijk was. Dan zou het namelijk wel werken, onafhankelijk of dat het 2e, 5e danwel 50e deel is dat voor de eerste keer niet leeg is.

Maar ik was ondertussen ook naar een mooiere oplossing op zoek en de jouwe zegt me wel wat. Dan moet je tenminste niet bij elk stukje een nieuwe IF afvragen en als er dan later een stuk tussenuit moet, moet je de volgende IF ook niet aanpassen. Ik ga er dus mee akkoord dat dit inderdaad properder werkt.

EDIT:
Pff ofwel denk ik te traag ofwel typ ik te snel, maar moet continu mijn eigen posts aanpassen.
Wat ik net bedacht, Dido, jouw oplossing houdt er enkel rekening mee dat er in het begin een - staat zonder iets voor, maar wat als er in het midden iets leeg is? Dan wordt de string iets als "tekst - - - - tekst".
Zelfde voor de oplossing van tss68nl.
Dus hoewel niet proper lijkt mijn oplossing nog steeds de correcte!

[ Voor 24% gewijzigd door Yohsoog op 06-12-2010 13:35 ]


Acties:
  • 0 Henk 'm!

  • Mopperman
  • Registratie: Maart 2006
  • Laatst online: 29-01 16:45
Die van Dido werkt perfect, en houd het geheel nog eens lekker compact.

Bedankt voor de snelle reacties.

@ Dido, MID in de nederlandse versie word dus DEEL.

Thanks!

I can see clearly now the rain has gone. I can see all obstacles in my way.


Acties:
  • 0 Henk 'm!

  • Yohsoog
  • Registratie: Maart 2010
  • Laatst online: 22-06 18:24
Mopperman, kijk je even naar mijn vorige edit? Heb je dan niet het probleem dat er in het midden van een string meerdere - na mekaar komen indien een andere ALS op een negatieve waarde test?

Acties:
  • 0 Henk 'm!

  • bszz
  • Registratie: November 2002
  • Laatst online: 22:40
zitten slapen...

[ Voor 90% gewijzigd door bszz op 06-12-2010 13:40 ]


Acties:
  • 0 Henk 'm!

  • Mopperman
  • Registratie: Maart 2006
  • Laatst online: 29-01 16:45
Yohsoog schreef op maandag 06 december 2010 @ 13:36:
Mopperman, kijk je even naar mijn vorige edit? Heb je dan niet het probleem dat er in het midden van een string meerdere - na mekaar komen indien een andere ALS op een negatieve waarde test?
ik heb nergens last van:

Afbeeldingslocatie: http://img697.imageshack.us/img697/6041/excelsheetu.jpg

de zwarte vakjes zijn de waardes... in t midden leeg, dan ook geen - teveel

[ Voor 7% gewijzigd door Mopperman op 06-12-2010 13:41 ]

I can see clearly now the rain has gone. I can see all obstacles in my way.


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 13:18

Dido

heforshe

Yohsoog schreef op maandag 06 december 2010 @ 13:31:
EDIT:
Pff ofwel denk ik te traag ofwel typ ik te snel, maar moet continu mijn eigen posts aanpassen.
Wat ik net bedacht, Dido, jouw oplossing houdt er enkel rekening mee dat er in het begin een - staat zonder iets voor, maar wat als er in het midden iets leeg is? Dan wordt de string iets als "tekst - - - - tekst".
Nee hoor, hoezo? Er wordt namelijk of niets toegevoegd, of er wordt "- tekst" toegevoegd. "- - - " komt dus niet voor.

Mijn oplossing gaat alleen schreeuwend op zijn plaats als er helemaal geen tekst is :+

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Yohsoog
  • Registratie: Maart 2010
  • Laatst online: 22-06 18:24
Dido schreef op maandag 06 december 2010 @ 13:46:
[...]

Nee hoor, hoezo? Er wordt namelijk of niets toegevoegd, of er wordt "- tekst" toegevoegd. "- - - " komt dus niet voor.

Mijn oplossing gaat alleen schreeuwend op zijn plaats als er helemaal geen tekst is :+
Ja inderdaad, weer eens te snel geweest (probeer ik nu echt zonder nadenken als eerste met de oplossing te komen? :X :? )
In ieder geval, dit werkt, dus opgelost. Goed gevonden!

Acties:
  • 0 Henk 'm!

  • Mopperman
  • Registratie: Maart 2006
  • Laatst online: 29-01 16:45
nog 1 opmerking richting Dido:

als er geen tekst in de cellen staat gaat hij ook goed hier... dus hij werkt nog beter dna jezelf denkt! _/-\o_

I can see clearly now the rain has gone. I can see all obstacles in my way.


Acties:
  • 0 Henk 'm!

  • tss68nl
  • Registratie: Mei 2007
  • Laatst online: 07-05 23:55
Hihi, naar de oplossing van Dido was ik eerst ook op zoek, maar kon de 'substring' functie niet vinden. MID dus ;) Vandaar de workaround met de --- die iets minder netjes is.

Werkt inderdaad prima! Ik zou ook voor die van Dido gaan. ;)

KNX Huisautomatisering - DMX Lichtsturing


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 13:18

Dido

heforshe

Mopperman schreef op maandag 06 december 2010 @ 13:54:
nog 1 opmerking richting Dido:

als er geen tekst in de cellen staat gaat hij ook goed hier... dus hij werkt nog beter dna jezelf denkt! _/-\o_
mmm, Excel is kennelijk wat vergevingsgezinder dan de meeste echte programmeertalen :) In dit geval alleen maar handig.

Wat betekent mijn avatar?

Pagina: 1