• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Meer dan 64 geneste niveaus omzeilen met ALS(LINKS

Status
Niet open voor verdere reacties.
Hoe wil je dit verschil bepalen.
1611000: week 11 2016 of 1e kwartaal 1961
1652383: week 52 2016 of 1e kwartaal 1965

Of je moet dus 2 aparte bestanden maken een van tot en met 2013 en een vanaf 2014
of wat roeljongman zei:
Is het niet mogelijk om die bestanden eenmalig om te zetten naar de nieuwe notatie

Het probleem zit in ieder geval niet in de geneste functies.
 
Laatst bewerkt:
Bedoelde je dit? In cel A1 je code en dan in cel B1 deze formule...
Code:
=IF(AND(MID(A1;1;2)>="14";MID(A1;1;2)<="30");20&MID(A1;1;2)&", week "&MID(A1;3;2);"kwartaal "&MID(A1;1;1)&", "& 19 + --(MID(A1;2;2)<"14") & MID(A1;2;2))

(if = als; and = en; mid = deel)
 
Bedankt voor alle antwoorden. Nogmaals: eenmalig omzetten in niet mogelijk.
Vroegste jaar is 1966. Hiermee voorkom je dubbele waarden. Ik heb dus zoals te zien is in het voorbeeldbestand een oplossing gevonden, maar deze heeft meer dan 64 geneste niveaus. Mijn enigste vraag is hoe ik deze 64 geneste niveaus niet overschrijd of een simpelere notatie te vinden. Bij voorbaat dank.
 
Bedoelde je dit? In cel A1 je code en dan in cel B1 deze formule...
Code:
=IF(AND(MID(A1;1;2)>="14";MID(A1;1;2)<="30");20&MID(A1;1;2)&", week "&MID(A1;3;2);"kwartaal "&MID(A1;1;1)&", "& 19 + --(MID(A1;2;2)<"14") & MID(A1;2;2))

(if = als; and = en; mid = deel)

Ik krijg #NAAM?
 
@Willem... Damn... Haal je heel m'n mooie formule onderuit... Ha ha ha... :D
 
@Ginger zie je misschien kans het laatste stukje van de formule uit te leggen? Bij de +-- raak ik hem kwijt :o
 
Vroegste jaar is 1966. Hiermee voorkom je dubbele waarden.
voor dit jaar wel maar volgend jaar krijg je wel problemen:

1711000: week 11 2017 of 1e kwartaal 1971
1752383: week 52 2016 of 1e kwartaal 1975
 
voor dit jaar wel maar volgend jaar krijg je wel problemen:

1711000: week 11 2017 of 1e kwartaal 1971
1752383: week 52 2016 of 1e kwartaal 1975

Klopt helemaal :( Daar moet ik maar een soort keuzemenuutje voor maken. Ik snap nog steeds de +-- in Ginger's formule niet. Ziet iemand kans dit uit te leggen?
 
jkpieterse:
Is er misschien een andere manier om te bepalen of we met een oude dan wel nieuwe code te maken hebben (andere kolom misschien)?
Rick52
Daar moet ik maar een soort keuzemenuutje voor maken

Heeft Jan Karel Pieterse toch gelijk
 
jkpieterse:
Rick52


Heeft Jan Karel Pieterse toch gelijk

Klopt. Hier was ik echter nog in de veronderstelling dat het op te lossen was zonder al te veel fratsen. Maar inderdaad, nu moet er eerst gevalideerd worden of het een oude of een nieuwe code is. Niet ideaal, want dit hele project is ontstaan om op basis van het nummer te zeggen hoe oud iets is. Nu moet de gebruiker eerst invullen hoe oud iets ongeveer is, voordat blijkt hoe oud het daadwerkelijk is. Niet ideaal dus :)

Maar ziet iemand nog kans de formule van Ginger (het +--) gedeelte uit te leggen? Ik wil graag begrijpen wat hier gedaan is.
 
Twee keer min is plus en is een trucje om van tekst een getal te maken. Je zet dan "12" om naar 12.
 
Voorbeeldcodes zijn:
1611000 (2016, week 11)
4102931 (kwartaal 4, 2010)
2993721 (kwartaal 2, 1999)
3652383 (kwartaal 3, 1965)

De overgang ligt bij 2014. Dus:
4132736 (kwartaal 4, 2013)
1401283 (2014, week 01)

Ik dacht dat dit een leuke, overzichtelijke puzzel ging worden. Uiteindelijk is het een ingewikkelde en (te) lange formule geworden die ik niet kan afmaken omdat ik dan boven de 64 geneste niveaus kom :)

