Vasthouden van formules in Excel

Graag zou ik willen weten hoe ik mijn formules kan behouden die verwijzen naar een cel in een Invantive Control blok?

Ik wil graag de waarde uit bijvoorbeeld de cel C10 hebben. De cel C10 valt in een blok met informatie uit Exact Online.

Middels een formule als

=C10

of

v.lookup(value,c10:k500;3;false)

wil ik data gebruiken die ik via de synchronise binnenhaal.

Echter bij elke synchronisatie verspringen de velden en werkt de formule niet meer.

Kan ik dat op een of andere manier oplossen?

Het beschreven gedrag klopt: als je een Invantive Control blok hebt dat loopt van bijvoorbeeld A10 t/m C100, dan zal bij een synchronisatie eerst de inhoud van het blok “omhoogrollen” als een elastiekje dat losschiet en daarna opnieuw gevuld worden waarmee de onderkant omlaag gaat. Verwijzingen naar cellen in het bereik A10:C100 zullen dan verdwijnen of ongeldig worden.

Dat is bewust zo gemaakt, omdat het van te voren niet zeker is welke gegevens waar zullen staan gezien het dynamische karakter van de blokken.

INDEX Excel-formule

Er is altijd de mogelijkheid om te werken met de INDEX formule. Hiermee kun je dynamisch binnen een Excelbereik zoeken. De meeste gebruikers geven bij elk blok de namen van de Excelbereiken op voor de gegevens en de gegevens met kop.

Stel het Excelbereik blk_data beschrijft de daadwerkelijke gegevens, dan kun je met INDEX in dit bereik zoeken zoals in onderstaand voorbeeld:

INDEX Excel formule

Het prettige is dat de INDEX-formule ook meerdere cellen kan selecteren: een bereik, bijvoorbeeld de volledige derde kolom en die dan gebruiken in een SOM-formule zoals met:

INDEX Excel formule hele kolom

Excel-tabel

Daarnaast is het ook mogelijk om gebruik te maken van Excel tabellen. Meest wezenlijke verschil is dat een kolom een naam krijgt:

Excel-tabel totaliseren

Celreferentie Expressies

Binnen het blok zelf kun je in de SQL statements werken met Invantive Control celreferentie expressies.

Er zijn meerdere mogelijkheden om met de gegevens in een blok verder te werken buiten het blok. Als je bijvoorbeeld de volgende query gebruikt:

select 'hi' txt
,      '=$C{E,.,.,^,.}' celreferentie_expressie
from   range(10)@datadictionary

dan zal op elk van de 10 regels die het blok zal bevatten de tweede kolom een Excel-formule bevatten die wijst naar de eerste kolom.

Het samenstellen van Excel celreferentie expressies staat in de documentatie, maar de meest voorkomende zijn ook via Bouwblok rechtstreeks in een SQL-statement in te voegen:

Het is erg praktisch om efficiente Excel-formules mee te maken, maar het is echter bijzonder onpraktisch om te gebruiken vanuit cellen buiten een blok.