NL/Documentation/How Tos/Calc: functie INDIRECT

From Apache OpenOffice Wiki
Jump to: navigation, search


INDIRECT

Geeft een verwijzing terug, na opgeven van een tekst tekenreeks.

Syntaxis:

INDIRECT(tekstverw)

tekstverw is een tekenreeks van tekst die de verwijzing specificeert die moet worden teruggegeven; de verwijzing mag naar één enkele cel zijn of naar een bereik.
De verwijzing mag dan worden gebruikt in formules of functies die een verwijzing vereisen - zie de voorbeelden hieronder.

Voorbeeld:

=INDIRECT("B2")

(in een cel) geeft de inhoud van cel B2 terug. INDIRECT("B2") geeft een verwijzing naar cel B2 terug, dus dit is hetzelfde als =B2.

=INDIRECT("B" & "2")

geeft ook de inhoud van cel B2 terug. "B" & "2" wordt de tekenreeks van tekst "B2".

=SOM(INDIRECT("A1:C3"))

geeft de som van de getallen A1:C3 terug.

Problemen:

  • Excel geeft sommige celverwijzingen anders weer als Calc, zodat deze functie niet altijd overdraagbaar is. Bijvoorbeeld: INDIRECT("Blad2.A1") is geldig in Calc, maar in Excel is de vereiste vorm INDIRECT("Blad2!A1"). Een overdraagbare oplossing zou kunnen zijn INDIRECT(ADRES(1;1;4;"Blad2")).
  • Excel staat een R1C1-verwijzing toe; dit zal in Calc werken vanaf OOo3.0 - zie Issue 91020 .
  • Benoemde cellen/bereiken worden in Calc herkend vanaf OOo2.4 - zie Issue 4695 .


Aanvullende optionele parameter voor OpenOffice.org 3:

Voor interoperabiliteit ondersteunen de werkbladfuncties ADRES en INDIRECT nu een aanvullende optionele parameter om te specificeren of de R1C1-adresnotatie in plaats van de gebruikelijke A1-notatie moet worden gebruikt. Hoewel de R1C1-notatie anderszins nog niet wordt ondersteund door de toepassing, maakt dit het voor geïmporteerde werkbladdocumenten mogelijk om formules te berekenen die het gebruiken.

In ADRES, wordt de parameter _ingevoegd_ als de 4e parameter, wat de parameter voor de optionele bladnaam opschuift naar de 5e positie.

In INDIRECT, wordt de parameter toepast als de 2e parameter.

In beide functies wordt, als het argument wordt opgegeven en 0 is, de R1C1-notatie gebruikt, als het argument niet wordt opgegeven of ene andere waarde heeft dan 0, wordt de A1-notatie gebruikt. In het geval van R1C1-notatie, produceert ADRES tekenreeksen voor het adres die het uitroepteken '!' gebruiken als scheidingsteken voor de bladnaam en INDIRECT verwacht het uitroepteken als scheidingsteken voor de bladnaam. Beide functies gebruiken nog steeds de punt '.' als scheidingsteken voor de bladnaam met de A1-notatie.

Bij het openen van documenten die zijn opgeslagen in de indeling ODF 1.0 of 1.1, krijgt een functie ADRES die voorkomt in een formule-uitdrukking een 4e parameter met de waarde 1 ingevoegd als een bladnaam werd opgegeven als de 4e parameter, waarbij de bladnaam opschuift naar de 5e parameter.

Bij het opslaan van een document in de indeling ODF 1.0/1.1, zal, als in een functie ADRES een 4e parameter aanwezig is, die uitdrukking van de parameter worden gewist en niet weggeschreven. OPMERKING! Dit veroorzaakt incompatibiliteiten als de uitdrukking van het argument wordt berekend als 0, indien de functie opnieuw wordt geladen zal dit een ander resultaat berekenen! Een document zou niet moeten worden opgeslagen in de indeling van de oude ODF 1.0/1.1 als de nieuwe 4e parameter van de functie ADRES werd gebruikt met de waarde 0.

De functie INDIRECT wordt weggeschreven naar de indeling ODF 1.0/1.1 zoals hij is; als de 2e parameter aanwezig was, zal een oudere versie van Calc een fout geven voor die functie. Dit is met opzet, omdat ADRES gewoonlijk samen met INDIRECT wordt gebruikt, en indien opgeslagen in de indeling ODF 1.0/1.1 zal deze combinatie eerder een foutief resultaat opleveren bij opnieuw berekenen als de R1C1-notatie werd gebruikt.

Deze wijziging is in lijn met het gedrag van andere werkbladtoepassingen en de gegeven definitie in de OASIS ODFF/OpenFormula-specificatie die beschikbaar is op http://www.oasis-open.org/committees/documents.php?wg_abbrev=office-formula


Zie ook

Personal tools