• 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.

formule om consistentie van een index te controleren

Status
Niet open voor verdere reacties.

citizen81

Gebruiker
Lid geworden
15 aug 2011
Berichten
26
Beste mensen,

Hopelijk kan iemand mij helpen. Ik ben op zoek naar twee formules (zonder VB).
a. Een formule die in kolom 2 (Consistentie) laat zien of de index in kolom 1 (Index) klopt. Formule: "als er een 1.1.1 is, moet er een 1.1 en een 1 zijn"
b. Een formule die in kolom 3 laat zien of het een Folder, dan wel een Document is (er van uitgaande dat er geen lege folders kunnen zijn). "Als er geen 'lagere' index is dan Document, anders Folder".



Index Consistentie Folder/Document
1 Ja Folder
1.1 Ja Folder
1.1.1 Ja Folder
1.1.1.1 Ja Document
1.2 Ja Folder
1.2.1 Ja Document
1.2.2 Ja Document
1.3 Ja Folder
1.3.1 Ja Folder
1.3.1.1 Ja Folder
1.3.1.1.1 Ja Document
2 Ja Folder
2.1 Ja Folder
2.1.1 Ja Folder
2.1.1.1 Ja Document
2.1.1.2 Ja Document
2.2 Ja Folder
2.2.1.1 Nee
2.3 Ja Folder


Alvast bedankt,
Jasper
 
Wher,

Al een aardig eind op weg, maar ik heb het even losgelaten op een willekeurige reeks en dan kloppen er een aantal dingen niet.
Die zou ten eerste overal Nee moeten zeggen, aangezien er geen 1, 1.1, 1.1.1. is.

Bekijk bijlage Book1.xlsx

Groet,
Jasper
 
Beste Wher,

Excuses voor het onduidelijke verhaal dan.
Ik snap niet precies wat er gebeurt, maar het klopt inderdaad wel.
Maar als proef op de som (kwam ik zelf niet uit) heb ik nog een laatste dataset waar het bij zou moeten werken.

Bekijk bijlage book2.xlsx

Hopelijk kan je die nog kloppend maken, dan hoop ik ook het geheel te snappen.
Nogmaals dank,

Gr,
Jasper
 
Het bestand in post 5 aangepast en voorzien van commentaar.
 
Zonder hulpkolommen & zonder matrixformules:

In cel C3:
=IF(AND(LEN(A3)=LEN(A2);RIGHT(A3;1)-RIGHT(A2;1)=1); "Ja"; IF(AND(LEN(A3)>LEN(A2);RIGHT(A3;1)="1");"Ja";IF(AND(LEN(A3)<LEN(A2);RIGHT(A3;1)-MID(A2;LEN(A3);1)=1);"Ja";"Nee")))
 
Geniaal. Het werkt.
Alleen nog wel de vraag wat er precies achter de rode opmaak schuil gaat (van de cellen A2/A111/A138)
Als ik het namelijk doortrek richting 4 en 5, dan moet ik eerst de opmaak van de rode cel kopiëren voordat het werkt.

Alvast bedankt,

Gr,
Jasper
 
SNB,

Dat werkt ook. Alleen kom je bij meer dan 7 (genestelde) subniveaus in de problemen neem ik aan?

Gr,
Jasper
 
Dat rood was maar om de aandacht te trekken op het feit dat wanneer je in kolom A bijvoorbeeld "1.1" invult, Excel dit (logischerwijs) ziet als tekst, maar wanneer je een beginwaarde zoals "1" of "2" invult, dit gezien wordt als een getal. Daardoor match dit niet meer met de waarden in kolom F die er uitzien als getal, maar tekst zijn omdat ze het resultaat zijn van een tekstfunctie zoals "left".
 
Het aantal geneste nivo's doet er niet toe.
Het werkt niet zonder meer bij dubbele cijfers; maar daarvan maakte je ook geen gewag in je vraag.
 
@wher: ik begrijp het nog niet precies. Als ik bijvoorbeeld in cel A297 de format aanpas, verandert er niks. Ik moet de cel A2 kopiëren naar die plek, en dan het getal veranderen om het te laten werken (zie bijgevoegde doc, cel A505).
Ik heb ook de document/folder kolom nog een keer toegevoegd en die klopt niet (meer), of ik begrijp het verkeerd.

@snb: niet direct gewag van gemaakt, maar het komt wel voor in de getallenreeks die ik heb gestuurd. Ik dacht dat dit misschien met de nesting te maken had, maar ik zie nu dat dat niet klopt.
Geniale functie overigens. Alleen zou ik het zelf niet werkend krijgen voor dubbele subcijfers, of zelf 3 dubbele (1.1.100). Heb je daar nog een oplossing voor?

Document:
Bekijk bijlage Consistentie Index Check.xlsx
 
Als ik bijvoorbeeld in cel A297 de format aanpas, verandert er niks
Eerst de format naar Tekst, daarna pas een getal (opnieuw) inbrengen.

De formules voor Folder/Document uit mijn eerste bestand zijn niet meer van toepassing.
De opmerking in cel E22 begrijp ik niet.
 
Ok, duidelijk.
Bedankt voor de toelichting.
Cel E22: de index is daar niet consistent (er mist namelijk 1.1.5.5), dus zou er Nee moeten komen te staan.
 
Uit jouw post #1:
a. Een formule die in kolom 2 (Consistentie) laat zien of de index in kolom 1 (Index) klopt. Formule: "als er een 1.1.1 is, moet er een 1.1 en een 1 zijn"
Je hebt nergens gezegd dat als er een 1.1.2 is, er ook een 1.1.1 moet zijn.
 
Ik denk dat we hier te maken hebben met de wet van de afenemende meeropbrengst: het bedenken van een methode voor 100% kost 50* meer dan het bedenken voor de 99%.

De afwijkingen kun je volgens mij eenvoudig op het oog controleren.
99% wordt gedekt door:

=CHOOSE((LEN(A4)=LEN(A3))+2*(LEN(A4)>LEN(A3)) +3*(LEN(A4)<LEN(A3));RIGHT(A4;1)-RIGHT(A3;1)=1;IF(A3&".1"=A4;TRUE;IF(LEFT(RIGHT(A4;2);1)=".";FALSE;RIGHT(A4;2)-RIGHT(A3;1)=1));LEFT(A4;LEN(A4)-1)& RIGHT(A4;1)-1=LEFT(A3;LEN(A4)))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan