abonnement Unibet Coolblue
pi_72605998
hallo ik ben nog een beetje een nieuweling in excel .

Ik stuit op het volgende probleem.
In kolom 1 heb ik een aantal producten.
in kolom 2 heb ik het bijbehorende besparing op dat product.

nou wil ik van het product met de maximale besparing de productnaam in bijvoorbeeld d4 hebben
hoe krijg ik dit voor elkaar.

met max krijg ik gewoon het getal van de besparing.
met verschuiving kan ik wel 1 kolom naar links kijken maar ik kan de formules niet combineren,
want ik dacht aan: =verschuiving(max(b1;b10);0;-1)

dus een verschuiving naar 1 vakje naar links, met asl verwijzingsvakje het maximum van kolom 2

maar dit werkt niet
gurdi
pi_72609124
quote:
Op woensdag 9 september 2009 15:15 schreef EddyAlbena het volgende:

[..]

Ejo, bedankt man

En hoe maak ik de actie van de Macro weer ongedaan? Had alles al goed gekleurd, maar wilde die macro toch checken maar nu is alles geel en kan ik niks terugzetten
Je kan een macro niet terugdraaien.
Alles selecteren en weer geen opvulling geven
pi_72609278
quote:
Op donderdag 10 september 2009 08:51 schreef gurdi het volgende:
hallo ik ben nog een beetje een nieuweling in excel .

Ik stuit op het volgende probleem.
In kolom 1 heb ik een aantal producten.
in kolom 2 heb ik het bijbehorende besparing op dat product.

nou wil ik van het product met de maximale besparing de productnaam in bijvoorbeeld d4 hebben
hoe krijg ik dit voor elkaar.

met max krijg ik gewoon het getal van de besparing.
met verschuiving kan ik wel 1 kolom naar links kijken maar ik kan de formules niet combineren,
want ik dacht aan: =verschuiving(max(b1;b10);0;-1)

dus een verschuiving naar 1 vakje naar links, met asl verwijzingsvakje het maximum van kolom 2

maar dit werkt niet
A1:A3 bevatten je producten
B1:B3 bevatten je besparingen

=INDEX(A1:A3;VERGELIJKEN(MAX(B1:B3);B1:B3;0))
pi_72623362
quote:
Op dinsdag 8 september 2009 08:10 schreef DaFan het volgende:
Hendrik ik ben hiertoe gekomen:
[ code verwijderd ]

Veel overbodige Else, veel overbodige Ifs. De laatste twee zeggen uiteindelijk precies hetzelfde, of het nu groter of kleiner is dan 0. Dan kan je beter gebruiken NIET GELIJK AAN nul, en dan je formule.
Thanks voor de moeite!
Ik heb er nog eens naar gekeken, maar er is sowieso meer nodig, dan wat jij aan code hebt.

Mijn code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    Range("C5").Select
    Do Until ActiveCell.Value = ""
        If Range("C2") <> Range("C1") Then
            If Range("C2") > Range("C1") Then
                If ActiveCell.Value - Round(ActiveCell.Value, 2) > 0 Then
                    ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)"
                    ActiveCell.Offset(1, 0).Select
                Else
                    ActiveCell.Offset(1, 0).Select
                End If
            Else
                If ActiveCell.Value - Round(ActiveCell.Value, 2) < 0 Then
                    ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)"
                    ActiveCell.Offset(1, 0).Select
                Else
                    ActiveCell.Offset(1, 0).Select
                End If
            End If
        Else
            GoTo done
        End If
    Loop


Jouw code:
1
2
3
4
5
6
7
8
9
10
Range("C5").Select
Do Until ActiveCell.Value = ""
    If Range("C2") <= Range("C1") Then Exit Sub
    If Range("C2") > Range("C1") Then
        If ActiveCell.Value - Round(ActiveCell.Value, 2) <> 0 Then
            ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)"
        End If
    End If
    ActiveCell.Offset(1, 0).Select
Loop

