Cel & Info

Naar aanleiding van een vraag van een collega (“Kan ik de naam van een tabblad in een cel weergeven?“) kwam ik 2 ondergewaardeerde(?) functies van Excel tegen: CEL en INFO.

Ik dacht, dat het antwoord op de vraag mbv INFO zou kunnen worden gevonden, maar dat was niet het geval; wel met CEL.
Dus maar eens even de 2 functies onder de loep nemen en kijken wat de mogelijkheden en verschillen zijn.

Functie INFO

Deze functie retourneert informatie over de huidige besturingsomgeving.
De formule =INFO(“versie-excel”) bijvoorbeeld levert op mijn PC  als resultaat 14.0.

LET OP: de gewenste informatie (in het voorbeeld excel-versie) moet tussen aanhalingstekens staan, anders denkt Excel dat je een verwijzing naar een zelf-gedefinieerde naam meegeeft.

INFO() kan 7 verschillende soorten informatie genereren:

  1. map: de laatst gebruikte/actieve directory (dus niet persé de directory waarin de onderliggende werkmap wordt weggeschreven!!)
  2. aantal_bladen: aantal werkbladen, die op dit moment binnen Excel gebruikt worden (al dan niet zichtbaar; ook bladen in verborgen werkmappen worden meegeteld)
  3. begin: geeft aan welke cel linksboven op dit moment zichtbaar is (altijd voorafgegaan door $A:)
  4. versie_besturing: onder welke versie van het  besturingssysteem wordt Excel gebruikt
  5. herberekening: staat Excel in de Automatische of Handmatige stand? (aan te passen via Formules/Berekeningsopties)
  6. versie_excel
  7. systeem: naam van de besturingsomgeving; Macintosh = ‘mac’ en Windows = ‘pcdos’

LET OP: in eerdere versies van Excel was het ook mogelijk om informatie over het geheugen op te vragen ( “beschikbaar_geheugen”, “geheugen_gebruikt” en “totaalgeheugen”); deze opties worden niet meer ondersteund.

De 5e optie (herberekening) is handig bij het gebruik van grote spreadsheets. Wanneer de rekentijd exorbitant groot wordt, is het gebruikelijk om tussentijds herberekening op Handmatig te zetten. Om te voorkomen dat bij het beoordelen van de resultaten naar ‘oude’ uitkomsten wordt gekeken, kun je de status van herberekening op deze manier bij de resultaten weergeven.
In het Voorbeeldbestand is via voorwaardelijke opmaak de status van herberekening duidelijk te onderscheiden.

Voor de overige opties zie ik weinig toepassingsmogelijkheden in de praktijk. Graag een reactie, wanneer u wel een zinvolle toepassing hiervoor heeft.

Functie CEL

Waar de functie INFO() informatie over de besturingsomgeving levert, geeft de functie CEL() u inzicht in de opmaak, locatie of inhoud van een cel.
De formule =CEL(“bescherming”;A1) bijvoorbeeld geeft de waarde 0 als cel A1 niet is vergrendeld en 1 als de cel wel is vergrendeld.

Bij deze functie kent Excel 12 opties:

  1. adres: de verwijzing naar de betreffende cel
  2. kolom: kolomnummer van de cel
  3. kleur: de waarde 1 als de cel kleuropmaak voor negatieve waarden bevat, anders is het resultaat 0 (nul)
  4. inhoud: de inhoud van de cel
  5. bestandsnaam: de bestandsnaam (met het volledige pad en naam van het werkblad) van het bestand dat de cel bevat; deze is leeg als het bestand nog niet is opgeslagen
  6. notatie: code voor de getalnotatie van de cel. De standaardnotatie levert een S, een datum voor D1 etc. Experimenteer met de mogelijkheden.
  7. haakjes: de waarde 1 als de cel een notatie bevat waarmee positieve waarden of alle waarden tussen haakjes worden geplaatst; anders is het resultaat 0
  8. voorvoegsel: geeft als resultaat een enkel aanhalingsteken (‘) als de cel links uitgelijnde tekst bevat, een dubbel aanhalingsteken (“) als de cel rechts uitgelijnde tekst bevat, een caret (^) als de cel gecentreerde tekst bevat, een backslash (\) als de cel uitgevulde tekst bevat en lege tekst (“”) als de cel iets anders bevat
  9. bescherming: de waarde 0 als de cel niet is vergrendeld en 1 als de cel wel is vergrendeld
  10. rij: rijnummer van de cel
  11. type: geeft als resultaat “g” (leeg) als de cel leeg is, “l” (label) als de cel een tekstconstante bevat en “w” (waarde) als de cel iets anders bevat
  12. breedte: de kolombreedte van de cel, afgerond op een geheCel Infoel getal

