Documentatie/Calc-functies/INDEX

From The Document Foundation Wiki
Jump to navigation Jump to search
This page is a translated version of the page Documentation/Calc Functions/INDEX and the translation is 100% complete.
Other languages:
English • ‎Nederlands



Functienaam:

INDEX

Categorie:

Werkblad

Samenvatting:

In zijn eenvoudigste vorm kan INDEX worden gebruikt om de waarde in een bepaalde cel (gespecificeerd door rij- en kolomnummer) binnen een gegevenstabel te bepalen. Afhankelijk van de context kan INDEX ook worden gebruikt om de verwijzing van de cel op het snijpunt van de opgegeven rij en kolom te bepalen.

INDEX is een krachtige functie die kan worden gebruikt om waarden op te zoeken in meerdere, niet-aangrenzende celbereiken en die in een matrixcontext kan worden gebruikt om meerdere waarden te retourneren. De flexibiliteit wordt vergroot wanneer INDEX wordt gebruikt in combinatie met de functie VERGELIJKEN, waardoor formules beter kunnen reageren op veranderingen in de invoergegevens.

Syntaxis:

De algemene syntaxis voor de functie INDEX is:

  • INDEX(Verwijzing[; Rij[; Kolom[; Bereik]]])

In het speciale geval dat het eerste argument slechts één kolom heeft, kan de volgende vereenvoudigde syntaxis worden gebruikt:

  • INDEX(Verwijzing; Rij)

In het speciale geval dat het eerste argument slechts één rij heeft, kan de volgende alternatieve syntaxis worden gebruikt:

  • INDEX(Verwijzing; Kolom)

Retourneert:

Technisch gezien retourneert INDEX een celverwijzing. Afhankelijk van de gebruikte formule kan de geretourneerde waarde echter worden gebruikt als een waarde (waarvan het type wordt bepaald door de invoergegevensset) of een celverwijzing.

Argumenten:

Verwijzing is een lijst met verwijzingen die het (de) bereik(en) van cellen specificeert die worden ingenomen door de invoergegevenstabel(len). Het neemt één van de volgende vormen aan:

  • Een enkel celbereik, gedefinieerd door de celverwijzing voor de cel linksboven in te voeren, gevolgd door een dubbele punt (:), en vervolgens de celverwijzing rechtsonder (bijvoorbeeld A1:E10).
  • Meerdere celbereiken kunnen als één argument worden doorgegeven door ze in een gescheiden lijst op te geven, omringd door haakjes, bijvoorbeeld =INDEX((A1:B6; C2:D7; E3:F8); …)</ code>. In dit geval zal Calc uw functieaanroep opnieuw opmaken om de tilde referentie-aaneenschakelingsoperator te gebruiken – bijvoorbeeld =INDEX((A1:B6~C2:D7~E3:F8); …). Als alternatief kunt u de tilde referentie-aaneenschakelingsoperator rechtstreeks zonder haakjes gebruiken – bijvoorbeeld =INDEX(A1:B6~C2:D7~E3:F8; …).
  • Een enkel celbereik waarnaar wordt verwezen door de naam van een databasebereik (gedefinieerd inGegevens ▸ Bereik definiëren op de menubalk) te selecteren .
  • Eén of meer celbereiken waarnaar wordt verwezen door de naam van een benoemd bereik. Benoemde bereiken die zijn gedefinieerd met Blad ▸ Benoemde bereiken en expressies ▸ Definiëren op de menubalk kunnen worden geconfigureerd om meerdere gebieden te omvatten met behulp van de aaneenschakelingsoperator tilde-verwijzing in het veld Bereik of formule-expressie van het dialoogvenster Bereik definiëren.
  • Een inline matrix (bijvoorbeeld {1, 2, 3; 4, 5, 6}).

