Bedankt voor de hulp! Ik ga er maandag op kantoor mee aan de gangquote:Op zaterdag 10 januari 2015 09:52 schreef snabbi het volgende:
[..]
Horizontaal zoeken pakt altijd de eerste match die het vindt. Dat kan je dus niet gebruiken.
Je kan het bijvoorbeeld doen via een array/matrix formule. Wat je zal moeten doen is een lijst van kentekens maken en vervolgens je formule toepassen. Ik vind de volgende site voor het onderdeel MIN IF en MAX IF wel een goede uitleg geven: http://www.contextures.com/excelminmaxfunction.html
De plaatjes erbij voorkomen dat ik een heel verhaal hier neer moet zetten
Overigens is het nadeel van een array formule dat het veel tijd kost in de berekening. Als je bestand dus groot is (groot wagenpark) dan gaat het wel ten koste van je performance. Daarnaast is het gebruik van die CTRL SHIFT ENTER invoer van de formule gevoelig voor het maken van fouten. Pak er dus even rustig je tijd voor.
Duidelijker kon je het niet uitleggen. Bedankt!quote:Op zaterdag 10 januari 2015 10:29 schreef snabbi het volgende:
[..]
Een matrix formule maakt een vector (=reeks aan getallen) of matrix binnen 1 cel. Je bouwt als het ware een excel sheet binnen je excel sheet. Het resultaat van die sheet schrijf je weg in 1 cel.
In jouw formule heeft die maxtrix een lengte van 150. Ik splits het even op voor je:
ALS($C$1:$C$150=C10
In dit deel van de formule wordt 150 keer de vergelijking gemaakt of C1,C2,C3,C4 etc gelijk zijn aan C10. Klik maar op de fx knop voor de formule opbouw wizzard en je zal ook zien dat in het eerste deel van de formule staat {ONWAAR\ONWAAR\ONWAAR...} om aan te geven dat C1,C2,C3 niet gelijk is aan C10.
ALS($C$1:$C$150=C10;$H$1:$H$150)
Wanneer de waarde gelijk is aan je C10, dan pak je de corresponderende waarde in H1:H150. Is het niet waar dan is het gewoon leeg oftewel 0.
Met andere woorden in dit stukje formule heb je een lijst gebouwd van alle waarden in H waarbij je C kolom gelijk is aan C10.
Volgende deel:
ALS($C$1:$C$150=C10;RIJ($H$1:$H$150))
Hier doe je hetzelfde als wat hierboven staat, alleen pak je niet de waarde maar het rijnummer van die betreffende waarde in de H kolom.
Volgende deel:
INDEX(<formule1>;MAX(<formule2>))
Nogmaals je hebt in formule1 een vector aan getallen staan dat correspondeert met een 0 wanneer de C niet gelijk was aan C10 of de H waarde wanneer dat wel zo is.
In formule2 heb je de rijnummers staan en daar pak je het maximum van. Met andere woorden je wilt de rij hebben wanneer je waarde voor het laatst voor is gekomen.
Eindresultaat:
Je krijgt de waarde uit de H kolom voor de laatste keer in de serie van C1:C150 waarbij de C gelijk is aan de waarde in C10.
Wat gaat er mis, want zo op het oog lijkt het wel te kloppen.quote:Op donderdag 15 januari 2015 10:55 schreef Bismarck het volgende:
In kolom V op tabblad 1 is een lijst met sessienummers opgenomen. Op een ander tabblad is ook een lijst met sessienummers opgenomen, in willekeurige volgorde. Ik wil checken of de sessienummers in kolom V overeenkomen met de sessienummers op het andere tabblad. Ik probeer de volgende formule, maar die werkt niet. Heeft iemand een suggestie?
=ALS.FOUT(VERT.ZOEKEN(V2;Groep A!$A$1:$A$999;1;ONWAAR);"")
Als ik de formule doortrek over de hele kolom blijven de cellen leeg en aan het eind opent Excel een venster ''waarden bijwerken A'' waarbij ik schijnbaar een ander bestand moet openen. Terwijl de andere tab in hetzelfde bestand zit.quote:Op donderdag 15 januari 2015 12:28 schreef Janneke141 het volgende:
[..]
Wat gaat er mis, want zo op het oog lijkt het wel te kloppen.
kanwegquote:Op donderdag 15 januari 2015 13:37 schreef Bismarck het volgende:
=ALS.FOUT(VERT.ZOEKEN(V2;'Groep A'!$A$1:$A$999;1;ONWAAR);"")
Hier gaat volgens mij best veel foutquote:Op maandag 19 januari 2015 16:11 schreef Mark_ng het volgende:
Goedemidddag,
Ik ben bezig met het maken van een excel werkblad maar ik kom er niet helemaal uit.
Nu wil ik verticaal zoeken gebruiken om een prijs op te zoeken uit 2 lijsten. ik wil zelf kunnen selecteren in welke lijst hij moet gaan zoeken doormiddel van een dropdown.
=C9*VERT.ZOEKEN(D3;=if(F9="01","01 CSV'!1:1048576","02 Csv'!1:1048576";10;0)
is mijn code maar die doet het niet.
Kan iemand mij een beetje opweg helpen?
Ik werk in Excel 2010 NL versie.
Alvast bedankt!
Gr. mark
| 1 | ALS(J2="Nee";K1;hier de formule die er in de cel staat als er wel een tijd is) |
De derde als is overbodig. Je controleert met de eerste en tweede als immers al of de waardes voldoen aan jouw criteria. Doen zij dit niet, dan is het per definitie onwaar.quote:Op woensdag 21 januari 2015 18:20 schreef SgtPorkbeans het volgende:
Oke de situatie is als volgt:
Ik wil een formule die korting geeft aan een bepaalde waarde.
In mijn geval <25 10% korting en >65 25% korting.
Dit lukt, alleen moet ik de formule zo maken dat als er een waarde komt tussen de 25 en 65 er ''Geen korting'' wordt weergegeven.
Ik heb dit geprobeerd, maar dan krijg ik een foutmelding.
Iemand een idee hoe het wel moet
=ALS(C6<25;"10% korting";ALS(C6>65;"25% korting";ALS(C6=26…64;''Geen korting'';))
Hij doet hetquote:Op woensdag 21 januari 2015 18:32 schreef Stickers het volgende:
[..]
De derde als is overbodig. Je controleert met de eerste en tweede als immers al of de waardes voldoen aan jouw criteria. Doen zij dit niet, dan is het per definitie onwaar.
=ALS(C6<25;"10% korting";ALS(C6>65;"25% korting";"geen korting"))
Op m'n mobiel, dus kan er naast zitten wat betreft haakjes en puntkomma's haha
SPOILER: Om een idee te geven van een dergelijke macroOm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Dit is overigens slechts een voorbeeld, ik zou het zelf niet gebruiken, tenzij je al bekend bent met macro's.
quote:Op vrijdag 23 januari 2015 20:55 schreef Stickers het volgende:
Even wat gegoogled en er is (volgens mij) geen standaard oplossing. Een van de vele opties die er worden gegeven zijn macro's die de beveiliging van het blad eraf gooien, de rij toevoegen en de beveiliging er vervolgens weer terug op gooien.
Een alternatief is met gegevensvalidatie een onrealistische voorwaarde instellen, waardoor de cellen niet gewijzigd kunnen worden. Afhankelijk van je gebruikers kun je dan een waarschuwing instellen. Nadeel hiervan is echter dat een gebruiker simpelweg een cel kan kopiëren en plakken in de cellen met gegevensvalidatie.
Al met al denk ik dat je toch bent aangewezen op een macro.Bedankt! Had gehoopt dat ik gewoon een instelling vergeten was... :-(SPOILER: Om een idee te geven van een dergelijke macroOm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Dit is overigens slechts een voorbeeld, ik zou het zelf niet gebruiken, tenzij je al bekend bent met macro's.
Ik laat de gebruiker dan gewoon het onbeveiligde werkblad gebruiken. Hij bespaart met mijn oplossing toch al zo'n 10 uur op de vorige keer dat hij deze inschrijvingen verwerkte. Die 8 extra tabs per regel neemt hij maar voor lief
Put your hand on a hot stove for a minute, and it seems like an hour. Sit with a pretty girl for an hour, and it seems like a minute. That's relativity.
- Albert Einstein -
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Public SelectedValue As String 'MODULE IS GEBOUWD OM WIJZIGINGEN IN DE EXCEL SHEET TE TRACKEN Private Sub Worksheet_Change(ByVal Target As Range) Dim OldValue, NewValue, lAddress, lToExport As String Dim FilePath As String On Error GoTo Hell FilePath = "c:\datadump.txt" lAddress = Target.Cells.Address OldValue = SelectedValue NewValue = Target.Cells.Value lToExport = lToExport & Date & "|" & Time & "|" & Environ("UserName") & "|" & lAddress & "|" If SelectedValue = "-=MULTIPLESELECTION=-" Then lToExport = lToExport & "Multiple Changed" & "|" & "Multiple Changed" Open FilePath For Append As #2 Write #2, lToExport Close #2 Else If OldValue <> NewValue Then lToExport = lToExport & OldValue & "|" & NewValue Open FilePath For Append As #2 Write #2, lToExport Close #2 End If End If Hell: End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Selection.Count > 1 Then SelectedValue = "-=MULTIPLESELECTION=-" Else SelectedValue = Target.Cells.Value End If End Sub |
On error goto hellquote:Op maandag 26 januari 2015 16:15 schreef webbyplus het volgende:
Op het werk, werken we regelmatig met verschillende excel-files.
Thanks, maar bij mij werkt dit dus nietquote:Op dinsdag 27 januari 2015 11:38 schreef Viezze het volgende:
Voor de dag;
=TEKST(B5;"dddd")
Maand;
=TEKST(B5;"mmmm")
Zie ook https://support.office.mi(...)nl-NL&rs=nl-NL&ad=NL
O ik zoek wel ff de Engelse uitleg dan, handigquote:
SUMPRODUCT accepteert in tegenstelling tot SUM wel arrays als input.quote:
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |