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

Range in array-formula verandert ongewild

Status
Niet open voor verdere reacties.

Jwitte

Gebruiker
Lid geworden
20 mrt 2019
Berichten
31
Beste allen,

Enige tijd geleden heb ik hier ook een vraag gesteld, die keurig is opgelost voor mij. Verder bordurend ben ik opnieuw op zoek naar jullie kennis!!

Zie bijgevoegd bestand.

Er zijn twee tabbladen, in eerste tabblad staat een lijst waarin een arrayformule staat (in kolom D). De formule haalt informatie uit een tabel in tabblad twee. Zoals de formule nu staat, geeft hij niet de gewenste antwoorden die ik wil, maar dat is niet perse mijn vraag. Het volgende gebeurt namelijk:

Ik heb een macro gemaakt die een nieuwe categorie toevoegt aan de tabel in de tweede tabblad. Dat doet de macro door een regel toe te voegen (bovenaan in de tabel) en de gegevens die je erges anders moet invoeren, toe te voegen. Maar als dit gebeurd, verandert de array-formule in sheet 2 (van H2:h500 naar h3:h501). Ik heb meerdere combinaties van $ geprobeerd, maar de formule blijft meeveranderen als ik de tabel aanvul. Daar komt bij dat het laatste deel van de formule helemaal niet mee veranderd (ROW('Categorie aanpassen'!$2:$500)))) . Hoe dat komt, geen idee, maar dat is wel wat ik wil!!

Kan iemand me helpen om de formules vast te zetten?

Ik hoor graag als het nog onduidelijk is!

Mvg
Job
 

Bijlagen

  • voorbeeldvraag case.xlsx
    14,1 KB · Weergaven: 27
Maak in jouw formule gebruik van de tabel. En zorg ervoor dat er geen onnodige spaties staan. Je hoeft de formule niet op te slaan als een matrixformule.

Code:
=ALS.FOUT(INDEX('Categorie aanpassen'!J:J;1/(1/SOMPRODUCT((Table1[GL]=$A3)*ISGETAL(VIND.SPEC(Table1[Omschrijving bevat];$C3))*RIJ(Table1[GL]))));"XXXXX")
 
Maak in jouw formule gebruik van de tabel. En zorg ervoor dat er geen onnodige spaties staan. Je hoeft de formule niet op te slaan als een matrixformule.

Code:
=ALS.FOUT(INDEX('Categorie aanpassen'!J:J;1/(1/SOMPRODUCT((Table1[GL]=$A3)*ISGETAL(VIND.SPEC(Table1[Omschrijving bevat];$C3))*RIJ(Table1[GL]))));"XXXXX")

Beste Vena,

Dank voor je antwoord.

De reden dat ik de lijst niet in een tabel is gezet, is omdat ik in mijn originele bestand een afwisseling heb van formules en harde tekst in een kolom. Ik maak een tool met veel macro's. 1 van de macro is dat ik een formule herstel in de datadump terwijl er ook harde waarde in die betreffende kolom kunnen staan. Als ik een formule erin plak, wordt die formule door de hele kolom getrokken.

Is er een manier om dit tegen te gaan?
 
Waarom plaats je dan een document waar niets van dit al uit blijkt? In de tab 'Categorie aanpassen' staat toch en tabel?
 
Dat klopt helemaal, vena!
De categorienlijst staat in een tabel, en dat is ook de bedoeling (maakt het makkelijker voor het toevoegen van een nieuwe categorie. Tenminste, zo dacht ik er zelf over. Ik sta open om te veranderen van gedachten!). De lijst waar de formule in staat wil ik graag niet in een tabel hebben, met de reden die ik hierboven heb gegeven.
 
Ik denk wel dat je me al een antwoord hebt gegeven door de matrix eruit te halen.

Dat is mij eerder geopperd, maar is helemaal niet nodig. IK heb de kolommen genoemd en hij doet het!!

Dank!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan