Toon posts:

[Excel] verticaal opzoekfunctie in getallenreeks

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende Excel probleem is mij gevraagd op te lossen en ik moet zeggen: ik weet het even niet :? . Dit is het probleem:

In Excel wordt op een veld een postcode nummer ingevuld (alleen de cijfers, niet de letters). In een tabel moet vervolgens de bijbehorende plaatsnaam worden opgezocht. Een gedeelte van de tabel staat hieronder:

PLAATS POSTC_BEG POSTC_END
AMSTERDAM 1000 1099
AMSTERDAM-ZUIDOOST 1100 1109
DIEMEN 1110 1112
DUIVENDRECHT 1115 1115
SCHIPHOL 1117 1118
LANDSMEER 1120 1121
DEN ILP 1127 1127
VOLENDAM 1130 1132
EDAM 1135 1135
MONNICKENDAM 1140 1141
KATWOUDE 1145 1145
BROEK IN WATERLAND 1150 1151


Zoals je ziet: het is een getallenreeks met een vanaf en tot/met tabel. Welke functie moet ik nu gebruiken om er voor te zorgen dat als ik 1111 zoek, "Diemen" uit de hoge hoed komt ?

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 10:16

Maasluip

Kabbelend watertje

Als je er van uit kan gaan dat de twee kolommen met postcodes op elkaar aansluiten (dus de waarde in de tweede kolom altijd een lager is dan de waarde uit de eerste kolom van de volgende regel) is een simpele VLOOKUP voldoende. Je moet dan wel even de eerste kolom van de postcode als eerste kolom van je lookup table maken, dus bijvoorbeeld de plaatsnamen naar achteren verplaatsen.

Dus: kolom A: POSTC_BEG, kolom B: POSTC_END, kolom C: PLAATS
in D1 de waarde die je zoekt (1111), in E1 de formule =VLOOKUP(E1;A2:C13;3)

Je maakt dan gebruik van het feit dat als de waarde (1111) niet in de eerste kolom voor komt, hij de hoogste waarde onder de gezochte waarde pakt. Nadeel is echter dat niet bestaande postcodes ook een waarde geven: 1113 geeft ook DIEMEN.

Als dat niet gewenst is moet je of een eigen tabel maken met elke postcode die je wil hebben (en de formule veranderen naar =VLOOKUP(E1;A2:C13;3;FALSE) of een eigen formule schrijven.

Signatures zijn voor boomers.


Verwijderd

Topicstarter
Simple as that !!

Hartelijk bedankt voor de snelle reactie. :*)