Er moet namelijk wel worden gekeken wat voor afrondingsverschil je hebt:
- Moet er naar beneden gerond worden, dan moeten getallen als 0,991;0,992;0,993 en 0,994 worden afgerond op twee, zodat ze 0,99 zullen worden.
- Moet er naar boven worden afgerond, dan moeten getallen als 0,995;0,996;0,997;0,998 en 0,999 worden afgerond op twee, zodat ze 1,00 zullen worden.

In jouw code wordt, als er afronding naar boven is vereist, ge-exit.
Als ik m zo efficient mogelijk werkend heb, zowel voor afrondingen naar beneden als naar boven, laat ik het weten.

Groet,

Hendrik

[ Bericht 81% gewijzigd door hendrik2009 op 10-09-2009 21:03:16 ]
pi_72634267


[ Bericht 51% gewijzigd door DaFan op 11-09-2009 08:39:28 ]
pi_72634292
What the fuck is mn hele post weg.
pi_72635491
Volgens mij was ie zo:

De volgende delen zijn overbodig, want:
1
2
3
4
5
If Range("C2") <> Range("C1") Then
   ...
Else
   GoTo done
End If


Als je hem op gelijk stelt en dan Exit, is hetzelfde. Scheelt 3 regels.
Dus:
1If Range("C2") = Range("C1") Then Exit Sub


Dit deel:

1
2
3
4
   ActiveCell.Offset(1, 0).Select
Else
   ActiveCell.Offset(1, 0).Select
End If

Als je uiteindelijk Activelcell.Offset(1, 0).Select wil selecteren, kan je dat ook aan het einde van je Loop doen, dat scheelt al 8 regels.

Dit deel:
1
2
If ActiveCell.Value - Round(ActiveCell.Value, 2) > 0 Then
   ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)"

en
1
2
If ActiveCell.Value - Round(ActiveCell.Value, 2) < 0 Then
   ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)"

Is hetzelfde. Ze kunnen niet gelijk zijn, want dat hebben we al eerder afgevangen, daarnaast maakt het (volgens mij) ook niet uit óf ze gelijk zijn. De formule is altijd gelijk dus kan worden vervangen door:
1   ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)"


Dan hou ik over:
1
2
3
4
5
6
7
8
9
10
Range("C5").Select
    Do Until ActiveCell.Value = ""
        If Range("C2") = Range("C1") Then Exit Sub

            If Range("C2") > Range("C1") Then
                    ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)"
            End If

      ActiveCell.Offset(1, 0).Select
   Loop

Graag even testen, want het is tenslotte jouw sheet en ik kan niet testen of het 100% werkt
pi_72637405
quote:
Op donderdag 10 september 2009 11:29 schreef DaFan het volgende:

[..]

A1:A3 bevatten je producten
B1:B3 bevatten je besparingen

=INDEX(A1:A3;VERGELIJKEN(MAX(B1:B3);B1:B3;0))
hee bedankt man, het werkt.

Ik heb gelijk een neiuwe vraag. heb al wel wat over gelezen maar dat werkt niet.

ik heb nu het product die het meest bespaard.
nu wil ik in 1 cel hebben: "besparing t.o.v. oude installatie met [Product in A2]

dus ik wil tekst voor een waarde hebben.
Of moet ik persé de tekst in bijvoorbeeld A8 zetten en dan in B8 "=A2" zetten?

[ Bericht 40% gewijzigd door gurdi op 11-09-2009 11:05:51 ]
gurdi
pi_72639327
="Besparing tov oude installatie met " & INDEX(A1:A3;VERGELIJKEN(MAX(B1:B3);B1:B3;0))

Probleem met zulke combinaties van strings en berekeningen, is dat je niet meer kan rekenen met de uitkomst van je berekening (het is immers een string). Denk daar dus aan
  vrijdag 11 september 2009 @ 13:19:21 #210
1592 Puckzzz
Bitch please!
pi_72640945
In het kader van de eenvoudige vragen dan maar