Rij is een niet-negatieve integerwaarde of een verwijzing naar een cel die een dergelijke waarde bevat, dat wil zeggen de vereiste rijverschuiving vanaf de linkerbovenhoek van de gegevenstabel. In het geval van een matrixformule kan het argument Rij worden ingevoerd als een inline matrix om meerdere waarden op te halen. Het weglaten van het argument Rij (met twee opeenvolgende puntkomma's) of het instellen op de speciale waarde 0 wordt gebruikt in de matrixcontext om aan te geven dat waarden voor alle rijen moeten worden geretourneerd voor de opgegeven kolom.

Kolom is een niet-negatieve integerwaarde of een verwijzing naar een cel die een dergelijke waarde bevat, dat wil zeggen de vereiste kolomverschuiving vanaf de linkerbovenhoek van de gegevenstabel. In het geval van een matrixformule kan het argument Kolom worden ingevoerd als een inline matrix om meerdere waarden op te halen. Het weglaten van het argument Kolom (met twee opeenvolgende puntkomma's) of het instellen op de speciale waarde 0 wordt gebruikt in de matrixcontext om aan te geven dat waarden voor alle kolommen moeten worden geretourneerd voor de opgegeven rij.

'Bereik is een positief geheel getal of een verwijzing naar een cel die een dergelijke waarde bevat, die het subbereik aangeeft dat moet worden gebruikt wanneer het argument Verwijzing meerdere gebieden omvat. Als bijvoorbeeld Verwijzing is ingesteld op A1:B6~C2:D7~E3:F8, stel dan Bereik in op 1 voor celbereik A1:B6, stel Bereik' in tot 2 voor celbereik C2:D7 en stel Bereik in op 3 voor celbereik E3:F8. In het geval dat Verwijzing meerdere gebieden omvat maar er geen waarde is opgegeven voor het argument Bereik, wordt de standaardwaarde 1 aangenomen. In het geval van een matrixformule kan het argument Bereik worden ingevoerd als een inline matrix om meerdere waarden op te halen.

De volgende voorwaarden kunnen zich voordoen:

  • Als een Rij, Kolom of Bereik niet-numeriek is, retourneert INDEX als fout #WAARDE!.
  • Als de waarden Rij, Kolom of Bereik een niet-geheel getal is, dan kapt INDEX deze af tot een geheel getal.
  • Als, na afkapping, Rij of Kolom een negatieve waarde is, dan retourneert INDEX als fout Ongeldig argument (Fout:502).
  • Als Rij, na afkapping, groter is dan het aantal rijen in het celbereik dat is geïndexeerd door het argument Bereik, dan retourneert INDEX als fout Ongeldig argument (Fout:502).
  • Als Kolom, na afkaping, groter is dan het aantal kolommen in het celbereik dat is geïndexeerd door het argument Bereik, dan retourneert INDEX als fout Ongeldig argument (Fout:502).
  • Als Bereik, na afkapping, kleiner is dan 1 of groter is dan het aantal celbereiken gedefinieerd in Verwijzing, dan retourneert INDEX als fout #VERW!.

Aanvullende details:

  • INDEX kan worden gebruikt in een matrixformule. Voer bijvoorbeeld de matrixformule {=INDEX($A$1:$D$4; {1;3}; 2)} in met Ctrl+Shift+ Enter in plaats van alleen Enter. Er worden twee waarden geretourneerd: de waarde uit cel B1 wordt weergegeven in de formulecel en de waarde uit cel B3 wordt weergegeven in de cel onder de formulecel.

Voorbeelden:

De eerste reeks voorbeelden maakt gebruik van de volgende gegevenstabel:

A B C D
1
2 4 5 6
3 rood groen blauw
4 WAAR ONWAAR WAAR
Formule Beschrijving Retourneert
=INDEX(B2:D4; 1; 1) Hier retourneert de functie de gegevens in cel B2, het getal 4. Merk op hoe de argumenten Rij en Kolom verschoven zijn ten opzichte van het opgegeven celbereik, niet ten opzichte van het werkblad. 4
=INDEX(Gegevenstabel; G1; G2) waarbij Gegevenstabel de naam is van een databasebereik dat het celbereik B2:D4 omvat en waarbij de cellen G1 en G2 beide het getal 2 bevatten. Hier retourneert de functie de waarde in cel C3, de tekenreeks "groen". groen
=INDEX(C3:D4; 2; 2) Hier retourneert de functie de waarde in cel D4, wat de Booleaanse waarde WAAR is. WAAR
=INDEX(B2:B4; 3) Hier retourneert de functie de waarde in cel B4, wat de Booleaanse waarde WAARis. Merk op hoe in dit voorbeeld de vereenvoudigde syntaxis wordt gebruikt die beschikbaar is voor een gegevensset met één kolom. WAAR
=INDEX(B3:D3; 2) Hier retourneert de functie de waarde in cel C3, de tekenreeks "groen". Merk op hoe in dit voorbeeld de vereenvoudigde syntaxis wordt gebruikt die beschikbaar is voor een gegevensset met één rij. groen
{=INDEX(B2:D4; 2; 0)} waarbij de formule wordt ingevoerd als een matrixformule, met Ctrl+Shift+Enter in plaats van alleen Enter. Hier retourneert de functie een rij van drie waarden, overeenkomend met de drie waarden in de tweede rij van de invoergegevens. De tekenreeks "rood" verschijnt in de formulecel, "groen" verschijnt in de volgende cel aan de rechterkant, met "blauw" in de cel rechts daarvan. rood, groen en blauw
{=INDEX(B2:D4; 0; 2)} waarbij de formule wordt ingevoerd als een matrixformule, met Ctrl+Shift+Enter in plaats van alleen maar Enter. Hier retourneert de functie een kolom met drie waarden, overeenkomend met de drie waarden in de tweede kolom van de invoergegevens. Het getal 5 verschijnt in de formulecel, "groen" verschijnt in de cel eronder, met het getal 0 in de cel daaronder (de oorspronkelijke Booleaanse waarde ONWAAR wordt in dit scenario geconverteerd naar de numerieke waarde). 5, groen en 0
{=INDEX(B2:D4; {2; 3}; 3)} waarbij de formule wordt ingevoerd als een matrixformule, met Ctrl+Shift+Enter in plaats van alleen Binnenkomen. Hier retourneert de functie een kolom met twee waarden, overeenkomend met de waarden in de cellen D3 en D4 van de invoergegevens. De tekenreeks "blauw" verschijnt in de formulecel en de waarde 1 verschijnt in de cel eronder (de oorspronkelijke Booleaanse WAAR wordt in dit scenario geconverteerd naar de numerieke waarde). blauw en 1

De volgende tabel geeft aanvullende voorbeelden die geen verband houden met de bovenstaande tabel met voorbeeldgegevens.

Formule Beschrijving Retourneert
=INDEX(A1:C3~A5:C7~A9:C11; 1; 1) Merk op dat er geen waarde is opgegeven voor het argument Bereik en daarom wordt de standaardwaarde 1 gebruikt. Hier retourneert de functie de gegevens in de cel die op het snijpunt van rij 1 en kolom 1 ligt, in het eerste gebied dat is gedefinieerd in het argument Verwijzing. De formule =INDEX(A1:C3~A5:C7~A9:C11; 1; 1; 1) geeft hetzelfde resultaat. Inhoud van cel A1
=INDEX(A1:C3~A5:C7~A9:C11; 1; 1; 2) Hier retourneert de functie de gegevens in de cel die op het snijpunt van rij 1 en kolom 1 ligt, in het tweede gebied dat is gedefinieerd in het argument Verwijzing. Inhoud van cel A5
=INDEX(DrieGebieden; 3; 3; 3) waarbij DrieGebieden is gedefinieerd als een benoemd bereik met behulp van Bereik of formule-expressie $A$1:$C$3~$A$5:$C$7~$A$9:$C$11. Hier retourneert de functie de gegevens in de cel die op het snijpunt van rij 3 en kolom 3 ligt, in het derde gebied dat is gedefinieerd in het argument Verwijzing. Inhoud van cel C11
{=INDEX(DrieGebieden; 2; 2; {1;2;3})} waarbij de formule wordt ingevoerd als een matrixformule, met Ctrl+Shift+Enter in plaats van alleen Enter. DrieGebieden is gedefinieerd als een benoemd bereik met behulp van Bereik of formule-expressie $A$1:$C$3~$A$5:$C$7~$A$9:$C$11. Hier retourneert de functie de gegevens in de cel die op het snijpunt van rij 2 en kolom 2 ligt, in elk van de drie gebieden die zijn gedefinieerd in het argument Verwijzing. De drie waarden worden geretourneerd in een kolom. Inhoud van de cellen B2, B6 en B10
{=INDEX({1.3.5; 7.9.10}; {2;1}; 1; 1)} waarbij de formule wordt ingevoerd als een matrixformule, met Ctrl+Shift' '+Enter in plaats van alleen Enter. Hier retourneert de functie de waarden 7 en 1, weergegeven in twee rijen en één kolom. 7 en 1
=CEL("address"; INDEX(A2:C6; 2; 2)) Hier gebruikt de formule de verwijzing naar cel B3 die wordt geretourneerd door de functie INDEX. De functie CEL retourneert het absolute adres van cel B3, dat is $B$3. $B$3

Gerelateerde LibreOffice-functies:

BEREIKEN

KIEZEN

VERGELIJKEN

ODF standaard:

Section 6.14.6, part 2

Gelijkwaardige Excel-functies:

INDEX