Toon posts:

Excel: parameters afronden en opzoeken in tabel

Pagina: 1
Acties:

Onderwerpen

Vraag


  • daan.berk
  • Registratie: Oktober 2018
  • Laatst online: 06-11-2018
Beste Tweaker,

Na een lange worsteling heb ik de hoop opgegeven, totdat ik mij bedacht dat de tweakers mij vast wel kunnen helpen. Ik heb een vraag over het combineren van een zoekfunctie binnen een tabel en het afronden van waardes binnen Excel.

Mijn probleem:
De tabel bevat Cp/Cv waardes welke uitgezet zijn tegen de temperatuur en druk. De waardes van de druk staan op de y-as(verticaal) en de waardes van de temperatuur op de x-as(horizontaal). De waardes lopen uiteen van 0-1000 en gaan in stappen van 5 bar, 10 bar, 25 graden en 100 graden/bar.

In cel A1 wordt de gewenste waarde van de temperatuur genoteerd.
In cel A2 wordt de gewenste waarde van de druk genoteerd.
De temperatuur waardes op de x-as: -200 -175 -150 -125 -100 -75 -50 -25 0 25 50 75 100 125 150 200 300 400 500 600 700 800 900 1000
De druk waardes op de y-as: 1 5 10 20 30 40 50 60 70 80 90 100 150 200 250 300 350 400 450 500 600 700 800 900 1000
De tabel is te vinden op tabblad 'n-value Cp_Cv' en heeft incl. tabelwaardes een bereik van B66:Z91.

Als ik de Cp/Cv waarde bij 200 bar en 200 graden wil opzoeken dan gaat dit goed, maar zodra ik daar bijvoorbeeld 201 bar van maak dan wordt deze waarde niet herkend(logisch).

Wat ik al gevonden of geprobeerd heb:
Afrond functies, welke mij het volgende heeft opgeleverd:

=ALS(ISGETAL(A1)*ISGETAL(A2);INDEX('n-value Cp_Cv'!C67:Z91;+VERGELIJKEN((AFRONDEN(Blad2!A2;-1));'n-value Cp_Cv'!B67:B91;0);VERGELIJKEN((AFRONDEN(Blad2!A1;-1));'n-value Cp_Cv'!C66:Z66;0));"")

Middels deze functie worden de waardes van 195-204 afgerond tot 200. Ik zou graag willen dat de de waardes worden afgerond naar de eerst volgende waarde van de tabel, is dit mogelijk?

Alvast bedankt voor de hulp.


Groet,

Daan

Alle reacties


  • kruimel0
  • Registratie: Oktober 2014
  • Laatst online: 24-03 15:27
Ben je niet simpelweg op zoek naar het verschil tussen ROUND() en CEILING() (in het nederlands AFRONDEN en AFRONDEN.BOVEN)?

code:
1
2
3
4
5
6
7
8
9
10
11
INPUT ROUND CEIL
195 195 195
196 195 200
197 195 200
198 200 200
199 200 200
200 200 200
201 200 205
202 200 205
203 205 205
204 205 205


1e kolom: input waarden
2e kolom: wat je momenteel hebt (=ROUND(B7/5;0)*5) - afronden van het getal/5 op 0 decimalen, dan vermenigvuldigen met 5 om af te ronden op de dichtsbijzijnde 5-integer
3e kolom: CEILING(B7/5;1)*5 - zelfde als 2e kolom, maar ipv afronden, ceiling (afronden.boven), zodat je afrond naar de eerstvolgende verminigvuldiging van 5.

EDIT: zie net dat je naar dichtsbijzijnde 25 wilt afronden - vervang dan de 2 '5'en naar '25'.

[Voor 7% gewijzigd door kruimel0 op 23-10-2018 12:39]


  • daan.berk
  • Registratie: Oktober 2018
  • Laatst online: 06-11-2018
Beste kruimel0,

Het afronden van de waardes is niet het probleem van de kwestie, dit ligt meer in het afronden naar de eerst volgende waarde of dichtstbijzijnde waarde van de x of y as van de tabel.
Het afronden van de waardes naar een tiende of 25ste is mij ook al gelukt, zie de code die ik geschreven heb.

Mvg,

Daan

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 07:35

Reptile209

- gers -

Je kunt met index/match vrij makkelijk de twee waarden rondom je doelwaarde opzoeken (dus voor 101 vind je 100 en 110), plus de bijbehorende Cp/Cv. En dat geeft je dan voldoende detail om (lineair) te interpoleren.

Ik verafschuw wat u zegt, maar ik zal uw recht om het te zeggen met mijn leven verdedigen. - Voltaire


  • Patrick_6369
  • Registratie: April 2010
  • Laatst online: 21:41
^Wat reptile209 zegt.

Google even naar een instructie over het gebruik van Index i.c.m. Match en zorg dan eerst dat deze formule werkt voor waarden die je exact in de tabel kunt vinden. Als je deze helemaal werkend hebt met verschillende waarden, ga je de afrond-functie inbouwen. Als je dat stapsgewijs doet, merk je meteen waar je de fout in gaat.

Hier zou een handtekening kunnen staan.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

daan.berk schreef op dinsdag 23 oktober 2018 @ 12:17:
Middels deze functie worden de waardes van 195-204 afgerond tot 200. Ik zou graag willen dat de de waardes worden afgerond naar de eerst volgende waarde van de tabel, is dit mogelijk?
Afronden is niet nodig als je met een matrixformule* direct zoekt naar de eerste waarde die gelijk of groter is dan het gezochte getal:

code:
1
{=INDEX(X1:X10;VERGELIJKEN(WAAR;(A1:A10)>=$B$1;0))}


Het deel VERGELIJKEN(WAAR;(A1:A10)>=$B$1;0) zoekt simpelweg naar de positie van het eerste getal in A1:A10 waarvoor geldt dat het groter of gelijk is aan de zoekwaarde. Met die positie kun je weer van alles doen.


*matrixformules voer je in door ze met ctrl+shift+enter te bevestigen

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


  • Sethro
  • Registratie: Maart 2017
  • Nu online
Andere opties is i.p.v. de imho matige matrix structuur van je data gewoon een tabel te maken? Dan kun je met vlookup een eind komen.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee