In een Excel-spreadsheet worden 'en' en 'in' over het algemeen in twee contexten gebruikt:
1. Binnen formules en functies:
* `AND()` functie:
* Betekenis: De functie `AND()` is een logische functie die evalueert of *alle* argumenten WAAR zijn.
* Syntaxis: `EN(logisch1, [logisch2], ...)`
* Voorbeeld: `AND(A1>0, B1<10)` Deze formule retourneert TRUE als de waarde in cel A1 groter is dan 0 *en* de waarde in cel B1 kleiner is dan 10. Anders retourneert de formule FALSE.
* `INDIRECT()` functie:
* Betekenis: `INDIRECT()` retourneert de referentie gespecificeerd door een tekststring. Hiermee kunt u een tekenreeks gebruiken om dynamisch naar een cel of bereik te verwijzen.
* Syntaxis: `INDIRECT(ref_tekst, [a1])`
* `ref_text`:Een tekstreeks die een celverwijzing vertegenwoordigt (zoals "A1", "R2C3", of een gedefinieerde naam).
* `[a1]`:Optioneel argument, TRUE (of weggelaten) voor referenties in A1-stijl of FALSE voor referenties in R1C1-stijl.
* Voorbeeld: `INDIRECT("A" &RIJ())` - Dit retourneert de waarde van cel A1 in de eerste rij, A2 in de tweede rij, enzovoort. De functie `ROW()` levert het huidige rijnummer.
* Belangrijke opmerking over `IN`: Hoewel 'INDIRECT' een functienaam is, is er in standaard Excel geen operator of directe functie die het zuivere woord 'IN' gebruikt voor zaken als het controleren of een waarde bestaat binnen een lijst of bereik. Als je naar die functionaliteit zoekt, combineer je doorgaans andere functies. Zie punt 2 hieronder voor hoe u dat kunt bereiken.
2. Meer algemene "Is iets IN iets anders"-logica (vereist vaak het combineren van functies):
Excel heeft geen enkele ingebouwde "IN"-operator zoals u die in programmeertalen aantreft. U kunt echter de controle van het type 'is een waarde in een lijst' of 'is een subtekenreeks in een tekenreeks' uitvoeren met behulp van combinaties van functies:
* Controleren of een waarde binnen een bereik valt (zoals een lijst): Dit is gebruikelijk.
* Met `COUNTIF()`:
* `AANTAL.ALS(bereik, criteria)`:Telt het aantal cellen binnen een `bereik` dat voldoet aan de gegeven `criteria`.
* Voorbeeld: `=IF(AANTAL.ALS(A1:A10, "appel")> 0, "Ja", "Nee")` Hiermee wordt gecontroleerd of de waarde "appel" bestaat in het bereik A1:A10. Als `AANTAL.ALS` een waarde retourneert die groter is dan 0 (wat betekent dat "appel" is gevonden), retourneert het "Ja"; anders retourneert het "Nee".
* Met `MATCH()` en `ISNUMBER()`:
* `MATCH(lookup_value, lookup_array, [match_type])`:Zoekt naar een `lookup_value` in een `lookup_array` en retourneert de *relatieve positie* van de eerste overeenkomst. Als er geen overeenkomst wordt gevonden, retourneert het `#N/A`.
* `ISNUMBER(waarde)`:Retourneert TRUE als de `waarde` een getal is, anders FALSE.
* Voorbeeld: `=IF(ISNUMBER(MATCH("appel", A1:A10, 0)), "Ja", "Nee")` Hiermee wordt gecontroleerd of "appel" voorkomt in A1:A10. De functie 'MATCH' retourneert de positie van 'appel' als deze wordt gevonden, of '#N/A' als deze niet wordt gevonden. `ISNUMBER` controleert of het resultaat van `MATCH` een getal is (wat betekent dat er een match is gevonden).
* Controleren of een substring in een string zit:
* Met `SEARCH()` en `ISNUMBER()`:
* `SEARCH(find_text, inside_text, [start_num])`:Geeft de startpositie terug van de `find_text` binnen `within_text`. Het retourneert een fout (`#VALUE!`) als de `find_text` niet wordt gevonden. `SEARCH` is *niet* hoofdlettergevoelig.
* `FIND(vind_tekst, binnen_tekst, [start_getal])`:vergelijkbaar met `SEARCH`, maar `FIND` *is* hoofdlettergevoelig.
* Voorbeeld: `=IF(ISNUMBER(SEARCH("app", A1)), "Ja", "Nee")` Hiermee wordt gecontroleerd of de subtekenreeks "app" aanwezig is in de tekenreeks in cel A1. Als `SEARCH` 'app' vindt, retourneert het een getal (de startpositie) en `ISNUMBER` retourneert WAAR.
Overzichtstabel:
| Termijn | Context | Beschrijving | Voorbeeld |
|-----------|----------------------------|------------------------------------- ------------------------------------|---------------------------------------|
| `EN()` | Logische functie | Evalueert of alle argumenten WAAR zijn. | `EN(A1>0, B1<10)` |
| `INDIRECT()`| Formule Functie | Retourneert de verwijzing die is opgegeven door een teksttekenreeks om dynamisch naar een cel of bereik te verwijzen | `INDIRECT("A" &RIJ())` |
| "IN" (impliciet)| Logische controle (algemeen) | Controleren of een waarde/substring binnen een bereik/string valt (vereist andere functies)| `ALS(AANTAL.ALS(A1:A10, "appel")> 0, "Ja", "Nee")`|
Hoewel "en" en "in" niet op dezelfde manier bestaan als operatoren in Excel als in sommige programmeertalen, bieden de functies van Excel de hulpmiddelen om soortgelijke logische vergelijkingen en dynamische verwijzingen te realiseren. De specifieke functies die u gebruikt, zijn afhankelijk van *wat* u precies probeert te controleren of vergelijken. |