Dus het achtervoegsel (na het jaar en week/kwartaal nr.) is niet altijd even lang. week 11 2016 is die 3 getallen lang (000) en bij kwartal 4 2010 is die 4 getallen lang (2931). Komt dit doordat het voor 2014 is? Dus dat voor 2014 de reeks na de jaarnr. etc 4 getallen lang was en na 2014 is die reeks 3 getallen lang?
Dan zou je daarmee onderscheid kunnen maken namelijk. Ben op zoek naar iets waarmee ik kan bepalen of het een kwartaal of een week is.
 
Bij de +-- raak ik hem kwijt :o

Maar ziet iemand nog kans de formule van Ginger (het +--) gedeelte uit te leggen? Ik wil graag begrijpen wat hier gedaan is.

Twee keer min is plus en is een trucje om van tekst een getal te maken. Je zet dan "12" om naar 12.

In dit geval ga ik nog een stapje verder. Er wordt gebruik gemaakt van een vergelijking met de formule --(MID(A1;2;2)<"14"). Deze heeft als resultaat dus TRUE of FALSE. Maar omdat je daar niet - goed - mee kan rekenen, zet je 'm met een dubbele min om naar 1 of nul. Op deze manier kan je de overgang van de 20ste naar de 21ste eeuw bewerkstelligen.
 
--(MID(A1;2;2)<"14")

Misschien moet de formule iets aangepast worden.
Ik heb de formule niet helemaal uitgezocht maar
(MID(1966;2;2)<"14") ==> false
(MID(2010;2;2)<"14") ==> true
En beide moet gerekend worden met kwartalen.

Voor berekening kwartalen kun je misschien beter gebruik maken van : >65 of <14
 
Laatst bewerkt:
Beste allemaal,

Ik heb het op de volgende manier verwerkt en ben tevreden met het resultaat:

Code:
=ALS(EN(DEEL(G11;1;2)>="14";DEEL(G11;1;2)<="16");20&DEEL(G11;1;2);(19+--(DEEL(G11;2;2)<"""14")&DEEL(G11;2;2)))
=ALS(EN(DEEL(G11;1;2)>="14";DEEL(G11;1;2)<="16");"Week "&DEEL(G11;3;2);"Kwartaal "&DEEL(G11;1;1))

Bedankt voor de hulp!

P.S. Ik ga voorstellen de notatie te wijzigen voor 2017 om een clash met oude serienummers te voorkomen ;)
 
Het resultaat zou ik wat systematischer willen:

PHP:
=IF(ISERR(FIND(" " & LEFT(A1;2);" 14 15 16"));"kwartaal " &LEFT(A1;1) &", " &19+(MID(A1;2;2)<"14") & MID(A1;2;2);"week " &MID(A1;3;2)&", " &20&LEFT(A1;2))
 
Het resultaat zou ik wat systematischer willen:

PHP:
=IF(ISERR(FIND(" " & LEFT(A1;2);" 14 15 16"));"kwartaal " &LEFT(A1;1) &", " &19+(MID(A1;2;2)<"14") & MID(A1;2;2);"week " &MID(A1;3;2)&", " &20&LEFT(A1;2))

Vraagje bij deze oplossing: Als ik in cel A1 niks invul staat er standaard "kwartaal, 20". Is er een trucje om hier een leeg veld te krijgen als er geen invoer is?
 
Zo misschien
PHP:
=IF(A1="","",IF(ISERR(FIND(" " & LEFT(A1;2);" 14 15 16"));"kwartaal " &LEFT(A1;1) &", " &19+(MID(A1;2;2)<"14") & MID(A1;2;2);"week " &MID(A1;3;2)&", " &20&LEFT(A1;2)))
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan