Veld leegmaken als ander veld gevuld is.

Bespreek het rekenblad
autogedrocht
Berichten: 5
Lid geworden op: za dec 14, 2013 6:34 pm

Veld leegmaken als ander veld gevuld is.

Bericht door autogedrocht »

Beste forumleden,

Ik wil iets relatief simpel, maar ik weet niet hoe ik dat moet aanmaken. Het heeft waarschijnlijk met functie ALS te maken?

Ik heb 3 kolommen met cellen,

In cel 1 staat een statisch bedrag
In cel 2 staat een kopie van cel 1 (met een formule)

Nu wil ik eigenlijk dat wanneer cel 3 leeg is, dat cel 2 gevuld word met de waarde van cel 1.
Alleen wanneer cel 3 gevuld word door tekst, dat cel 2 automatisch leeg word.

Wie kan/wil mij helpen?

Bedankt alvast
OpenOffice 3.3 op Windows 7
RPG
Berichten: 4667
Lid geworden op: wo apr 15, 2009 1:01 am
Locatie: Apeldoorn, Nederland

Re: Veld leegmaken als ander veld gevuld is.

Bericht door RPG »

Hallo

Ik weet niet of het zo simpel is als je op dit moment schijnbaar denkt. De formule die al staat in cel 2 moet meer gecompliceerd worden dan die nu is. Ik denk dat je de ALS formule moet uitbreiden met een EN functie.

Is het ook mogelijk dat je het gehele doel van het geheel beschrijft.

Romke
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
eremmel
Berichten: 670
Lid geworden op: di sep 01, 2009 10:11 am
Locatie: Barneveld, Nederland

Re: Veld leegmaken als ander veld gevuld is.

Bericht door eremmel »

Het lastige is dat je twee soorten van leeg hebt. Namelijk een cel waar niets in staat of een cel waar een lege string in staat (eventueel als uitkomst van een formule).
Nu heb je in cel 2 een formule staan. Er staat bv
=XXXX
Nu moet je deze vervangen door:
=ALS(OF(ISLEEG(cel3);LEN(cel3)=0);"";XXXX)
ISLEEG() test op "Er staat niets in deze cel
LEN() test op de lengte van de waarde in de cel (of de uitkomst van formule), als deze 0 is dan staat er een lege string.
"" is een lege string.
W11 21H2 (build 22000), LO 7.4.1.2(x64)
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici
autogedrocht
Berichten: 5
Lid geworden op: za dec 14, 2013 6:34 pm

Re: Veld leegmaken als ander veld gevuld is.

Bericht door autogedrocht »

RPG schreef:
Is het ook mogelijk dat je het gehele doel van het geheel beschrijft.
Hoi Romke,

Bedankt voor je reactie,

Ik gebruik het als overzicht voor mijn verkoopfacturen. Waar ik deels draaitabellen op laat draaien.

In cel 1 staat nu de uitkomst van het factuurbedrag incl. btw (formule).
In cel 2 type ik nu handmatig het bedrag over van cel 1 of ik gebruik formule (=)

Cel 3 is normaal leeg als de factuur nog niet voldaan is. Als het bedrag voldaan is zet ik er een X in (via bankrekening), of ik zet er KAS neer, als het om een contante betaling gaat. Vervolgens wis ik handmatig cel 2.

Het is misschien beetje amateuristisch, maar het werkt goed voor mij. Met deze cellen kan ik draaitabellen maken van de omzet, kas en openstaande facturen. Ik zit alleen naar een manier te denken dat ik het bedrag niet handmatig hoef over te typen of handmatig te verwijderen.
OpenOffice 3.3 op Windows 7
autogedrocht
Berichten: 5
Lid geworden op: za dec 14, 2013 6:34 pm

Re: Veld leegmaken als ander veld gevuld is.

Bericht door autogedrocht »

eremmel schreef: Nu moet je deze vervangen door:
=ALS(OF(ISLEEG(cel3);LEN(cel3)=0);"";XXXX)
ISLEEG() test op "Er staat niets in deze cel
LEN() test op de lengte van de waarde in de cel (of de uitkomst van formule), als deze 0 is dan staat er een lege string.
"" is een lege string.
Hoi Eremmel,

Bedankt voor je reply.

Ik heb het deels werkend,

Ik heb gebruikt:
=ALS(I2;ISLEEG(G2);G2)

Het klopt dat als er 0 of leeg in h2 staat dat het bedrag wat in g2 staat op i2 ingevuld word. Echter wanneer ik een X of kas (dus letters) gebruik komt er !WAARDE te staan.
Kan dat ook met letters i.p.v. cijfers?

Bedankt alvast
OpenOffice 3.3 op Windows 7
Alex
Berichten: 103
Lid geworden op: do feb 25, 2010 8:46 pm

Re: Veld leegmaken als ander veld gevuld is.

Bericht door Alex »

Als je bedragen gaat verbergen wordt het allemaal wel erg moeilijk te doorgronden voor een ander.
Hierbij een voorbeeld met draaitabel. Daarin kun je zien voor hoeveel iemand gekocht heeft en hoeveel betaald is.
Aankopen en betalingen noteer je in aparte rijen op Blad1. Als iets direct betaald wordt mag het ook op dezelfde rij.
Als je de kolommen Prijs en Betaald van de draaitabel van elkaar aftrekt weet je wat nog betaald moet worden.
Dat kan rechtstreeks, maar netter is het met de functie DRAAITABEL.OPHALEN (GETPIVOTDATA voor eremmel).
Je kunt ook de kolommen Prijs en Betaald al op Blad1 van elkaar aftrekken en de verschilkolom in de draaitabel opnemen.
Bijlagen
Kasboek2495.ods
(12.95 KiB) 214 keer gedownload
AOO 4.1.15 & LO 24.2 op Windows 10
eremmel
Berichten: 670
Lid geworden op: di sep 01, 2009 10:11 am
Locatie: Barneveld, Nederland

Re: Veld leegmaken als ander veld gevuld is.

Bericht door eremmel »

autogedrocht schreef: Ik heb gebruikt:
=ALS(I2;ISLEEG(G2);G2)
Heb je geprobeerd in de help te kijken naar de functie ALS() ?
Wat je ook kunt doen is: Ga op de cel staan met je formule en toets Ctrl-F2. Je krijgt dan de functie wizzard te zien. Hier zie je de structuur van je functie met de argumenten en de labels die de betekenis van de argumenten omschrijven. Doe dit met jou functie en met de mijne en kijk waar jou functie verschilt.

In calc heb je maar twee soorten gegevens: tekst en getallen. Getallen worden gebruikt voor: Gehele getallen, getallen met decimalen, datums en boolean (waar/onwaar). Soms gebeurt het dat een getal als tekst wordt beschouwd (speelt hier geen rol). De gekozen presentatie bepaald hoe je een getal ziet (Ctrl-1). Dit wordt soms automatisch gestuurd afhankelijk hoe je een waarde invoert of welke functie je gebruikt.

Bovenstaande heeft te maken met de problemen die je waarneemt. Snap je dit dan heb je een belangrijke stap gezet in het leren gebruiken van Calc / Excel.
W11 21H2 (build 22000), LO 7.4.1.2(x64)
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici
autogedrocht
Berichten: 5
Lid geworden op: za dec 14, 2013 6:34 pm

Re: Veld leegmaken als ander veld gevuld is.

Bericht door autogedrocht »

Hoi eremmel,

Bedankt voor je reactie, ik vind het lastige materie en heb moeite om de structuur van de formules te begrijpen. Misschien kun/wil je me nog verder helpen?

Als ik het volgende gebruik:
=ALS(OF(ISLEEG(I3);LENGTE(I3)="");"";G3)
Dan krijg ik juist het tegenovergestelde. Als cel I3 leeg is, dan word G3 gekopieerd. Ik zie niet hoe ik dat kan omdraaien in de formule, ik krijg alleen maar fouten.

Ik dacht het anders op te lossen, met de formule lengte:
=ALS(OF(LENGTE(I4)=1);"";G4)
Dat werkt eigenlijk prima! Echter zou het helemaal mooi zijn als het ook zou werken als ik b.v. contant of voldaan (m.a.w. meer dan lengte1) zou invullen. Is het mogelijk om een reeks aan te geven met LENGTE? B.v. 1 tot 20 karakters? Of een minimale lengte?
OpenOffice 3.3 op Windows 7
Gebruikersavatar
DiGro
Berichten: 86
Lid geworden op: wo mei 13, 2009 4:57 pm
Locatie: Hoorn NH

Re: Veld leegmaken als ander veld gevuld is.

Bericht door DiGro »

Je bent er dus bijna :bravo: :bravo:

Als overweging:

Gebruik in plaats van

Code: Selecteer alles

=ALS(OF(LENGTE(I4)=1);"";G4)

Code: Selecteer alles

=ALS(LENGTE(I4)>0);"";G4)
>0 (= groter dan 0) zorgt er voor dat als er iets in I4 is ingevoerd (bijv 1 teken "x " of het woord "voldaan") de inhoud wordt verborgen

Je hebt in dit geval OF niet nodig omdat je slechts naar 1 voorwaarde (of er iets in I4 staat) kijkt.

Je kunt de code verklaren als: als de lengte van I4 groter is dan 0, zet dan niets in deze cel, gebruik anders G4
DiGro

----------------------------------------------------
Windows 11 en AOO 4.1.15
Gescand door Ziggo Safe Online (F-Secure)
Plaats reactie