In het Voorbeeldbestand op het tabblad Cel2 ziet u wat de diverse opties opleveren (alle formules ‘kijken’ naar cel C2).

LET OP: in de gebruikte formules (bijvoorbeeld in cel C7 staat =CEL(B7;$C$2)) worden geen aanhalingstekens gebruikt, aangezien naar de inhoud van cellen wordt verwezen (hier B7).

LET OP: als het argument Verw een cellenbereik is, haalt de functie CEL alleen de informatie op voor de cel linksboven in het bereik.

Veel van bovenstaande opties kunnen worden gebruikt bij het controleren, beveiligen en fool-proof maken van spreadsheets.

Zoals u ziet geeft de functie CEL() niet direct een antwoord op de vraag van mijn collega (wat is de naam van het tabblad), maar die kunnen we via het type bestandsnaam wel afleiden:
=RECHTS(CEL(“bestandsnaam”;A1);LENGTE(CEL(“bestandsnaam”;A1))-VIND.ALLES(“]”;CEL(“bestandsnaam”;A1)))

Wanneer we =CEL(“bestandsnaam”;A1) gebruiken, zien we dat de naam van het tabblad wordt vooraf gegaan door een ] (rechte sluithaak).
Via VIND.ALLES zoeken we de positie van dit teken op. Alles tot en met die positie kunnen we missen, oftewel alles rechts daarvan hebben we nodig. Hoe lang is dat gedeelte dat we nodig hebben? De oorspronkelijke lengte minus de positie van het ]-teken. Simpel toch?

Functie CEL (2e versie)

In de voorbeelden op het tabblad Cel2 hebben we gebruik gemaakt van de uitgebreide versie van de CEL-functie (ook de meest gebruikte en gangbare).

Bij het gebruik van de functie kun je echter ook de verwijzing naar een cel weglaten. Excel zal dan alle informatie, zoals hiervoor besproken, laten zien van de laatst gebruikte cel. Op deze manier is het mogelijk om te volgen welke activiteit en op welke plaats de vorige handeling in Excel is geweest (soms moet er eerst een herberekening plaats vinden, via de F9-toets, voordat het resultaat zichtbaar is).

Experimenteer met de mogelijkheden met behulp van het tabblad Cel1 in het voorbeeldbestand.


3 gedachten over “Cel & Info

  1. Helder verhaal. Het enige waar ik mee zit is dat de uitkomst van cel(“bestandsnaam”) niet automatisch wordt herberekend (ook al staat automatisch herberekenen aan). Als ik switch tussen twee excel bestanden wordt soms de bestandsnaam van file A weergegeven in bestand B en andersom. [F9] biedt dan uitkomst, maar dat wil ik eigenlijk niet…

    1. Dag Roeland

      dat is wat ik bedoel met het laatste stukje van mijn artikel. Als je een verwijzing weglaat naar een cel (zoals in jouw reactie) dan ‘kijkt’ Excel naar het werkblad waar de laatste activiteit is geweest. Dus wil je zeker weten dat Excel info levert over een bepaald spreadsheet, dan zul je in de functie CEL ook een verwijzing naar een cel moeten opnemen (zoals in het tabblad Cel2 van het Voorbeeldbestand).

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *