• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Getallen zoeken binnen klasses

Status
Niet open voor verdere reacties.

Arne D

Gebruiker
Lid geworden
18 jan 2009
Berichten
28
Hallo,

Ik ben momenteel bezig met een excelfile op te maken.

Zit vast met een item: " getal zoeken binnen klasse ":

Tabblad 1
A B C D
1 500 1 - 500 Prijs

Kolom C: Tekst samenvoegen.

Tabblad 2

Stuk Lengte Brutoprijs
1 450

Als de lengte wordt ingevuld, in dit voorbeeld 450, zou deze moeten zoeken in kolom C tussen 1 en 500 mm. Hoe kan dit verwezenlijkt worden.

Volgende formule wordt toegepast:

=VERT.ZOEKEN(B23;'PRIJSLIJST'!C1:F2;2;0)

* In B23 wordt de lengte getypt, in dit geval 450
* De matrix begint vanaf kolom C ( klasse ) van tabblad 1
* Gezien de matrix maar begint vanaf kolom C, bevindt de prijs zich in kolom D ( = 2 )

Kan Excel eigenlijk een getal opzoeken dat zich tussen 2 waarden bevindt en de respectievelijke prijs opgeven.

Wat doe ik verkeerd?

Arne
 
Laatst bewerkt:
Arne, in bijlage misschien een aanzet ?

Mvg

Rudi
 

Bijlagen

Kan ook prima zonder macro's hoor.

=VERT.ZOEKEN(B2;A1:D4;4)
N.b. B2 is de waarde uit de tweede tabel hier onder, de A1:D4 is een range in de 1e tabel.

Kijk maar eens in de help van vert.zoeken, je zoekt juist nu een absolute waarde.
Laat de laatste 0 weg en zoek op de A kolom, dan gaat het goed.
Standaard gebruikt Excel de optie 'benaderen'.

[table="width: 500, class: dotted"][tr][td][/td][td] A[/td][td]B[/td][td]C[/td][td]D[/td][/tr]
[tr][td]1[/td][td] 1[/td][td] 500 [/td][td]1 - 500[/td][td] 300,00 € [/td][/tr]
[tr][td]2[/td][td] 501[/td][td] 1000[/td][td] 501 - 1000[/td][td] 550,00 € [/td][/tr]
[tr][td]3[/td][td]1001[/td][td] 1500[/td][td] 1001 - 1500[/td][td] 800,00 € [/td][/tr]
[tr][td]4[/td][td] 1501[/td][td] 2000[/td][td] 1501 - 2000[/td][td] 1.000,00 € [/td][/tr]
[/table]

Zoek waarde is in dit geval 700, 550 wordt met de formule gevonden

[table="width: 500, class: dotted"][tr][td][/td][td] A[/td][td]B[/td][td]C[/td][/tr]
[tr][td]1[/td][td] Aantal [/td][td] Lengte [/td][td] Bruto Prijs[/td][/tr]
[tr][td]2[/td][td] 1[/td][td] 700[/td][td] 550,00 € [/td][/tr]
[/table]
 
Laatst bewerkt:
Het antwoord van Withaar is natuurlijk perfect. Echter zou je zelf creatief kunnen zijn (voor de volgende x als je niet meteen oplossing kan verzinnen). Door een extra kolom te maken naast je invoegveld welke ook dan ook een klasse maakt van je invoegveld en vervolgens gebruik je verticaal zoeken maar dan niet naar je getal maar naar de klasse welke je aangemaakt hebt. En dan was je ook op het juiste anwoord gekomen.

Nogmaals het is een omweg en dus niet de beste oplossing, maar wel een oplossing door creatief te werk te gaan!
 
Schitterend, de macro's zal ik zeker eens in detail bekijken, gezien ik daar weinig ervaring mee heb. ( Bedankt Rudi )

Ik zal de makkelijke manier nemen en Withaars voorstel toepassen. ( Bedankt )

Allen bedankt om ZO SNEL met een pasklaar antwoord te reageren, bedankt.

Verder mss nog een vraagje:

Stel: A55 maakt een totaal van het aantal sets. Korting wordt gegeven aan de hand van veelvouden, per 12 sets aankopen geeft recht op een korting van 50%. Minder dan 12 geeft een korting van 30 %.

Bestaat er een formule in Excel om dit totaal op te splitsen in veelvouden?

Bijvoorbeeld: A55 Totaal: 124 stuks
A55 is gelinkt aan een andere cel (X) waarin dit totaal wordt overgenomen

AANTAL------Brut-----Netto/st-------Net/tot
---------------------------- 50% -----------------
X-----------------7,78 € --------€------------------€

Voorlopig komt in cel X het totaal, 124 stuks dus. Onder netto/st wordt automatisch, door het aanvinken van een aanvinkknop " per veelvoud van 12 ". Gezien geen veelvoud van 12, wordt alles dus aan -30 gerekend. Hier zou op de een of andere manier een automatische opsplitsing moeten gebeuren als volgt:


AANTAL------Brut-----Netto/st-------Net/tot
---------------------------- 50% -----------------
120-------------7,78 €------------€----------------€

AANTAL------Brut-----Netto/st-------Net/tot
---------------------------- 30% -----------------
4----------------7,78 €-------------€---------------€

Is dit mogelijk in Excel om een totaal op te splitsen in een veelvoud van 12? En de overige rest in een andere cel te vermelden?:) Dit zou wel een tof toevoegseltje zijn.

Mvg Arne
 
Arne,
In A1 het getal
In A2 volgende formule
Code:
=AFRONDEN.BENEDEN(A1;12)
In A3 volgende formule
Code:
=REST(A1;12)

Mvg

Rudi
 
Laatst bewerkt:
Excel random afmetingen laten samenvoegen uit 1 lengte

Beste,

Nog altijd voor hetzelfde programma bots ik nu op een andere uitdaging.

Ik werk momenteel met een extern programmatje waarin afmetingen worden ingeput en als resultaat wordt de best mogelijke ( = kleinste rest ) combinatie voorgestelt om een aantal lengtes uit een lengte van 6000 mm te halen.

Nu ben ik al een tijdje bezig met een excelfile dat verder werkt op dit resultaat, maar dat ergens een dubbele handeling met zich meebrengt. Daarom zou ik dit graag in 1 en hetzelfde programma krijgen en dit in een excelfile.

Een voorbeeldje:

1 lengte is altijd 6000 mm, hieruit worden lengtes gehaald maar dit op de best mogelijke manier, met de kleinste rest dus.

De bedoeling is dat de verschillende lengtes met aantallen ingegeven worden in Excel en dat Excel deze schikt zodat de best mogelijke combinaties worden voorgestelt.

Bijvoorbeeld:

2 stuks van 2650 mm
1 stuk van 500 mm
3 van 670 mm
1 stuk van 4500 mm

In deze volgorde komen we dus aan:

2 X 2650 = 5300 + 500 = 5800 ==> 1 lengte van 6000 mm met een rest van 200 mm.
3 X 670 = 2010 mm + ==> 1 lengte van 6000 mm met een rest van 3990 mm.

Is het mogelijk om Excel zelf de beste combinatie te laten maken om zo weinig mogelijk rest te bekomen. In dit voorbeeld zou dan het volgende voorgesteld worden:

2 X 2650 = 5300 + 670 = 5970 ==> 1 lengte van 6000 mm met een rest van 30 mm.
...


Ik weet niet of dit mogelijk is in Excel, ik hoorde van iemand dat er in Excel een Random functie bestaat maar wist zelf niet hoe ze werkte.

Kan iemand me verder helpen?
 
Beste Arne D ;)

Heb het geprobeerd met oplosser en kom het volgende uit.

4500 + 2x670 <= 6000

Zie bestandje

Om het te testen doe je het volgende, zet overal in kolom C een 1 daar waar er een 0 staat.

Ga dan naar DATA oplosser en klik op oplossen. (excel 2003)
Ga dan naar GEGEVENS oplosser en klik op oplossen (excel 2007)

Daarna kan je de gegevens die gevonden zijn wissen (dus 4500 en 2x 670) en klik terug op oplossen in de oplosser.

Groetjes Danny. :thumb:
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan