Excel formule ALS & meerdere VERT.ZOEKEN

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • sanderarnouts
  • Registratie: Juli 2022
  • Laatst online: 20-07-2022
Goedemiddag,

Ik ben bezig met een formule schrijven waar 4 verschillende afsplitsingen in zijn, waar dan weer maatregelen aan vast zitten aan het materiaal.

Mijn vraag was of iemand hier een formule voor heeft, het gaat als volgt:

in cel G staat de variabele (A,E,C en B )
Daar zijn 4 verschillende tabellen voor, dus 4 verschillende VERT.ZOEKEN

In die tabel moet die dus kijken naar de VTYP (A,E,C en B ), de schaden, en het materiaal (Zie afbeelding 1)

Afbeeldingslocatie: https://tweakers.net/i/BgUP9tlexlwE2USQNGRWsFj2B6k=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/f9Zi8b6tvhadLDIvkJQJOEOE.png?f=user_large

Vervolgens moet hij dus gaan zoeken naar de betreffende maatregel in de tabel (Zie afbeelding 2)

Afbeeldingslocatie: https://tweakers.net/i/m3za1qXq6FnRMtUeH18uyRMXXuQ=/800x/filters:strip_exif()/f/image/612rcgn5QGOVOdu9RCF05cna.png?f=fotoalbum_large

Iemand een idee of een stapje voor mij in de goede richting?

Alvast dank,
Sander

Alle reacties


Acties:
  • 0 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Waar kom je niet uit? De titel van je topic is het antwoord, toch?

When life gives you lemons, start a battery factory


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
En waar zoek je naar met vert.zoeken?
Naar een letter (A,B, C, E), naar een schade, of wat anders?

Acties:
  • 0 Henk 'm!

  • ERMAWG
  • Registratie: December 2011
  • Laatst online: 07-05 13:57
Er is denk ik een manier maar een beetje quick & dirty: steeds een nieuwe ALS functie starten in de niet-waar kant van de formule.
Dus je begint met ALS(G1="A";[Vert.Zoeken in de juiste tabel]; [hier komt de 'niet-waar' uitkomst])
en dan steeds een nieuwe ALS functie starten.

Dus zoiets: ALS(G1="A";[zoeken in tabel 1]; ALS(G1="B";[zoeken in tabel 2]; ALS(G1="C"; [zoeken in tabel 3]; ALS(G1="D"; [zoeken in tabel 4]; 'niet gevonden'))))

Mocht je dat onoverzichtelijk vinden kun je ook 4 nieuwe kolommen toevoegen (bijvoorbeeld H/I/J/K) met allemaal een eigen ALS functie met de juiste zoekopdracht in de 'waar' kant. De 'niet waar' kant laat je dan leeg.
Kolom H: ALS(G1="A"; [Zoekopdracht tabel 1];"")
Kolom I: ALS(G1="B"; [Zoekopdracht tabel 2];"")
etc.
In een vijfde kolom kun je dan de resultaten laten zien door te checken of de cel leeg is of gewoon =H1&I1&J1&K1 te doen. Dan voor de netheid kolommen H/I/J/K verbergen.

[ Voor 35% gewijzigd door ERMAWG op 06-07-2022 13:01 ]


Acties:
  • 0 Henk 'm!

  • sanderarnouts
  • Registratie: Juli 2022
  • Laatst online: 20-07-2022
ERMAWG schreef op woensdag 6 juli 2022 @ 12:44:
Er is denk ik een manier maar een beetje quick & dirty: steeds een nieuwe ALS functie starten in de niet-waar kant van de formule.
Dus je begint met ALS(G1="A";[Vert.Zoeken in de juiste tabel]; [hier komt de 'niet-waar' uitkomst])
en dan steeds een nieuwe ALS functie starten.

Dus zoiets: ALS(G1="A";[zoeken in tabel 1]; ALS(G1="B";[zoeken in tabel 2]; ALS(G1="C"; [zoeken in tabel 3]; ALS(G1="D"; [zoeken in tabel 4]; 'niet gevonden'))))

Mocht je dat onoverzichtelijk vinden kun je ook 4 nieuwe kolommen toevoegen (bijvoorbeeld H/I/J/K) met allemaal een eigen ALS functie met de juiste zoekopdracht in de 'waar' kant. De 'niet waar' kant laat je dan leeg.
Kolom H: ALS(G1="A"; [Zoekopdracht tabel 1];"")
Kolom I: ALS(G1="B"; [Zoekopdracht tabel 2];"")
etc.
In een vijfde kolom kun je dan de resultaten laten zien door te checken of de cel leeg is of gewoon =H1&I1&J1&K1 te doen. Dan voor de netheid kolommen H/I/J/K verbergen.
Ja dat had ik al wel bedacht, alleen mijn vraag was dat je dan ook nog onderscheid maakt in de informatie van cel E & F.

Acties:
  • 0 Henk 'm!

  • ERMAWG
  • Registratie: December 2011
  • Laatst online: 07-05 13:57
Oh zo. Nee dan kun je beter een verborgen kolom maken waarin je de drie termen combineert tot 1 zoekterm. Zowel in je moedertabel als in de andere tabellen waarin je zoekt.
Dus bijvoorbeeld kolom H =E1&F1&G1 en dan in kolom G: Vert.Zoeken(H1....)

Je zoekterm in je eerste regel is dan: "BSS Keiformaat 80 mmBermenE"

Maar dat samenvoegen van de zoekterm moet je dus ook doen in je andere tabellen. Het risico is dat als iets een extra spatie heeft na het woord, dan wordt je zoekterm niet gevonden.

Je zou kunnen overwegen een andere aanpak te kiezen door elke individuele mogelijkheid een nummer te geven in een nieuwe tabel. Dan heen-en-weer zoeken via die nieuwe tabel. Waarom voeg je sowieso de vier tabellen niet samen?

Acties:
  • 0 Henk 'm!

  • sanderarnouts
  • Registratie: Juli 2022
  • Laatst online: 20-07-2022
Nou het zit dus zegmaar zo dat bij alle verschillende VTYP's (A,C,E,B) een aparte tabel hoort met aparte schades met aparte maatregelen met apart materiaal, vandaar dat het nog complexer wordt.

Zie afbeelding voor duidelijkheid

Afbeeldingslocatie: https://tweakers.net/i/hTsFkbCNxJQ0f-2piDX6HYPiREo=/800x/filters:strip_exif()/f/image/hXDIIs1DOURvEH5tiUR9zJWk.png?f=fotoalbum_large

Acties:
  • +1 Henk 'm!

  • Audiowaste
  • Registratie: Mei 2011
  • Laatst online: 10:58
Dat kun je makkelijk doen met de INDEX en VERGELIJKEN functie.

Je wil bijvoorbeeld weten welke maatregel je moet nemen als
VTYP = A
SCHADE = Boomwortelopdruk
MATERIAAL = bitumeus

Dan gebruik je de volgende formule (op basis van je screenshot in je laatste post):
=INDEX(T2:T20;VERGELIJKEN(1;(A=A2:A20)*(Boomwortelopdruk=B2:B20)*(bitumeus=C2:C20);0))

Waarbij:
Dikgedrukte de variabele waarden zijn waar je naar wil zoeken. Indien deze in een cel staan, dan vervang je de formule uiteraard door de cel.

Hier ook een snel voorbeeld in Excel:
Afbeeldingslocatie: https://tweakers.net/i/5hURT5dl9R9pLoRWXbMJ1rdqsv8=/800x/filters:strip_exif()/f/image/PLiBCkCxRXLTDrDyosFTdk1f.png?f=fotoalbum_large

[ Voor 26% gewijzigd door Audiowaste op 06-07-2022 14:39 . Reden: Voorbeeld van Excel toegevoegd ]


Acties:
  • 0 Henk 'm!

  • Croga
  • Registratie: Oktober 2001
  • Laatst online: 09-05 07:05

Croga

The Unreasonable Man

Eenvoudigste oplossing?
In beide sheets een hulpkolom maken die de betreffende kolommen aan elkaar plakt, die verbergen en die vervolgens gebruiken om te zoeken.
Alsnog wel met behulp van INDEX aangezien VLOOKUP een sorteringsvereiste heeft.

Acties:
  • 0 Henk 'm!

  • Audiowaste
  • Registratie: Mei 2011
  • Laatst online: 10:58
Croga schreef op woensdag 6 juli 2022 @ 14:41:
Eenvoudigste oplossing?
In beide sheets een hulpkolom maken die de betreffende kolommen aan elkaar plakt, die verbergen en die vervolgens gebruiken om te zoeken.
Alsnog wel met behulp van INDEX aangezien VLOOKUP een sorteringsvereiste heeft.
Als je gebruik maakt van INDEX en VERGELIJKEN hoef je geen hulpkolom toe te voegen.

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 08-05 16:57
Audiowaste schreef op woensdag 6 juli 2022 @ 14:35:
Dat kun je makkelijk doen met de INDEX en VERGELIJKEN functie.

Je wil bijvoorbeeld weten welke maatregel je moet nemen als
VTYP = A
SCHADE = Boomwortelopdruk
MATERIAAL = bitumeus

Dan gebruik je de volgende formule (op basis van je screenshot in je laatste post):
=INDEX(T2:T20;VERGELIJKEN(1;(A=A2:A20)*(Boomwortelopdruk=B2:B20)*(bitumeus=C2:C20);0))

Waarbij:
Dikgedrukte de variabele waarden zijn waar je naar wil zoeken. Indien deze in een cel staan, dan vervang je de formule uiteraard door de cel.

Hier ook een snel voorbeeld in Excel:
[Afbeelding]
Dit, wel even de formule CTRL+SHIFT+ENTEREN afhankelijk van welke versie van excel je hebt.


Op jouw dataset wordt dit dan het volgende:
Ik ga er even vanuit dat je je tabellen een naam hebt gegeven

Methode 1:

{=INDEX(Opzoek[maatregel];VERGELIJKEN(1;([@[VTYP]]=Opzoek[VTYP])*([@[Schade]]=Opzoek[Schade])*([@[Materiaal]]=Opzoek[Materiaal]);0))}

De { } krijg je door ctrl+shift+enter. Je forceert zo de functies om arrays te verwerken.

Meer info: https://exceljet.net/form...ch-with-multiple-criteria

Methode 2: je maakt een sleutelkolom in beide tabellen die je telkens samenstelt uit VTYP&Materiaal&Schade en gebruikt daar vertikaal zoeken (of X.ZOEKEN: werk sneller en handiger dan vertikaal zoeken, je moet alleen een nieuwe versie van excel hebben)
Pagina: 1