Hoe stel ik de pagina zo in dat ik alléén de kolommen A t/m H heb en daarna gewoon helemaal niets meer? (grijs vlak waar dus geen cellen of kolommen zitten)
Ik ben aan het werken in zo'n blad, maar ik wil zelf weten hoe je dat doet en in het blad waar ik aan het werken ben zie ik geen bepaalde instelling of specifieke opmaak ontdekken.
Hey! Het is OK om alleen je eerste twee teennagels te lakken als je van plan bent peeptoes te gaan dragen!
pi_72641070
Vorige pagina ook al uitgelegd
Kolom I t/m IV selecteren, rechtermuisknop, verbergen.
  vrijdag 11 september 2009 @ 13:39:11 #212
1592 Puckzzz
Bitch please!
pi_72641487
ik ga toch niet al die pagina's doorspitten om te kijken of het al eens gevraagd is? Ik wordt verondersteld te werken.

Maar erg bedankt! ik wist dat het iets simpels moest zijn.
Hey! Het is OK om alleen je eerste twee teennagels te lakken als je van plan bent peeptoes te gaan dragen!
pi_72642843
Geeft niet hoor, goed voor mn postcount
pi_72647270
quote:
Op vrijdag 11 september 2009 12:16 schreef DaFan het volgende:
="Besparing tov oude installatie met " & INDEX(A1:A3;VERGELIJKEN(MAX(B1:B3);B1:B3;0))

Probleem met zulke combinaties van strings en berekeningen, is dat je niet meer kan rekenen met de uitkomst van je berekening (het is immers een string). Denk daar dus aan
en alweer bedankt.

helemaal goed dat je wel het hele verhaal leeest en dus weer die vergelijking erin zet:D

maar dat was in dit geval niet nodig dus gewoon :
="Besparing tov oude installatie met " & a8

maargoed het werkt wel, jammer dat je als je text in een cel hebt staan het antwoord niet meer in een breuk kan definïeren.

thanx man
gurdi
pi_72667559
Wat je dan wel weer kan doen, maar das smerig omslachtig natuurlijk, is het zinsdeel "met " (let op de spatie) gaat zoeken in de string, (dan weet je de positie waar je uitkomst begint). Die kan je dan weer strippen van de string en een waarde van maken
pi_72759373
Ik heb een 2 nieuwe vragen

in kolom H staan veel wardes, zowel positief als negatief.

eerste vraag. ik wil ene getal het dichtste bij 0 hebben. een minimum geeft het laagste negatieve getal weer.
is er een functie om het dichtst bij 0 te komen,
of een manier om alle negatieve getallen positief te maken en dan een minimum te doen.
- ik dacht zelf twee manieren met cel eigenschappen veranderen maar dan word er gewoon met negatief doorgerekend en komt er niet het goede antwoord uit bij minimum.
- de functie =ALS(h8<0;"";h8*-1,h8), nadeel je krijgt er een hele rij langs. geen onderscheiding wat nou negatief was en wat niet.

tweede vraag. Ik wil dat de functie begint bij h8 en eindigt bij oneindig (dus waar het laatste getal staat)
hoe vul ik dit in?
over de hele kolom =min(H;H) dus ik dacht =min(h8;h) maar dat werkt niet..

wie kan deze vragen beantwoorden.
gurdi
  dinsdag 15 september 2009 @ 10:50:14 #217
43584 Beregd
absolutely inch perfect
pi_72759654
quote:
Op dinsdag 15 september 2009 10:40 schreef gurdi het volgende:
Ik heb een 2 nieuwe vragen

in kolom H staan veel wardes, zowel positief als negatief.

eerste vraag. ik wil ene getal het dichtste bij 0 hebben. een minimum geeft het laagste negatieve getal weer.
is er een functie om het dichtst bij 0 te komen,
of een manier om alle negatieve getallen positief te maken en dan een minimum te doen.
abs()
maar dan heb je idd een extra kolom
quote:
- ik dacht zelf twee manieren met cel eigenschappen veranderen maar dan word er gewoon met negatief doorgerekend en komt er niet het goede antwoord uit bij minimum.
- de functie =ALS(h8<0;"";h8*-1,h8), nadeel je krijgt er een hele rij langs. geen onderscheiding wat nou negatief was en wat niet.

tweede vraag. Ik wil dat de functie begint bij h8 en eindigt bij oneindig (dus waar het laatste getal staat)
hoe vul ik dit in?
over de hele kolom =min(H;H) dus ik dacht =min(h8;h) maar dat werkt niet..

