@snb ik ben bekend met je site en achtergrond. Je legt dingen keurig uit en hebt fantastische oplossingen, maar af en toe reageer je niet al te vriendelijk.
Zelf plaats ik vraagstukken voor problemen die onderdeel zijn van een grotere constructie/oplossing. Dan kan soms een vraag plaatsen in Jip en Janneke taal met een heel versimpeld voorbeeld voor een heel specifiek probleem, heel handig zijn.
De alternatieve oplossingen of voorstellen zijn echt wel nuttig, maar vaak is het niet wat er gevraagd wordt.
Ik vind het een beetje snel geoordeeld om te zeggen dat er geen hulp geboden hoeft te worden als iemand het zichzelf onnodig moeilijk maakt.
Ik kan mij best voorstellen dat het handig kan zijn om de producten van verschillende leveranciers in verschillende tabjes te zetten. Als dan het bestand gedeeld moet worden met een partij die niet alles hoeft te zien, kun je met een generieke formule, zoveel tabbladen plaatsen of weghalen als je wilt, zonder dat de functionaliteit kapot gaat.
Wellicht beetje ver gezocht, maar goed, als je maar 1 keer een formule hoeft te plaatsen en daarna kan je gewoon steeds met het bestand blijven werken, dan is het toch prima?
@Dim67 wat wil je nou precies? In je voorbeeld bestand zie ik namelijk in de bedrijf sheets dat je productcode hebt, prijs, en gewicht en natuurlijk leveranciernaam op alle regels. Maar je vraagt in eerste instantie ernaar dat je een productcode moet invullen en dat dan automatisch de prijs, gewicht en leverancier naar voren moeten komen. In dit geval, ben ik het met iedereen eens. want anders krijg je een onnodig lange formule. Dan is de aan elkaar geknoopte formule van AlexCEL voor jou de beste oplossing.
Ik vind het wat onwaarschijnlijk dat jij al die productcodes uit je hoofd kent, en je geeft ook aan dat de combinatie prijs, leverancier en gewicht juist het artikelnummer moeten opzoeken, maar volgens mij had je de productnaam nog in een kolom moeten zetten.
Je kunt in het tabblad "Formules" in de sectie "Namen", kun je een naam maken en dan het bereik dynamisch maken met behulp van "als" (Engels: if) formules in combinatie met "Verschuiving" (Engels: offset). Vervolgens zet je in tabblad "Orderbon" in de kolom "Leverancier" een gegevensvalidatie op de cellen, waarbij je aangeeft dat je een lijst wilt invoeren met alle bedrijfsnamen. De bedrijfsnaam moet dan weer identiek zijn aan de naam van de sheet, en dan zou je dus daarna productnaam ingeven met behulp van een lijst die verwijst naar een dynamische naam. waardoor vervolgens het aantal keuzes zich beperkt tot wat er in de sheet mogelijk is. Als alle variabelen zijn ingevoerd, zou ik geen gebruik meer maken van vert.zoeken, want die kan maar 1 criteria aan. Ik zou kiezen voor de volgende structuur:
Code:
=INDEX(INDIRECT("'"&B4&"'!A:A"),VERGELIJKEN(1,(C4=INDIRECT("'"&B4&"'!C:C"))*(D4=INDIRECT("'"&B4&"'!D:D")),0))
Ik heb het in je bestandje aangepast. Let wel, als je de formule aan wilt passen, even checken welke Excel versie je hebt. Als je namelijk geen gebruikmaakt van office 365, dan noemen ze deze formule een zogenaamde CSE formule (CSE = Control+Shift+Enter). Dit heet zo, omdat je deze toetsencombinatie moet gebruiken om na een aanpassing van de formule, Excel een seintje te geven dat je een array formule gaat gebruiken. Zodra je de laatste updates van Office 365 hebt, dan hoef je deze toetsencombinatie niet meer te gebruiken voor het doorvoeren van een aanpassing.
Hoe je met behulp van gegevensvalidatie het bestand nog slimmer te maken, ga ik niet voor je doorvoeren want dat kost best wel wat tijd, maar is de moeite waard om uit te vogelen. Ik heb voor wat inspiratie, een voorbeeldbestandje aangehecht waar ook wat instructies instaan.
Mocht je er niet uit komen, laat maar weten.
Maar ik hoop dat je hiermee weer aardig op weg bent geholpen.