wie kan deze vragen beantwoorden.
een worksheet is gelukkig niet oneindig, neem dus gewoon
min(h8:h65536)
pi_72761248
Als je in A1 tot A3 de waardes hebt {-1, 2, -3), in B1 de 0, dan geeft deze formule in C1 het minimale verschil met 0 (resultaat is 1)
=MIN(ABS(A1:A3-$B$1))
Bevestigen met Ctrl-Shift-Enter

Het is er lastig en onoverzichtelijk om de laatste cel te vinden om in een formule te gebruiken. Ik raad je dan ook niet aan om dit te doen (het levert ook problemen op als je dubbele getallen hebt in je bereik).

Maar de volgende formule geeft $A$3 als resultaat als A3 de laatst gevulde cel is vanaf A1:
=ADRES(VERGELIJKEN(ZOEKEN(99999999999;A1:A3);A1:A3;0);1)
pi_72798740
Ik heb een vraag over afronden. Ik wil graag bedragen afronden op hondertallen. Dus 125.840 moet worden 125.800. Nu is dit natuurlijk wel mogelijk met de formulie =AFRONDEN(125.840);-2)

Maar ik wil eigenlijk dan een heleboel verschillende bedragen tegelijk kopieeren in die cellen. Dat werkt dus niet als ik overal die formule voor moet gaan zetten. Weet iemand hoe je dat nog op een andere manier voor elkaar krijgt. Iets met celeigenschappen ofzo.

Ik gebruik trouwens de excel 2007 NL versie.
pi_72798745
Ik wil vanaf een commando-regel een csv-bestand (variabel) openen, en daar een vaste lay-out op toepassen, die ik dus in een ander bestand wil opslaan. Ik wil geen macro's gebruiken, omdat ik beveiligingswaarschuwingen wil voorkomen.

Iemand ideeen?
  donderdag 17 september 2009 @ 16:33:46 #221
158136 Joooo-pi
Do you want a balloon...
pi_72843677
Leuke vraag:

Ik wil bij een bepaalde datum 12,5 jaar optellen, ivm berekenen van een jubileumdatum.

Dus datum in dienst 01-11-1998, jubileumdatum: 01-05-2011.

Iemand?
heitieh
  donderdag 17 september 2009 @ 16:35:37 #222
43584 Beregd
absolutely inch perfect
pi_72843735
=date(year(a1)+12;month(a1)+6;day(a1))
pi_72844467
quote:
Op woensdag 16 september 2009 12:28 schreef Stansfield het volgende:
Ik heb een vraag over afronden. Ik wil graag bedragen afronden op hondertallen. Dus 125.840 moet worden 125.800. Nu is dit natuurlijk wel mogelijk met de formulie =AFRONDEN(125.840);-2)

Maar ik wil eigenlijk dan een heleboel verschillende bedragen tegelijk kopieeren in die cellen. Dat werkt dus niet als ik overal die formule voor moet gaan zetten. Weet iemand hoe je dat nog op een andere manier voor elkaar krijgt. Iets met celeigenschappen ofzo.

Ik gebruik trouwens de excel 2007 NL versie.
Je ontkomt er echt niet aan om een extra kolom te gebruiken ;(

Kan ook met een Macro:
1
2
3
4
5
6
7
8
9
Sub Afronden()

Dim c As Range

For Each c In Selection
    c.Value = Round(c.Value / 100, 0) * 100
Next

End Sub

Selecteer alles wat je wil afronden en voer deze uit :)
pi_72864420
nog 101 posts
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_72868450
Ik heb ook nog een vraagje over Excel.

Ik heb een werkblad met bedragen die via een verwijzing uit een ander tabblad komen. Deze bedragen moeten echter 'vaste' bedragen worden. Het makkelijkst is om alle bedragen over te typen zodat de verwijzing verdwijnt. Alleen gaat het om enkele 1000-en getallen dus dat is te veel van het goede, kan dit ook anders?

Alvast bedankt voor de reactie, ik hoop dat mijn verhaal duidelijk genoeg is.
Single ply roofing, pay less, worthless.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')