Deetch | vrijdag 5 oktober 2012 @ 11:58 | |||
Welkom bij Het grote Excel vragentopic waar je terecht kan met vragen over Excel. In dit topic is het de bedoeling dat we gericht vragen stellen en antwoorden geven op de gestelde vragen. Om alles zo goed mogelijk te laten verlopen zijn er een aantal regels. Regels 1. Als je een vraag stelt, zet er dan bij welke versie van Excel je hebt en op welke taal hij ingesteld staat. 2. Zet macrocode tussen [ code ] tags 3. Als het pseudo-code is, vermeldt dit dan duidelijk 4. Er bestaan geen domme vragen, wel domme antwoorden. Als jouw antwoord niet gaat bijdragen, geef het antwoord dan niet. 5. Dit topic is geen code-FEBO waar je half opgewarmde code uit de muur trekt, het is de bedoeling dat je er zelf iets van leert. Definities • Functie Een interne functie die bij Excel is geleverd. • UDF Een user definded function, een zelfgebouwde functie • Macro Een stuk code die opdrachten uitvoert, gebouwd in (meestal) de VBA editor • Add-In Een Excel workbook met VBA-code (of C#, C) die als .xla (of .xll) is opgeslagen, deze is als vaste plug-in in Excel te plaatsen. • Workbook Het excelbestand • Sheet of Worksheet Het tabblad • Form, Formulier, Userform Een Dialoogvenster in VBA gebouwd Tips & Links De help functie van excel of visual basic voor excel kan je een eind op weg helpen. (F1) Het workbook met het FOK!-menu zoals in de banner weergegeven is hier te vinden. Dit menu is naar wens aan te passen. De icoontjes in het menu zijn hier allemaal weergegeven. In dit workbook zijn drie macro's aanwezig: • Een printertool waarmee je uit meerdere workbooks sheets kan selecteren voor afdrukken • Een power replace die termen kan wijzigen in meerdere workbooks tegelijk • Een formule vertaler, de formule in de actieve cel wordt in het engels weergegeven. Je kan ook een engelse formule invoeren die dan in de actieve cel in de geldende taal wordt geplaatst. De UDF is naar aanleiding van een vraag in topic #29. De functie kan worden aangeroepen door in een cel =FOK() te typen en dan op de Fx te klikken voor uitleg over de variabelen. De VBA editor bereik je door ALT+F11 in te drukken. Vanaf Excel 2007 is de VBA editor lastiger te vinden. Op deze site wordt uitgelegd hoe je de editor kan activeren. De interne functies zijn afhankelijk van welke taal jouw Excel draait. Op deze en deze site kun je de formules in verschillende talen vertalen. Macro uitvoering optimaliseren De meer uitgebreide macro's kunnen traag worden, ook kan het scherm flikkeren als gevolg van veel "select" acties. Deels kun je dit ondervangen door zo veel mogelijk select acties te vervangen door directe verwijzingen naar cells en deels door een macro-optimalisatie door te voeren. In de onderstaande code is een routine voor macro-optimalisatie en een routine om de optimalisatie weer uit te zetten weergegeven. In de voorbeeld sheet is een uitgebreide versie van MOA en MOU opgenomen. Bij macro's die een bepaalde, merkbare, tijd nodig hebben om hun werk te doen is het van belang de gebruiker een idee te geven van wat er gebeurt, zeker met macro-optimalisatie aan kan het lijken alsof Excel is vastgelopen. Je kan bijvoorbeeld de statusbar een waarde geven, met eventueel een percentage van de reeds uitgevoerde code. Password kwijt? Soms heb je een worksheeet beveiligd met een password maar ben je die kwijt. Gelukkig is dat geen groot probleem want de interne beveiliging van Excel stelt niet heel veel voor. Hier vind je meer info en een downloadbare macro die alle interne passwords verwijdert. DISCLAIMER: Denk erom dat je met het breken van de beveiliging van een excelsheet mogelijk wet- of regelgeving overtreedt. Als de spreadsheet van jezelf is zou het geen probleem moeten zijn. In andere gevallen: vraag toestemming aan de originele schrijver. Bij twijfelgevallen: NIET DOEN Mooi, grappig en cool Een uitgebreide site met nuttige en minder nuttige excelsheetjes. Van kekke grafieken om je manager of leraar te betoveren via oscillogrammen en simulatoren tot pong voor als het weer een typische vrijdagmiddag is: Excelunusual Verder Alle vorige topics zijn hier terug te vinden. Nieuw topic? Haal de OP uit de wiki [ Bericht 5% gewijzigd door Deetch op 05-10-2012 12:05:14 ] | ||||
Deetch | vrijdag 5 oktober 2012 @ 12:04 | |||
-test- | ||||
qu63 | vrijdag 5 oktober 2012 @ 12:50 | |||
Neuh, ik moest daar gewoon meteen aan denken toen ik je post las | ||||
Holy_Goat | zaterdag 6 oktober 2012 @ 09:28 | |||
Iemand ervaring met Excel projectjes op licentie verkopen? 100% krijg je het niet dicht, maar qua security wil ik het wel een beetje de non Excel savvi gebruiker ontmoedigen kopien rond te sturen... | ||||
snabbi | zaterdag 6 oktober 2012 @ 10:08 | |||
Kopieen is nu juist wat niet tegen te houden is. Het enige dat je een beetje kunt beschermen is je broncode. Alleen wanneer je het je gebruiker moeilijker maakt om het zelf te kunnen gebruiken kun je wellicht iets voorkomen. Bijvoorbeeld dat de gebruiker zijn MAC adres aan jou geeft en dat jij je code zo schrijft dat het alleen werkt op dat MAC adres. Maakt het wel bewerkelijker voor jezelf. | ||||
qu63 | zaterdag 6 oktober 2012 @ 10:34 | |||
Geen ervaring mee. Je zou ook je code heel 'fuzzy' kunnen maken door 'a = b' te doen ipv 'MyName = Input' oid. Op die manier kan je ook inbouwen dat als de code korter/kleiner wordt dan x regels/bytes er overal rode lijnen komen bijvoorbeeld Zoiets had ik iig een keer met een PHP-script wat ik gevonden had.. Fucking irritant! | ||||
Maryn. | zaterdag 6 oktober 2012 @ 14:56 | |||
Ik ben opzoek naar een oplossing in het volgende: Ik heb een formule in een cel staan: B12/B2 Nu wil ik graag dat als je in een andere cel bijv. C1, 12 neer zet... dat de formule automatisch B12/B2 (wordt in een andere cel dus). Dus als je in C1 15 zet, dan wordt de formule in een andere cel B15/B2. Weet iemand hoe ik dit kan doen? thanks! | ||||
snabbi | zaterdag 6 oktober 2012 @ 15:23 | |||
Volgens mij zoek je de indirect functie: Je formule is: =indirect("B"&C1)/B2 Wanneer C1 de waarde 15 heeft krijg je B15/B2 | ||||
MrNiles | maandag 8 oktober 2012 @ 12:26 | |||
is er hier een excel-guru die me kan helpen met het maken van onderstaande grafiek het heet iets van sigma curve / gausse curve / normal distribution curve op internet vind ik wel wat, maar geen goede uitleg hoe ik m kan maken | ||||
VorteXxX | maandag 8 oktober 2012 @ 12:29 | |||
http://www.tushar-mehta.c(...)stribution/index.htm Zoiets? | ||||
MrNiles | maandag 8 oktober 2012 @ 12:43 | |||
die lijkt er wel op..maar je ziet dat ik een staafdiagram en een curve door elkaar heb...en de curve volgt niet de staaf...wel het gemiddelde ervan, dat is de moeilijkheid en volgens niet het geval in je voorbeeld | ||||
Holy_Goat | maandag 8 oktober 2012 @ 12:49 | |||
Ik word helemaal schijtesziek van het volgende. Ik heb een projectje gemaakt in VBA; werkt helemaal top op mijn pc (office2010 32bit). Ik vreesde er al voor maar het dreigt waarheid te worden. De listview control die ik gebruik (mscomctl.ocx) werkt niet op alle andere pc's. Ik heb de mscomctl zelf geregistreerd voor office 2010, by the way. De andere pc werkt met office 2007, maar ook daar kan 'het object niet gevonden worden'. Welk mooi alternatief heb ik voor de listview control? De ocx op allerlei andere pc's registreren is geen optie. Ohja: ander hulp is ook welkom. Trouwens: bij pc vriendin werkte de file ook. Na saven nog steeds. Maar eenmaal terug op mijn PC niet meer. (object not found). | ||||
Holy_Goat | maandag 8 oktober 2012 @ 13:06 | |||
Betere vraag is wellicht: ik zou graag iets hebben dat bijna hetzelfde kan als een listview control. Ofwel: meerdere rijen+kolommen, liefst een scrollbar, en evt aanpassen opmaak per rij. Ook klik/dubbelklik moet werken. | ||||
ralfie | maandag 8 oktober 2012 @ 15:36 | |||
Gebruik een listbox, maak zelf iets in vba (veel werk!) of voeg de control toe middels een xladdon vanuit DotNet (C# of VB#) Ik neem aan dat je wel een histogram kunt maken? Deze moet je normaliseren (ywaarde/som(totaal)) en dan heb je dat gedeelte. De normaaldistributie maak je middels een gemiddelde (=gemiddelde(range)) en standaard deviatie (=stdev(range)). Je hebt drie kolommen nodig: één kolom (de z-waarden) van -3 naar 3 (met een stapgrootte naar keuze), één kolom met X-waarden (=z-waarde*stdev+gemiddelde) en één kolom met de normaalwaarde (=norm.verd(x-waarde; gemiddelde;stdev;ONWAAR)) Je plot nu kolom twee met kolom drie en voila. Het laatste wat je moet doen is de kolommen uitlijnen met de normaal distrubutie. Dit is het makkelijkst als je de histogram en de grafiek beide een eigen (horizontale) as meegeeft. Voor de histogram is de minimale aswaarde gemiddelde - 3*stdev en de maximale gemiddelde+3*stdev. Een alternatief voor al deze onzin is SPSS, SAS, Stata, Mathlab of R. Ik neem aan dat een statistische excel module hetzelfde kan, maar die heb ik niet | ||||
Deetch | maandag 8 oktober 2012 @ 16:14 | |||
Of deze: http://www.vertex42.com/ExcelArticles/mc/Histogram.html Het ligt er ook een beetje aan wat voor data je hebt. | ||||
Deetch | maandag 8 oktober 2012 @ 16:24 | |||
Is je data wel normaal verdeeld dan? heb je de juiste waarde voor gemiddelde en stdev gebruikt? | ||||
Holy_Goat | maandag 8 oktober 2012 @ 16:55 | |||
Dat laatste lijkt me niet zo handig, aangezien de gebruikers dan ook die addin moeten hebben, toch? Dat eerste is een beetje naar> listbox heeft standaard een scrollbar als er te veel items komen, en dit wil ik niet. Tevens heeft een listbox scrollbar geen _scroll event in vba. Maarrr ik ben daar wel een beetje mee aan het prutsen. Een listbox kun je prima in een frame verstoppen en de scrollbar er net buiten laten vallen, bijvoorbeeld. Je kunt dan wel niet meer scrollen, maar daar heb je natuurlijk en scrollbar control voor in dat geval Allemaal standaard library. Dus ik zou het (denk ik) wel kunnen maken (voor het simpele listview) met 4 of 5 listbox-in-frames (4-5 kolommen), maar voor het nette zou ik dan liever een custom listview object maken met (beperkte) functionaliteit; welke dan dus eigenlijk een aantal listbox-in-frames is met waarschijnlijk wat labels er boven als headers. Alleen een beetje jammer, ik vind het belangrijk dat de listbox items individueel gekleurd kunnen worden. (text forecolor). Dus ja, dan zit je weer, want in vba kan dat dus niet met een listbox. Dusssss dan zou je al weer zelf je listview moeten gaan bouwen met een soort grid van labels, en dan bij scrollen items gaan schuiven. Dusss.... | ||||
ralfie | maandag 8 oktober 2012 @ 18:27 | |||
Tsja, je schijnt er om heen te kunnen werken http://www.cpearson.com/excel/installinganxla.aspx Geen idee hoe zoiets werkt eigenlijk. Laatste redmiddel: schrijf een korte applicatie die aangeroepen kan worden vanuit excel welke je form laat zien en de resultaten terugrapporteerd aan excel op de een of andere manier. | ||||
Holy_Goat | dinsdag 9 oktober 2012 @ 11:40 | |||
Even een korte status update omtrent het listview probleem. Ik ben er bijna uit Hij is wellicht nog niet zo mooi, maar wel lekker dynamisch al, en heeft al 'wat' functionaliteit. Omdat ik geen tijd heb om er een hele supernette class van te maken (is een testcase, maar wil het ook in een project inbouwen waar ik heel heel snel wat voor wil laten zien), zit ie voor het grootste deel vooralsnog in een module plus een class voor de events af te vangen. Als iemand tijd over heeft en zich geroepen voelt mee te denken voor het maken van een nette vervangende-class, be my guest. Momenteel moet je alleen maar een frame maken genaamd framefield en deze kun je elke grootte geven die je wilt. Vervolgens kun je de kolommen defineren met
| ||||
Holy_Goat | dinsdag 9 oktober 2012 @ 11:44 | |||
Heb trouwens al eens eerder iets geklust dat ik in best veel projectjes gebruik, aangezien de datepicker control uit mscomctl.ocx ook gekut geeft op andere office versies. Maar listview dinges is wel iets lastiger Volledig dynamisch aan huidige datum. Springen kan met pijltjes per maand, groen is huidige datum, donkergrijs andere data. | ||||
Holy_Goat | dinsdag 9 oktober 2012 @ 15:58 | |||
Ennnn de custom listview doet het | ||||
Deetch | dinsdag 9 oktober 2012 @ 16:19 | |||
Wat een mooie, mag ik hebben? Ik had er vroeger ook één (2000 versie) maar die doet het niet in excel 2010 en de datepicker control wordt niet meer ondersteund door MS. | ||||
Holy_Goat | dinsdag 9 oktober 2012 @ 16:33 | |||
Dat was precies waarom ik deze gemaakt heb | ||||
-Mirrie- | woensdag 10 oktober 2012 @ 16:59 | |||
Excel 2007 - NL Ik ben bezig met een scriptie en heb een vraag over het gebruik van formules in Excel. Wellicht kan ik hier een oplossing vinden. Ik wil de mutatie berekenen tussen 2 ratio's. Bijv. jaar t = 0,5 en jaar t1 = 0,3 (de ratio wordt hierbij negatiever) Ik wil hierbij niet de absolute mutatie berekenen, maar de percentuele mutatie. Dus: mutatie = (t1 - t) / t = (0.3 - 0.5) / 0.5 = -0,4 Alles prima, maar nu komt mijn probleem. Indien jaar t = -0,5 en jaar t1 = -0,3 (de ratio wordt positiever) mutatie = (t1 - t) / t = (-0.3 - -0.5) / -0.5 = -0,4 Beide mutaties zijn dus -0,4, terwijl de mutatie bij de eerste negatief is en bij de tweede positief. Zijn er bij jullie formules bekend waarmee dit probleem ondervangen wordt? | ||||
VorteXxX | woensdag 10 oktober 2012 @ 17:02 | |||
heeft dat dan niet met de cel eigenschappen te maken? als ie standaard staat maakt hij geen onderscheid tussen positief en negatief | ||||
-Mirrie- | woensdag 10 oktober 2012 @ 17:06 | |||
Weet je ook toevallig welke optie ik dan moet kiezen. Ik snap dat je dan naar celeigenschappen moet en dan waar je positief en negatief rood/zwart kunt laten worden, maar heeft deze instelling een specifieke naam dat je weet? Liefst in Engels, want ben bezig in SPSS (maar formules ed werken hetzelfde). | ||||
VorteXxX | woensdag 10 oktober 2012 @ 17:40 | |||
niet dat ik weet ... In excel 2010 gewoon rechtsklik en celeigenschappen... zou niet weten of daar een specifieke naam voor is en SPSS ken ik voor de rest niet | ||||
Holy_Goat | woensdag 10 oktober 2012 @ 19:33 | |||
uuuhhhmm... raar? is dit niet gewoon een 'foutje' in de formule? | ||||
Holy_Goat | woensdag 10 oktober 2012 @ 19:34 | |||
Zit het na te rekenen en denk steeds: huh? mis ik iets obvious? | ||||
-Mirrie- | woensdag 10 oktober 2012 @ 19:37 | |||
Komt door de 2 negatieve getallen dat deze een negatieve mutatie als uitkomst geven.. De formule is volgens mij gewoon goed, maar de uitkomst niet. Aangezien het minder negatief wordt. Dit moet toch te ondervangen zijn zou je zeggen... | ||||
Holy_Goat | woensdag 10 oktober 2012 @ 19:44 | |||
Ik denk dat ik em heb Volgens mij is het:
| ||||
-Mirrie- | woensdag 10 oktober 2012 @ 20:35 | |||
Dat ziet er goed uit! Dat ga ik nu meteen proberen!! | ||||
-Mirrie- | woensdag 10 oktober 2012 @ 20:44 | |||
Je bent geweldig!!! Dit werkt Heb me hier dus echt wel druk om gemaakt toen ik erachter kwam dat al mijn uitkomsten niet klopten. | ||||
snabbi | woensdag 10 oktober 2012 @ 20:57 | |||
Het heeft hier niet zo zeer met de tool te maken maar met een definitie probleem. Wanneer je t waarde negatief is, spreek je per definitie van een mutatie ten opzichte van je verlies. Een groter wordend verlies is dus een positief percentage en een kleiner wordend verlies of zelfs winst wordt een negatief percentage: Zie definities van onze zeer betrouwbare bron wikipedia onder het kopje change in sign: http://en.wikipedia.org/wiki/Percentage | ||||
Frixel | donderdag 11 oktober 2012 @ 09:24 | |||
Kan je sorteren in een bestand terwijl het gesloten blijft? | ||||
Basp1 | donderdag 11 oktober 2012 @ 09:38 | |||
Met visual basic zou dat wel mogelijk moeten zijn maar dan opent hij op de achtergrond toch dat bestand. | ||||
Frixel | donderdag 11 oktober 2012 @ 09:46 | |||
Ja, die code heb ik: GetObject ("P:\bestand.csv") maar dan? | ||||
Basp1 | donderdag 11 oktober 2012 @ 09:57 | |||
een csv bestand gaan sorteren? Dat bestand zul je dan eerst in een excel instantie moeten importeren. Waarom wil je dit buiten het opstarten van excel doen? Waarom niet gewoon dan in vba die csv binnenhalen in een array en daar sorteren? | ||||
Frixel | donderdag 11 oktober 2012 @ 10:13 | |||
Omdat in een .csv bestand elders op het netwerk de data staat waaruit ik een LOOKUP moet doen. Dat is een heel groot bestand en wil ik ook niet open hebben. Ik heb inmiddels begrepen dat een bestand eerst gesorteerd moet zijn voordat je een LOOKUP functie doet anders krijg je de verkeerde regel. .csv kan je toch gewoon sorteren? | ||||
Basp1 | donderdag 11 oktober 2012 @ 10:22 | |||
Hoe dan ook zal dat csv bestand geopend worden om te sorteren en daarna gesloten worden. Verder is een lookup heel leuk, maar als er in de lookup rij dubbele/dezelfde data staat ga je ook alleen maar het eerste resultaat krijgen. ben je er zeker van dat dit niet in het csv bestand zit. Ik zou toch het csv bestand in excel importeren desnoods in een nieuwe file, als er veel overbodige data inzit deze meteen eruit gooien en dan de sortering laten plaatsvinden, en als laatste dan je lookup doen. Maar met wat programeer ervaring is ook het csv bestand buiten excel wel te sorteren en weg te schrijven. | ||||
Frixel | donderdag 11 oktober 2012 @ 10:29 | |||
Nee openen is geen optie om diverse redenen. Meerdere mensen gebruiken dit bestand. Bij ieder persoon heet de schijf waar die opstaat weer anders. openen buiten excel lukt me ook wel in VBA en ook de eerste sheet selecteren(dank aan google) alleen weet ik nu niet hoe ik dat sorteren doe. Als dat sorteren "vlot gaat" hoeft het daarna niet opgeslagen te worden anders wel.
| ||||
Basp1 | donderdag 11 oktober 2012 @ 11:07 | |||
Ook al heet de schijf overal anders dan moet je ook niet de schijfmapping gebruiken maar de directe windows mapping. Dus niet op p:\ maar iets van servernaam\directory\ enz... En deze file zal hoe dan ook geopend worden, als je hem wilt sorteren. Verder moet je voor de juiste excelcommmandos die je wilt gebruiken even in excel een macro opnemen en die code kun je dan gebruiken in je andere vba code. | ||||
Frixel | donderdag 11 oktober 2012 @ 11:17 | |||
Ik heb nu onderstaande (na de alinea) ingebouwd maar dan sorteertt hij een bestand dat op het moment actief is en niet het genoemde bestand.
| ||||
Basp1 | donderdag 11 oktober 2012 @ 11:30 | |||
Wat gebeurt er als je in regel 5 ipv Set tst = Sheets("Sheet2").Select iets van Set tst = wkb.Sheets("Sheet2").Select zou zetten? | ||||
Deetch | donderdag 11 oktober 2012 @ 11:32 | |||
op regel 4 "wkb.activate" toevoegen | ||||
Frixel | donderdag 11 oktober 2012 @ 12:38 | |||
Nee werkt helaas niet. Blijft bij het (ander) bestand dat aktief is | ||||
Frixel | donderdag 11 oktober 2012 @ 12:38 | |||
Helaas een foutmelding | ||||
Xperia | donderdag 11 oktober 2012 @ 12:42 | |||
Hallo allemaal.. ik heb een vraagje: Ik heb een excel bestand die beveiligd moet worden d.m.v. een wachtwoord, maar tegelijkertijd mag iedereen het Excel bestand wel lezen echter mogen ze geen wijzgingen uitvoeren. Dus zodra ze het bestand willen openen en wijzigen dienen ze een wachtwoord in te voeren, maar wanneer ze op de button "Alleen lezen" klikken wordt het bestand wel geopend maar dan alleen voor leesrechten. Hoe stel ik dat in? Versie: Excel 20120 Zie printscreen om het te verduideleken: | ||||
Basp1 | donderdag 11 oktober 2012 @ 12:44 | |||
Die foutmelding blijf je waarschijnlijk houden omdat de variabele tst nog niet gedefnieerd is. | ||||
Frixel | donderdag 11 oktober 2012 @ 13:13 | |||
Oke ik ben weer een stapje verder, thanks. Ik heb nu onderstaande code staan maar het gaat nog fout met regel 9 Die bewerking doet ie dan op het op dat moment aktieve excel document en dat is niet de bedoeling. Het moet op het document dat alleen in VBA aktief is n.l P:\bestand.csv
| ||||
Holy_Goat | donderdag 11 oktober 2012 @ 13:26 | |||
Je moet hier het volgende doen
Ik zou xlguess sowieso altijd vervangen door xlyes of xlno. Verder geef je nu aan dat je de betreffende workbook/worksheet moet sorteren en niet een actief workbook. | ||||
Holy_Goat | donderdag 11 oktober 2012 @ 13:28 | |||
selecteren, wbk actief hebben of sheet actief hebben is niet nodig. | ||||
Frixel | donderdag 11 oktober 2012 @ 13:41 | |||
Jammer, een foumelding op die regel wkb.sht.Range etc melding is: Object doesn`t support this property or method. [ Bericht 0% gewijzigd door Frixel op 11-10-2012 14:55:47 ] | ||||
Xperia | donderdag 11 oktober 2012 @ 15:03 | |||
iemand? | ||||
Holy_Goat | donderdag 11 oktober 2012 @ 15:19 | |||
wat als je dat ding nou eerst echt eens opent als een excel instance. Dat doe ik ook namelijk
| ||||
Holy_Goat | donderdag 11 oktober 2012 @ 15:21 | |||
bij opslaan als > wachtwoord? of snap ik nu iets niet | ||||
ralfie | donderdag 11 oktober 2012 @ 16:17 | |||
Bij werkmap beveiligen kun je aangeven wat er beveiligd moet worden. in nederlands controleren -> werkmap/blad beveiligen | ||||
Basp1 | donderdag 11 oktober 2012 @ 16:20 | |||
Hulp gevraagd van MS Excel professionals Dankan er net een ander window verschijnen en dat is niet goed genoeg. | ||||
Xperia | vrijdag 12 oktober 2012 @ 07:31 | |||
Helemaal top Merci | ||||
Holy_Goat | vrijdag 12 oktober 2012 @ 10:07 | |||
VVolgende keer googelen Eerste hit bij zoeken op: opslaan met wachtwoord excel http://www.worksheet.nl/f(...)bij-openen-file.html
| ||||
einschtein | zondag 14 oktober 2012 @ 13:52 | |||
Hm, kom er eigenlijk niet helemaal uit. Ik heb 2 cellen, gevuld met cijfers. Nu wil ik naast die 2 cellen een andere cel hebben, die een bepaalde waarde aangeeft als één van de twee het hoogste is. Voorbeeld. Q2 en R2 hebben de cijfers. Q2 is het hoogste, want die heeft het cijfer 4. R2 heeft het cijfer 2 er in. Dan wil ik dat cel S2 de letter: P aangeeft. | ||||
einschtein | zondag 14 oktober 2012 @ 13:55 | |||
Heuh, is al gelukt! Heb het gedaan als volgt: =ALS(Q2 > R2; "P"; "D") | ||||
Frixel | maandag 15 oktober 2012 @ 09:20 | |||
Ik kom er nog steeds niet uit met onderstaande macro. Mijn probleem is dat de file .bestand niet fysiek geopend dient te worden en dat likt dan ook met de optie GetObject ("P:\bestand.csv") Daardoor is het wel aktief en zichtbaar in VBA. Dan moet het bestand dus gesorteerd worden (kolom H) en dat wil maar niet lukken als het bestand fysiek door excel geopend is. Is hier nog een oplossing of aanpassing op de code voor te bedenken?
| ||||
Holy_Goat | maandag 15 oktober 2012 @ 10:00 | |||
je bedoelt dat het niet lukt als het NIET fysiek door excel is geopend? | ||||
Frixel | maandag 15 oktober 2012 @ 10:16 | |||
klopt, Als het niet fysiek door Excel is geopend lukt het niet. Het vervelende is dat het bestand groot en op netwerk staat dus duurt het (te)lang voordat het geopend, en bewerkt is. Dan komt erbij dat de macro meerdere keren per dag gebruikt word en dan hele ritueel steeds herhaald moet worden. Of het moet kunnen zien dat het de eerste keer al gesorteerd is en dat die bewerking niet meer hoeft plaats te vinden! Dan hoeft het daarna ook niet steeds meer geopend te worden. Iedere dag is het een nieuw bestand dus 1 keer bewerken en dan nvoorlopig niets meer aan doen is ook geen optie. Maar ja, dat gaat mijn pet te boven om zoiets te maken | ||||
Holy_Goat | maandag 15 oktober 2012 @ 10:40 | |||
Hoeveel kolommen gaat het om? En hoeveel rijen? Wat je anders zou kunnen doen is (een beetje stom wellicht) alle data inlezen in arrays, deze intern sorteren, en als een nieuwe csv wegschrijven. Aangeven of iets al gesorteerd is is simpel, je zou een klein bestandje kunnen maken met daarin sorted=1 en de datum oid. | ||||
Holy_Goat | maandag 15 oktober 2012 @ 10:44 | |||
Je zou ook eens kunnen kijken naar het gebruik van ActiveX data objects | ||||
Frixel | maandag 15 oktober 2012 @ 10:46 | |||
Hmmja. dit gaat me dus te ver. daar moet ik bij afhaken... bestand is kolom A t/m P en 60000 regels | ||||
Holy_Goat | maandag 15 oktober 2012 @ 11:11 | |||
ik snap alleen niet echt waarom openen vanuit netwerk meer tijd zou kosten als je het echt IN EXCEL opent, dan wanneer je het niet echt opent. Zou het voor jou ook te ver gaan om alles in te lezen in een 2D array en dan via een quicksort op de key (zoek maar op quicksort, best leuk) alles sorteren + terugstoppen in csv | ||||
Frixel | maandag 15 oktober 2012 @ 11:15 | |||
Ik zal eens zoeken op "quicksort " maar vrees dat ik er niet veel verder mee kom. Ik weet waar ik een macro kan maken en plakken in VBA maar dan houd het wel op. Dat openen vergt toch wel tijd iedere keer als de macro gebruikt word. (zeker 10x per dag) en dan doet ie steeds dat openen en sorteren. | ||||
Holy_Goat | maandag 15 oktober 2012 @ 11:20 | |||
dus op zich is openen geen probleem, als het maar niet 10x gedaan word? (om te sorteren) | ||||
Frixel | maandag 15 oktober 2012 @ 11:21 | |||
klopt. 1x is genoeg als het gesaved word. | ||||
Holy_Goat | maandag 15 oktober 2012 @ 11:25 | |||
Dan zou ik toch met mijn eerdere code de file echt in excel openen, dan de .sort gebruiken en opslaan. Verder kun je een bestandje ernaast maken bijvoorbeeld issorted.txt en daarin bv de datum van vandaag. Als de datum gisteren is, dan openen en sorteren en datum aanpassen in bestandje. Anders als datum al vandaag is, lekker niet openen en sorteren. | ||||
Holy_Goat | maandag 15 oktober 2012 @ 11:26 | |||
Dus zo
| ||||
Frixel | maandag 15 oktober 2012 @ 11:36 | |||
Echt heel erg bedankt voor de moeite hoor maar ik haak af. Dit gaat me te ver om te snappen! | ||||
Frixel | maandag 15 oktober 2012 @ 13:27 | |||
Ik zat nog ff te denken.... Hoe zet je in de macro dat: Bij openen van het bestand word er in cel Z1 een nul gezet.Daarna de rest van de code over het sorteren doorlopen en dan saven en opslaan. Als daarna nog een keer het bestand word geopend en die "ziet" in cel Z1 een nul staan dat hij dan niet sorteert en ook niet meer saved maar gewoon sluit. Dan ben ik er toch ook? (weet alleen niet hoe die code er dan uit moet zien maar ik denk iets met If Then en Go To) | ||||
qu63 | maandag 15 oktober 2012 @ 13:43 | |||
De csv wordt dagelijks gemaakt, toch? Kan je niet een macro schrijven die eerst checkt of er al een .xlsx is (die dus netjes gesorteerd opgeslagen is), en zo niet deze aanmaakt? En dat deze dus netjes op volgorde gemaakt wordt. En dan ook nog een check op datum, verwijder alle .xlsx-bestanden die niet van vandaag zijn ofzo? | ||||
Frixel | maandag 15 oktober 2012 @ 13:47 | |||
Foutje van mij maar wekelijkse update en bestand word vervangen door bestaand bestand met dezelfde naam. | ||||
qu63 | maandag 15 oktober 2012 @ 13:50 | |||
Nou ja, dan kan mijn verhaal nog steeds, maar dan wekelijks Met je macro de bestandsdatum van je csv controleren, als die nieuwe is dan je xslx een nieuw xlsx maken, zo niet dan gebruik je de netjes gesorteerde xlsx | ||||
Frixel | maandag 15 oktober 2012 @ 14:09 | |||
Tja, makkelijker gezegt dan gedaan... | ||||
snabbi | maandag 15 oktober 2012 @ 20:25 | |||
Volgens mij is de grote fout die je maakt, dat je je object niet aan een variabele koppelt. Je moet in mijn ogen iets in deze trant ondernemen:
Door je X1 kan je hier tenminste naar het betreffende bestand verwijzen en er iets mee doen. Ook is het in mijn ogen niet onbelangrijk dat je je object weer kunt sluiten. | ||||
Champy | dinsdag 16 oktober 2012 @ 13:40 | |||
Beste mensen, ik ben bezig met een excel sheet waarin de afdeling verkoop itemnummers in kan geven, en dan verschijnen vanzelf verschillende prijzen en informatie. Er gebeurt echter iets heel raars als er een opgeslagen bestand geopend wordt waar dezelfde item nummers gebruikt worden met een oude prijs. Deze prijsinformatie wordt uit een andere sheet gehaald die dagelijks bijgewerkt wordt. Een voorbeeld om het duidelijk te maken. Er is vorige week een bestand aangemaakt en opgeslagen met itemnummer ABC voor prijs 1,11 2 dagen later wordt deze prijs aangepast naar 1,23 in het bronbestand. 3 dagen hierna wordt een nieuwe sheet aangemaakt, met item ABC, en de prijs 1,23 verschijnt. Om even te kijken wat vorige keer de prijs en marge was wordt de oude sheet van vorige week geopend, de gelinkte info wordt niet bijgewerkt zodat de oude prijzen er nog staan, en inderdaad, 1,11 verschijnt hier als prijs. Echter als er nu weer teruggeschakeld wordt naar de sheet van deze week staat daar ook de prijs van 1,11, terwijl eigenlijk de prijs van 1,23 daar hoort te staan. Dubbelklik op deze cel, druk op enter en de juiste prijs verschijnt weer. De informatie over de prijs wordt opgehaald door middel van een vertikaal zoeken formule uit het bronbestand. In het bronbestand van de prijzen wordt de nieuwe prijs niet gewijzigd in de oude. Er wordt in de nieuwe sheet niet gekoppeld aan de oude. Er is dus totaal geen relatie tussen de nieuwe en de oude sheet,maar wel worden de "oude" prijzen over genomen. Iemand enig idee waar dit door veroorzaakt wordt? Alvast bedankt voor het meedenken, en ik kan me voorstellen dat het geen heel duidelijk verhaal is. Edit: Als zowel het oude als een nieuw bestand open staan, en ik typ in de nieuwe een itemnummer in wat ook in de oude staat, verschijnt de prijs van de oude, en niet de prijs van uit het bronbestand. [ Bericht 5% gewijzigd door Champy op 16-10-2012 15:05:57 ] | ||||
snabbi | dinsdag 16 oktober 2012 @ 21:14 | |||
Het verhaal is wat lastig te volgen en ook niet te controleren van afstand. Wellicht gebruik je dezelfde bestandsnamen waardoor excel naar het verkeerde geopende bestand blijft kijken. In mijn ogen dien je de registratie van je (bron)prijzen te veranderen. Je zou niet afhankelijk moeten zijn van de oude versie, er dient 1 volledige juiste versie te zijn. Dit kan je bijvoorbeeld realiseren door gebruik te maken van de datum wanneer je prijzen muteert en de datum van je verkoop. Bijgevoegd voorbeeld uitgewerkt: http://www.mijnbestand.nl/Bestand-EX3JHTVGYJ7G.xlsx De truc zit natuurlijk in de prijsformule: =SOMMEN.ALS(Prijs;Startdatum_Prijs;"<"&A4;Einddatum_prijs;">="&A4;Artikelnummer;"="&B4) De vergelijkingen die hier gemaakt worden is dat de einddatum van je artikelprijs groter moet zijn dan de huidige verkoopdatum en de startdatum van je artikelprijs moet kleiner zijn dan je verkoopdatum. Daarnaast is er nog een match op je artikelnummer. Excel berekent hier de som van alle prijzen die voldoen aan die criteria. Aan jou de taak om daar altijd maar 1 uitkomst juist op te laten zijn en op deze manier kan je altijd je volledige prijslijst overzien (en niet alleen van een betreffende dag). Uiteraard luistert het wel heel nauw om te kijken naar wil je nu 'groter' hebben of 'groter of gelijk aan', maar daar ga je vast uitkomen. -- Edit: Overigens nog beter plaats je de prijzen niet in Excel maar in een ander ding zoals een database, maar voor de kleinere ondermening zal de prijslijst op 1 vaste locatie ook wel werken. [ Bericht 8% gewijzigd door snabbi op 16-10-2012 21:23:37 ] | ||||
Champy | woensdag 17 oktober 2012 @ 10:14 | |||
Snabbi, dank je voor het meedenken, denk echter dat je het probleem niet juist begrepen hebt, en dat is ook niet zo raar aangezien het nogal lastig omschrijven is. Daar komt bij dat prijzen ook naar beneden kunnen wijzigen, niet alleen naar boven. De bestanden hebben niet dezelfde naam, onder verschillende namen opgeslagen, het zijn echter wel kopieen van een basisbestand wat leeg is. En je tip over een database klopt inderdaad, echter heb ik daar totaal niets over te zeggen helaas. Het is geen kleine onderneming, maar soms nogal eigenwijs. In ieder geval bedankt, ik ga nog even verder met mn zoektocht | ||||
snabbi | woensdag 17 oktober 2012 @ 20:53 | |||
Je moet het ook niet zien als het adresseren van je probleem zelf, maar een workaround. Overigens zie ik geen reden waarom prijzen niet naar beneden zouden kunnen. Er is altijd maar 1 prijs die je een begindatum en een einddatum mee geeft. Je zou eventueel ook opslagen en afslagen kunnen noteren, maar ik vermoed dat het dan heel onoverzichtelijk gaat worden. Kijk in het voorbeeld bijvoorbeeld hoe de prijs tot een datum wordt gehanteerd en vanaf een andere datum er maar 1 prijs geldt. Plaats dat tabblad met de generieke prijzenlijst op 1 vaste locatie en je hebt nooit meer verschillende versies van je prijslijst. Door het gebruik van de datum blijf je ook altijd backwards-compatible. (de werkelijke gedachte er achter is natuurlijk, als je 1 prijslijst hebt kan je nooit de verkeerde versie hebben) [ Bericht 12% gewijzigd door snabbi op 17-10-2012 21:04:36 ] | ||||
Champy | donderdag 18 oktober 2012 @ 09:21 | |||
Hey Snabbi, probleem daarmee is, is dat er geen datums aan de prijslijst hangen, helaas. Kan ik ook niets aan doen, moet werken met wat me aangeleverd wordt over het algemeen. Echter, het is opgelost. De waardes werden opgehaald met een verticaal zoeken, deze heb ik vervangen door een index-vergelijken constructie, en het probleem doet zich gelukkig niet meer voor! Zeer bedankt voor het meedenken! | ||||
kostertim | donderdag 18 oktober 2012 @ 16:47 | |||
Iemand al eens geprobeerd om een organogram te maken vanuit een draaitabel? (Excel 2010) | ||||
Huppelmuts | vrijdag 19 oktober 2012 @ 12:08 | |||
Iemand enig idee hoe ik het aantal dagen zichtbaar krijg ipv een raar getal zoals: 40924 ? Gevonden [ Bericht 25% gewijzigd door Huppelmuts op 19-10-2012 12:38:42 ] | ||||
qu63 | vrijdag 19 oktober 2012 @ 22:21 | |||
Nope, maar volgens mij kan je dat beter met Visio doen, die kan ook Excel als input verwerken. | ||||
kostertim | vrijdag 19 oktober 2012 @ 22:53 | |||
Ja klopt inderdaad wel denk ik, hebben we alleen niet geïnstalleerd staan op onze werk pc's. Heb het besteld, bedankt voor je tip! | ||||
SummerBreeze | dinsdag 23 oktober 2012 @ 13:15 | |||
Topic niet doorgelezen, excuus als het antwoord al ergens staat. Excel 2007. Ik heb een koptekst toegevoegd en daarna wil ik mijn spreadsheet weer zien zoals gebruikelijk. Ik druk dus op de knop 'normaal' onder het tabblad 'Beeld'. Helaas krijg ik dan de printmargelijnen te zien. Aangezien ik de huidige sheet wil gaan gebruiken in een presentatie wil ik die stippellijn niet hebben. Hoe krijg ik deze weg? | ||||
Deetch | dinsdag 23 oktober 2012 @ 13:25 | |||
document sluiten en weer opnieuw openen. | ||||
SummerBreeze | dinsdag 23 oktober 2012 @ 13:27 | |||
Dat ik daar nou niet aan gedacht heb... Heel erg stom. Dank je wel in ieder geval | ||||
Deetch | dinsdag 23 oktober 2012 @ 14:57 | |||
graag gedaan | ||||
qu63 | donderdag 25 oktober 2012 @ 14:08 | |||
Is het mogelijk om een soort 'fuzzy' zoekfunctie te maken? In A1 vul ik 'Jansen' in, dan wil ik dat in B1 t/m B10 de 10 best scorende (of minder als er maar 5 zijn) variaties op Jansen komen. Dus Janssen, Janszen, Janse, etc In de kolom er naast komt dan het klantnummer te staan die netzoals de namen uit een ander tabblad getrokken worden. Deze lijst is gesorteerd op klantnummer (kolom A) en niet op naam (kolom B). Deel 2 moet te doen zijn met index()indirect(), maar deel 1...?? Tips? | ||||
Deetch | donderdag 25 oktober 2012 @ 14:39 | |||
Misschien met deze add-in: http://www.microsoft.com/en-us/download/details.aspx?id=15011 | ||||
qu63 | donderdag 25 oktober 2012 @ 15:28 | |||
Dat zou moeten kunnen werken inderdaad. Helaas maak ik het op een 2007-versie. De doel-pc draait Office 2012 als t goed is.. Dan maar op die pc aan t werk, als er geen andere oplossing is.. | ||||
Deetch | donderdag 25 oktober 2012 @ 17:49 | |||
Tja denk dat dat de enige mogelijkheid is. Heb je hem al geprobeerd te installeren want mogelijk werkt hij ook wel voor office 2007. Je kunt overigens wel met wildcards zoeken in match en vlookup achtige functies: Als je een vlookup doet met de volgende zoekterm: "*"&"anana"&"*" dan vindt hij als het goed is ook de volgende dingen: • ananas • banana, maar ook • the nanananananana company dus dat is nog niet echt fuzzy te noemen. Bron: Hier heeft iemand een code geschreven die adressen standaardiseerd. Heb hem zelf niet getest maar mogelijk kun je hem naar je wensen aanpassen? | ||||
ralfie | donderdag 25 oktober 2012 @ 18:12 | |||
Je zou eigenlijk zelf een algoritme moeten schrijven, bijvoorbeeld door gebruik te maken van een zogenaamde metafoon index http://en.wikipedia.org/wiki/Metaphone Qua werk valt het wel mee, en je hoeft niet te neuken met *tjes etc. Even een functie schrijven in vba en je bent klaar. In de wikipedia referenties staan nog wat bronnen genoemd waaronder een implementatie in vba. Ik zou zeggen, probeer het eens. Je zult wel de metafoon bibliotheek moeten veranderen naar het nederlands, wellicht dat er een nederlandse versie op het internet rondwaart. | ||||
qu63 | donderdag 25 oktober 2012 @ 21:20 | |||
Ik ga wel even spelen, thanks En jij ook Deetch Was de bedoeling om een eigen CRM te maken in Excel, degene die ik nu gratis kan vinden voldoen niet aan mijn eisen namelijk.. | ||||
qu63 | donderdag 25 oktober 2012 @ 21:22 | |||
Voor mensen die wel eens 'network graphs' maken is dit misschien wel handig:http://nodexl.codeplex.com/ En nog een heel lijstje met voorbeelden die al gemaakt zijn: http://www.nodexlgraphgallery.org/Pages/Default.aspx | ||||
qu63 | donderdag 25 oktober 2012 @ 21:36 | |||
Ik kom net achter deze plugin: http://research.microsoft(...)6-a06c-b609df29756f/ Misschien dat je er wat aan hebt? | ||||
qu63 | donderdag 25 oktober 2012 @ 21:39 | |||
De hele MS Research afdeling doet trouwens goed werk voor Excel -> http://research.microsoft(...)=&s=Excel&r=&vr=&ra= Veel plugins die retehandig kunnen zijn! http://research.microsoft(...)8-9ebc-c3e9b43a0683/ | ||||
Deetch | donderdag 25 oktober 2012 @ 23:04 | |||
Dit is misschien wel bruikbaar voor als je veel data moet modelleren. Ik zal hem morgen eens testenhttp://research.microsoft(...)6-9df2-109dbb8d0867/ | ||||
draadstalig | vrijdag 26 oktober 2012 @ 17:31 | |||
Ik moet voor iemand een analyse over een enquete houden. Nu is de enquete al afgenomen en hebben de mensen de mogelijkheid gehad om over 20 vragen een beoordeling van uitstekend t/m slecht en waardering van zeer belangrijk tot onbelangrijk te geven. Jammer genoeg heeft de maker van de enquete geen rekening gehouden met de analyse-fase. Hoe kan ik het beste een uitslag eruit halen hoevaak een bepaald antwoord is gegegeven op een bepaalde vraag. Bv hoevaak hebben mensen op vraag 1 uitstekend gezegd. Als bijlage een voorbeeld. ik dacht zelf al de X veranderen door een 1, maar vervolgens loop ik helemaal vast. Aantal.als kan niet, verticaal zoeken niet. HELLUP http://speedy.sh/amBPR/1enquete.xls | ||||
Janneke141 | vrijdag 26 oktober 2012 @ 18:25 | |||
Ik heb geen zin om me te gaan registreren op die filesharingsite (misschien even een screenshotje) Maar misschien is het een optie om in een serie hulpkolommen samengestelde waarden te gaan zetten zoals 01Uitstekend en 13Matig, daarna kun je wel de AANTAL.ALS functie gebruiken, lijkt me. | ||||
Basp1 | vrijdag 26 oktober 2012 @ 19:47 | |||
Je zou een macro kunnen scrhijven om de rijen waar de waardering van de vraag gegeven wordt verplaatst achter de antwoord rij, daarna werkt je verticaal zoeken wel. | ||||
ralfie | vrijdag 26 oktober 2012 @ 22:50 | |||
Zet in J2 de volgende formule:
'trek' deze formule tot aan de onderste rij van je werkblad (zodat de hele J kolom deze formule heeft) Zet daarna in K2 de formule:
Je kunt nu in I2 bijvoorbeeld 'belangrijk' invullen en dan komt het aantal keren 'belangrijk' in K2 te staan. | ||||
Saekerhett | dinsdag 30 oktober 2012 @ 09:59 | |||
Beste mensen, Hier op het werk behandelen we inkomende meldingen. Elke melding staat op één rij. Sommige meldingen gaan we onderzoeken: dit zijn meldingen die: - of een score hebben van 9 of hoger (op een schaal van 1-16) (kolom DU); - of vallen in een bepaalde categorie (kolom R). Laten we zeggen dat we categorieën A t/m H hebben en E, F, G en H ook meemoeten naar het onderzoek, ongeacht de score. Uiteraard zijn er meldingen die voldoen aan beide criteria. Nu kom ik er maar niet uit met welke formule ik de hoeveelheid meldingen kan krijgen die meemoeten. Heb het met COUNTIF geprobeerd, met SUMPRODUCT, combinaties... maar ik kom er gewoon niet uit... Eén keer dacht ik dat ik er was, maar toen kreeg ik dubbeltellingen... Kan iemand me op weg helpen? | ||||
Jesse_ | dinsdag 30 oktober 2012 @ 10:04 | |||
countif(OR(DU>8;R="E";R="F";R="G";R="H";)) Zou zoiets niet werken? | ||||
Saekerhett | dinsdag 30 oktober 2012 @ 10:37 | |||
Geprobeerd, maar dit is geen geldige formule. | ||||
Jesse_ | dinsdag 30 oktober 2012 @ 10:43 | |||
Je hebt gelijk. Geen idee hoe je dit zou kunnen doen, zonder een macro. | ||||
Deetch | dinsdag 30 oktober 2012 @ 12:27 | |||
Dat is ook logisch aangezien je verkeerd verwijst naar de kolom. Er van uitgaande dat je een negelse excel gebruikt en je , gebruikt als scheiding tussen argumenten in je formule. Als je over een gehele kolom DU wilt tellen welke waarde groter dan 9 zijn doe je: =countif(DU:DU,">9") als je slechts in een beperkt bereik wilt tellen (bijv de eerste regel niet omdat die koptekst bevat en dan de eerste 250 regels) gebruik je =countif(DU2:DU250,">9") Je verhaal verder is niet helemaal duidelijk maar ik ga er van uit dat er in kolom R een "x" staat als aan dat criterium wordt voldoen (andere tekst mag ook) en als hij er niet aan voldoet dat er niks staat. Aantal x-jes tellen (of eigenlijk het aantal niet lege cellen =counta(R:R) of =counta(R2:R250) Als je nu deze twee combineert met een OR functie er omheen krijg je dus dubbelingen als zowel het DU als het R criterium geldt. What to do: Maak een hulp kolom, bijv kolom EE. In cel EE2 zet je de volgende formule =IF((--(DU2>9)+COUNTA(R2))>=1,1,0) Wat doet deze formule nu? DU2>9 is de check of die waarde groter is dan 9 en resulteert in een TRUE of FALSE, door deze -- te doen wordt dit een 1 of een 0. Hier tel je bij hoeveel cellen in de range R2 niet leeg zijn met de COUNTA formule, dit resulteert in een 1 of een 0. Deze tel je vervolgens op en de IF functie eromheen corrigeert voor dubbelingen door als 1 of beide voorwaarden gelden (en de optelsom dus groter of gelijk aan 1 is) deze op 1 te stellen. In het andere geval is het dus 0. Deze hulpkolom kun je vervolgens optellen | ||||
Deetch | dinsdag 30 oktober 2012 @ 12:47 | |||
Met sumproduct kun je dat allemaal in 1 keer doen: =SUMPRODUCT((DU2:DU250>9)+(R2:R250<>""))-SUMPRODUCT((DU2:DU250>9)*(R2:R250<>"")) De eerste sumproduct telt op voor welke rijen het criterium DU>9 geldt of waar R niet leeg is. Deze neemt dus de dubbelingen mee. OF doe je dus met een + De tweede sumproduct telt alleen de rijen waarin geldt dat zowel DU>9 als R is niet leeg. Dit zijn de dubbelingen Door nu het aantal dubbelingen af te trekken van het totaal inclusief dubbelingen houdt je alleen het aantal rijen over waar of DU>9 of R <> leeg of allebei geld.. | ||||
Saekerhett | dinsdag 30 oktober 2012 @ 13:45 | |||
Bedankt voor je uitgebreide uitleg! In kolom R heb ik alleen 'A', 'B'.... 'G', 'H' staan, dus geen kruisje. En van die acht verschillende letters, moeten er dus vier geteld worden (E, F, G, H). Dus je formule is bijna goed, alleen nog net niet helemaal Ik heb wel wat gevonden met accolades in een functie om een aantal begrippen op te sommen, maar ik weet niet of ik dat in dit geval kan doen. Iets verduidelijkt (versimpeld):
Stel dat ik zoiets heb. Dan wil ik dus dat het antwoord '10' is, omdat er bij 10 rijen de voorwaarde geldt: - of E, F, G, H; - of >8. Hoop dat ik het een beetje verduidelijkt heb | ||||
nils7 | dinsdag 30 oktober 2012 @ 14:35 | |||
Hi allen, Ik ben bezig met een formule die niet ingewikkeld is maar ik zit gewoon even vast. Ik wil bijhouden hoeveel mijn collega's doen, gedurende de week. Er is een lijst met een aantal items, een deel daarvan is onbehandeld en een deel daarvan is al behandeld. Ze krijgen per dag een X aantal nieuws items op de lijst en daar behandelen ze er een deel van, het is mogelijk dat niet alle onbehandelde items gedaan worden vandaag. Hierdoor verschuift dit werk door naar morgen. Items verdwijnen van de lijst wanneer ze zijn opgelost (gebeurt bij het mij aanmaken van de lijst wanneer de items niet meer aan bepaalde criteria voldoen) waardoor ze zichzelf wel oplossen zonder interventie van mijn collega's dus het totaal aantal items morgen kan dus minder zijn dan vandaag, ondanks dat er vandaag "werk" zou blijven liggen. Nu zou ik graag de totale workload willen weten aan het eind van de week, zonder de details in te gaan. Er is dus een totaal aantal op de lijst. Een aantal nieuwe onbehandelde items. Een aantal openstaande onbehandelde items. Alle items op de lijst dienen wekelijks wel bekeken te worden waarbij de nieuwe/"onbehandelde" items wel prio zijn op de al behandelde items. Nu lijkt dat heel simpel om de week workload te bepalen: Totaal aantal + nieuw onbehandeld + oud onbehandeld (elke dag) = totale weekworkload. Maar toch krijg ik gekke getallen in Excel en zie ik door de cijfertjes het tabblad niet meer (hahaha). Een voorbeeld van getallen uit de week:
Ik heb verschillende lijsten waardoor de formule ook toepasbaar op dit zou moeten zijn:
Ik zoek dus een formule die in beide gevallen werkt maar ik zit er al een tijd op maar ik kan geen eenduidige methode vinden. Iemand die een oplossing ervoor heeft? | ||||
Deetch | dinsdag 30 oktober 2012 @ 14:41 | |||
@Saekerhett: Zo dan? =SUMPRODUCT(--(DU2:DU250>8))+SUMPRODUCT(--(R2:R250={"E","F","G","H"}))-SUMPRODUCT((DU2:DU250>8)*(R2:R250={"E","F","G","H"})) Bovenstaande formule moet je zelf even aanpassen voor andere ranges | ||||
Saekerhett | dinsdag 30 oktober 2012 @ 15:30 | |||
Bedankt Deetch! Krijg nu nog een #N/A-fout btw, maar de formule lijkt op zich te kloppen | ||||
Deetch | dinsdag 30 oktober 2012 @ 15:51 | |||
Dan heb je ws. nog ergens een fout in de formule. In deze link staat hoe je een en ander kunt oplossen. Je kunt dan nl. zien wat de fout veroorzaakt. http://office.microsoft.c(...)ror-HP005203936.aspx Trouwens ik ben steeds uitgegaan van office 2007 of 2010 met engels als taal, dat klopt toch? Variaties met de tekst tussen accolades { } die ik wel eens ben tegengekomen is: {"E"\"F"\"G"\"H"} | ||||
Saekerhett | dinsdag 30 oktober 2012 @ 16:01 | |||
Dank je, ik kijk even. Klopt, hier heb ik een Engelse Office 2010. Zal dat ook eens proberen. Maar een #N/A-fout betekent toch wel dat in elk geval de structuur van de formule klopt? | ||||
Saekerhett | dinsdag 30 oktober 2012 @ 16:09 | |||
Dit net gedaan en ik kreeg geen foutmelding meer! Alleen klopt de waarde niet. Ik krijg nu het getal 41 te zien, terwijl er 1 moet komen | ||||
Deetch | dinsdag 30 oktober 2012 @ 17:43 | |||
Wat voor waarde geven de afzonderlijke delen van de formule? Zelf even de goeie syntax gebruiken. sumproduct --DU>8 : sumproduct R=E\F\G\H : sumproduct R=E,F,G,H : | ||||
Saekerhett | woensdag 31 oktober 2012 @ 09:08 | |||
Deze geeft 39, terwijl het 1 moet zijn. Deze geeft 1, en dat klopt, dus dit deel is goed! Deze geeft de #N/A-fout. Ik zoek ondertussen nog even verder, maar het lijkt erop dat het deel van de formule met {E;F;G;H} goed is. Hier op het werk moet ik trouwens ; gebruiken in plaats van , voor scheiding tussen argumenten, maar dat is niet zo'n probleem | ||||
Saekerhett | woensdag 31 oktober 2012 @ 09:11 | |||
Dit is trouwens de werkelijke hoeveelheid. Links is de score, en rechts het aantal meldingen met die score. Je ziet dat er één boven de 8 is, die melding heeft score 12, en dus moet er één geteld worden, maar geen idee waarom ik 39 krijg | ||||
Deetch | woensdag 31 oktober 2012 @ 10:04 | |||
De cellen in kolom DU moeten wel echte getallen bevatten en geen tekst. Een getal kan ook als tekst in je kolom staan. Dan staat hij meestal links uitgelijnd. Getallen staan standaard rechts uitgelijnd. Dit kun je checken door de functie =ISTEXT(celverwijzing) of =ISNUMBER(celverwijzing) Als er tekst in een cel staat telt deze ook als meer dan 8, een spatie is ook tekst Als er een formule staat waarvan de uitkomst een lege teksttring is (zoals: =IF(B5="","","") ) telt deze ook als meer dan 8. "" betekent namelijk een tekststring met lengte 0. [ Bericht 27% gewijzigd door Deetch op 31-10-2012 10:12:06 ] | ||||
Saekerhett | woensdag 31 oktober 2012 @ 10:16 | |||
Je hebt helemaal gelijk. Ik moest handmatig de kolom DU converteren naar nummers, en nu werkt het perfect Maar wel gek, want ik had al heel vaak de hele kolom geselecteerd en het format op number gezet. Geen idee waarom hij dit telkens weer omzet naar tekst. | ||||
Deetch | woensdag 31 oktober 2012 @ 10:35 | |||
tja dat is de wondere wereld van office 2010 waarin de software voor de gebruiker denkt ook als hij dat niet wil Maar fijn dat het nu werkt. | ||||
Saekerhett | woensdag 31 oktober 2012 @ 11:53 | |||
Zal nog wel even verder zoeken of dat een optie in Excel 2010 in, maar voor nu hartstikke bedankt! | ||||
Regenbui | vrijdag 2 november 2012 @ 09:55 | |||
Gents, Na heel wat pogingen met vlookup, match en index kom ik er toch niet uit. Onderstaand twee kolomen met in kolom A een nummering en in B een postcode. Nu wil ik controleren of alle cellen in kolom A met een waarde van 1, dezelfde naastliggende waarde (postcode) in kolom B hebben. Maar..., zodra ik de formule naar beneden trek en in kolom A een nieuwe waarde tegenkom (2 in dit geval) hij controleert of alle waarde met 2 in kolom A, dezelfde naastliggende waarde in kolom B hebben. Is dit mogelijk?
| ||||
RanTheMan | vrijdag 2 november 2012 @ 11:13 | |||
Beste allen, even een vraag.. Ik kom er niet helemaal uit.. Ik heb 2 documenten.. beide bestaande uit 4 kolommen met dezelfde soort waarden.. Feitelijk zijn beide lijsten dus identiek aan elkaar.. Echter het ene document heeft 95.000 rijen en het andere document heeft 80.000 rijen. Deze 80.000 rijen zijn onderdeel van die 95.000 rijen.. nu wil ik graag de 15.000 unieke rijen uitfilteren/identificeren.. Iemand enig idee hoe ik dat doe?. | ||||
Hiya | vrijdag 2 november 2012 @ 11:22 | |||
Móet het automatisch gebeuren? Anders zou je de eerste kolom onder de tweede kolom kunnen kopiëren. Daarna via data remove doubles selecteren. Of een pivot table maken en dan moet Excel alles samenvoegen, daarna als count sorteren zodat je ziet hoe vaak een waarde in je tabel voorkomt. | ||||
RanTheMan | vrijdag 2 november 2012 @ 11:26 | |||
nee hoeft niet automatisch.. Maar dit werkt niet natuurlijk... stel ik voeg ze beide samen ( 95K + 80K).. haal alle dubbele er uit, dan zit ik weer met 95K want ik heb immers 80K dubbele toegevoegd.. Terwijl ik de 15K unieke wil hebben | ||||
RanTheMan | vrijdag 2 november 2012 @ 11:29 | |||
bestand A heeft 1-2-3-4-5 en bestand B heeft 1-2-3-5 In dit geval heeft alleen bestand A -> 4 dus die "4" wil ik hebben als resultaat.. en niet 1-2-3-4-5 | ||||
DaFan | vrijdag 2 november 2012 @ 11:36 | |||
Als het maar eenmalig even hoeft is het makkelijkst om in kolom B, als alles onder elkaar staat in A, te tellen hoe vaak A1 voorkomt in hele kolom A en dat doortrekken. Daarna filteren waar er 1 staat. | ||||
RanTheMan | vrijdag 2 november 2012 @ 11:51 | |||
ik begrijp het niet helemaal.. Misschien was mijn voorbeeld ook heel slecht.. even een beter voorbeeld: naam a naam B naam C 11 11 11 11 11 11 22 222 22222 22 222 22222 5555 555 555 5555 555 555 444 555 444 als ik beide lijsten onder elkaar zet.. en sorteer krijg ik zoiets.. ik wil alleen de rij 444 555 444 overhouden.. Maar ik kom er niet uit | ||||
Hiya | vrijdag 2 november 2012 @ 12:38 | |||
Pivot Table zou moeten werken- | ||||
DaFan | vrijdag 2 november 2012 @ 17:55 | |||
Oh nog makkelijker, dan doe je in kolom D
| ||||
Deetch | vrijdag 2 november 2012 @ 22:02 | |||
dat gaat dan fout na de eerste afwijking want dan is het allemaal onwaar. | ||||
Deetch | vrijdag 2 november 2012 @ 22:04 | |||
als je de data sorteert op de linker kolom kun je het vrij eenvoudig handmatig doen, zeker als het een malig moet gebeuren. | ||||
RanTheMan | vrijdag 2 november 2012 @ 22:08 | |||
nee dat klopt niet want abc zijn niet per definitie gelijk aan elkaar.. t ging om gelijke rijen.. maar ik heb t opgelost met een sql oplossing | ||||
DaFan | zaterdag 3 november 2012 @ 00:10 | |||
Ok | ||||
einzeinz | zondag 4 november 2012 @ 13:35 | |||
Ik geraak gedemotiveerd van Excel. Het programma doet niet wat het moet doen. Kan iemand me helpen of uitleg geven? Eén van de vragen is de volgende. Geef aan in welke leeftijdscategorie u thuishoort <25 / 7 / 4% 25-30 / 34 / 20% 30-35 / 38 / 22% 35-40 / 25 / 15% 40-45 / 23 / 13% 45-50 / 17 / 10% >50 / 28 / 16% Vraag is duidelijk denk ik? Kolom 2 zijn de aantal ingevulde en kolom 3 is het percentage. Nu zou ik dus graag kolom 1 en 2 hebben om een grafiek te maken, ik kies een staafgrafiek. Maar dan gooit Excel ineens alles om en is >50 de eerste en <25 de laatste in de grafiek. En dan begin ik pietje precies en wil ik de gegevens zoals ik ze opgeef maar een mogelijkheid om de selectie om te draaien is er niet. Mijn grafiek moet met <25 beginnen en met >50 eindigen. Ik zoek er nu al 6 uur op maar heb nog geen antwoord gevonden, wie helpt me? Waarom verdraait Excel de gegevens in de grafiek? | ||||
qu63 | zondag 4 november 2012 @ 14:08 | |||
Ik gok dat het zal komen door de < en >. Maak er eens 0-25 en 50-99 van? (Of 50-150).. | ||||
DaFan | zondag 4 november 2012 @ 14:16 | |||
Hm ik heb dezelfde waardes als einzeinz, maak van de leeftijden type Text en het gaat direct bij invoegen goed. Wat voor datatype is je kolom leeftijden? | ||||
DaFan | zondag 4 november 2012 @ 14:16 | |||
Wat moet de output worden?? | ||||
SM- | maandag 5 november 2012 @ 13:46 | |||
Kan ik excel tekst uit cellen over laten nemen? Ik heb een kolom met sample nummers en een kolom met sample namen, en ik wil beide over laten nemen naar andere werkbladen. Voor de nummers is dat geen punt, maar is dit ook mogelijk met de tekst? | ||||
Deetch | maandag 5 november 2012 @ 15:02 | |||
Ja hoor. Je kunt ze gewoon kopieren en plakken maar je kunt er ook naar verwijzen net als bij getallen. Ga in de cel staan waar de verwijzing moet komen. typ in "=" zonder de aanhalingstekens en druk ook nog niet op enter. Ga vervolgens met je muis naar de cel waar de naam staat die je wilt laten zien en klik die cel aan en druk op enter. Klaar | ||||
SM- | maandag 5 november 2012 @ 15:11 | |||
Zelfde als met de getalletjes dus! Super, bedankt. | ||||
Holy_Goat | dinsdag 6 november 2012 @ 08:32 | |||
Irritant! Wil ik een kolom toevoegen met een macro; mag het niet. 'To prevent loss of data .... you try to shift non blank cells off the sheet blbalabla' zoiets. Echter, ik heb vanaf kolom AB niets meer in het werkblad staan. Ik heb ook geen afbeeldingen, niets. Er staat ook nog iets als: or define what blank cells are in the settings etc. Maarja, dat kan ik nergens vinden. Hulp? | ||||
Basp1 | dinsdag 6 november 2012 @ 08:44 | |||
Oude excel, of gesaved als xls ipv xlsx? Tot 2003 had je maar 65535 rijen, daarna zo goed als onbeperkt. Ook zou je anders in je macro gewoon eerst de laatste rij laten verwijderen als er toch niets staat. | ||||
Holy_Goat | dinsdag 6 november 2012 @ 13:04 | |||
nieuwe Excel. Met de hand alle ovrrbodigeo kolommen verwijderen en daarna met de hand kolom invoegen werkt ook niet | ||||
Ofresca | donderdag 15 november 2012 @ 22:42 | |||
Ok. Ik ben nu in Excel 2010, Engels, bezig met het bewerken van een werkrooster. Ik heb het al voor elkaar gekregen om m.b.v.
Het omgekeerde, dus wie er werkt op een bepaalde dag, lukt (nog) niet. Ik krijg de code maar niet werkend.
En ja, Transpose nemen van de huidige tabel op een extra worksheet zou ook een oplossing zijn. NVM. Hij deed het gewoon, had alleen niet door dat de eerste waarde een #NUM error zou gaan geven. [ Bericht 2% gewijzigd door Ofresca op 15-11-2012 23:34:33 ] | ||||
hello_moto1992 | dinsdag 20 november 2012 @ 14:37 | |||
Ik heb een overzicht van lengte en hoogte resp. een andere hoogte Dus lengte - hoogte1 1 - 43 2 - 34 3 - 94 4 - 6 5 - 92 En lengte - hoogte2 2 - 34 3 - 20 5 - 60 6 - 45 7 - 50 Nu wil ik dat dit wordt: 1 - 43 - (leeg) 2 - 34 - 34 3 - 94 - 20 4 - 6 - (leeg) 5 - 92 6 - (leeg) 7 - (leeg) - 60 Weet iemand hoe ik dit het beste kan aanpakken? | ||||
qu63 | dinsdag 20 november 2012 @ 14:47 | |||
Er van uitgaande dat • In kolom A je lengte staat en in kolom B de hoogte. • In kolom D staat je nieuwe lengte (1 t/m 7). Kolom E: =ALS.FOUT(VERT.ZOEKEN(D1;$A$1:$B$5;2;ONWAAR);"(leeg)") Kolom F: =ALS.FOUT(VERT.ZOEKEN(D1;$A$7:$B$11;2;ONWAAR);"(leeg)") | ||||
Nixx- | woensdag 21 november 2012 @ 14:06 | |||
Ik probeer een rij door te trekken, maar het lukt niet. Als ik intik: =A2 =A8 =A14 als ik doortrek krijg ik: =A5 =A11 =A17 Hoe krijg ik dit wel werkende? | ||||
davidvp01 | woensdag 21 november 2012 @ 16:44 | |||
Ik heb een excelfile, waarin ik mijn energie en gasstanden bijhoud. Hier wil ik een grafiek/staafdiagram van maken, van verbruik van bijvoorbeeld om de 7 dagen. ik houd niet precies iedere 7 dagen bij (soms iedere dag, soms weer 2 weken niet), dus grafiek mag een gemiddelde berekenen, wat hij die betreffende dag weer geeft. Kom er niet uit hoe ik dit het beste kan doen, blijf steeds haken op de gemeten standen en dagen. En kan dus niet de interval instellen, met de "geschatte" standen. Wie kan me helpen? Het bestand. Excel 2007, regional settings: dutch. | ||||
qu63 | woensdag 21 november 2012 @ 17:35 | |||
Op een nieuw tabblad alle dagen van t jaar in kolom A zetten. In kolom B dvm vert/horiz.zoeken (ligt aan de opbouw van je tabel) bij iedere dag kijken of er meterstanden beschikbaar zijn. Zelfde voor kolom C, maar dan voor gas. Van dit tabblad een grafiek maken. | ||||
Holenbeer | woensdag 21 november 2012 @ 22:55 | |||
Ik ben een beetje met excel aan het kloten om mijn skills wat te updaten. Dit omdat ik momenteel aan het solliciteren ben en wel eens de vraag krijg hoe goed ik met excel ben. Dit ben ik voor mijzelf even wat aan het opfrissen. Ik werk overigens met de 2010 versie hierbij een vraag over de functie SOMMEN.ALS en de criteria op internet bij de uitleg kwam ik de volgende data tegen (die ik zelf wat uitgebreid heb)
nu is het voor mij wel duidelijk hoe ik met de SOMMEN.ALS functie een totaal bedrag van 1 type eten in 1 kwartaal uit 1 regio krijg, maar krijg ik het niet voor elkaar om een totaal bedrag te krijgen van bijvoorbeeld groente en fruit in een bepaalde periode. De criteria in rij 14 zijn bij mij een dropdown menu's en de formule achter D14 is bij mij =SOMMEN.ALS(D2:D12;C2:C12;C14;B2:B12;B14;A2:A12;A14) iemand die mij de goede richting in kan sturen? Als ik bij de criteria niet naar een andere cell verwijs maar met "groente" werk, is er dan een manier om meerdere etenswaren te pakken? | ||||
qu63 | woensdag 21 november 2012 @ 23:56 | |||
Geen idee of t werkt (en te brak om het in te voeren), maar probeer eens C14 (groente) te vervangen door OF("groente";"fruit")? | ||||
Holenbeer | donderdag 22 november 2012 @ 00:16 | |||
thanks voor de suggestie, maar het is niet de oplossing. Ik verwacht ook eerder dat het iets is met de term "AND" ik heb in de formule C14 al eens vervangen voor verschillende combinaties met de strekking groente and fruit, maar nog niet de oplossing gevonden. ook als criterium meerdere cellen selecteren (bijvoorbeeld c14 en c15 en dan in 1 "groente" zetten en in de ander "fruit" is niet de oplossing. | ||||
Deetch | donderdag 22 november 2012 @ 09:41 | |||
Met somproduct natuurlijk. In D14 zet je: =SOMPRODUCT(--(A2:A12=A14),--(B2:B12=B14),--(C2:C12=C14),(D2:D12)) Wat doet die SOMPRODUCT nou? De dingen tussen haakjes kijken of een waarde in A2:A12 gelijk is aan A14 en maakt dan een lijst met TRUE en FALSE. Idem voor B2:B12 en C2:C12 De -- is nodig om van een lijst TRUE FALSE een lijst enen en nullen te maken. Lijst1:11000000001 Lijst2:10000001001 Lijst3:10001100100 Alle enen en nullen op dezelfde positie met elkaar vermenigvuldig geeft: 10000000000 Dit vermenigvuldigd met het corresponderende bedrag (D2:D12) en bij elkaar opgeteld geeft ¤1000,00 | ||||
Deetch | donderdag 22 november 2012 @ 10:33 | |||
Om de groente fruit optie toe te voegen aan je sumifs moet je een trucje met arrays uitvoeren. Deze formule zou voor jou moeten werken: =SOM(SOMMEN.ALS(D2:D12;A2:A12;A14;B2:B12;B14;C2:C12;{"groente","fruit"})) Omdat je dan toch al een kunstje uithaalt kun je imho veel beter SOMPRODUCT gebruiken: =SUMPRODUCT(--(A2:A12=A14),--(B2:B12=B14),(C2:C12="groente")+(C2:C12="fruit"),(D2:D12)) in NL: =SOMPRODUCT(--(A2:A12=A14);--(B2:B12=B14);(C2:C12="groente")+(C2:C12="fruit");(D2:D12)) | ||||
Holenbeer | donderdag 22 november 2012 @ 10:40 | |||
thanks deetch, ik ga ermee klooien en kijken of het een beetje lukt. edit: de somproduct was een prima oplossing. Kan ik hieruit ook opmaken dat de functie sommen.als per definitie geen toegevoegde waarde heeft tov somproduct? je kunstgreep met zowel groente als fruit in de som(sommen.als) functie werkt niet bij mij. Ik krijg steeds een foutmelding. [ Bericht 32% gewijzigd door Holenbeer op 22-11-2012 11:01:24 ] | ||||
Deetch | donderdag 22 november 2012 @ 12:04 | |||
Klopt helemaal. Somproduct is ook al een hele oude functie dus ook bruikbaar op oudere versies van office. sommen.als is pas sinds 2010. Tussen groente en fruit moet een ; ipv een , Dat krijg je met verschillende talen door elkaar gebruiken, tijd voor | ||||
Holenbeer | donderdag 22 november 2012 @ 13:05 | |||
draadstalig | maandag 26 november 2012 @ 14:54 | |||
Ik probeer het volgende te doen met Excel, maar krijg de juiste formule er niet in. Ik heb een 5 tal gegevens 1. Huidige: 10¤ 2. Alternatief 1: 20¤ 3. Alternatief 2: 15¤ 4. Alternatief 3: 8¤ 5 Alternatief 4: 4¤ Nu wil ik één cel waarbij hij aangeeft welke van de cellen het laagste bedrag is en daarbij moet niet het bedrag naar voren komen maar de "alternatief". Dus in bovenstaande moet Alternatief 5 eruit komen. Hoe krijg ik dit voor elkaar. Ik heb al veel aantal.als en als geprobeerd, maar tevergeefs | ||||
draadstalig | maandag 26 november 2012 @ 15:01 | |||
En min. werkt wel, maar dan krijg ik alleen het getal te zien en niet de naam die daarbij hoort. | ||||
Basp1 | maandag 26 november 2012 @ 15:08 | |||
Iets met vert zoeken alhoewel dat soms problematisch is bij niet gesorteerde kolomen, rij 5 is trouwens alternatief 4 moet dat er niet uit komen. | ||||
Janneke141 | maandag 26 november 2012 @ 15:11 | |||
De kolommen van plaats verwisselen en dan VERT.ZOEKEN(MIN(verw);verw;2;ONWAAR) ? | ||||
Deetch | maandag 26 november 2012 @ 15:16 | |||
Uitgangspunt: In kolom A het bedrag en in kolom B de tekst die erbij hoort (huidige, alternatief1 etc) De gegevens staan in regel 2 tm 6 Wat jij zoekt is dan met onderstaande formule te vinden =VERT.ZOEKEN(MIN(A2:A6);A2:B6;2;ONWAAR) | ||||
draadstalig | maandag 26 november 2012 @ 15:18 | |||
De kolommen staan als volgt en kan ik niet wisselen: Huidig Leverancier 1 Leverancier 2 Leverancier 3 etc. 10¤ 20¤ 15¤ 8¤ Indien 8 de goedkoopste is moet er dus Alternatief 3 uitkomen. | ||||
Janneke141 | maandag 26 november 2012 @ 15:20 | |||
In dat geval is een (verborgen) hulpkolommetje waarin je een kopie maakt van de alternatief-namen een optie? Als dat niet kan krijg je een hele nare INDEX-functie, die zeker met heel grote bestanden traag als dikke stront wordt. | ||||
draadstalig | maandag 26 november 2012 @ 15:26 | |||
Ik dacht dus zelf aan dit =ALS(MIN(D11;G11;I11;K11;M11)=D11;D8;0) | ||||
draadstalig | maandag 26 november 2012 @ 15:27 | |||
En dat lukt ook voor de 1e, maar nu moet ik de andere nog erin zetten. | ||||
Janneke141 | maandag 26 november 2012 @ 15:28 | |||
Dat wordt een Rob Geus-formule. Maar hij werkt idd wel. | ||||
Basp1 | maandag 26 november 2012 @ 15:29 | |||
En wat gebeurt er als er 1 leverancier toegevoegd wordt, dan lopen je forumels al in de soep. | ||||
Deetch | maandag 26 november 2012 @ 15:30 | |||
Ik ben even uitgegaan van dat de bedragen in cellen A3 tm E3 staan en de tekst in cel A2:E2 Onderstaande functie vraagt de waarde op van de cel in regel 2 van de cel die overeenkomt met de minimumwaarde uit A3:E3 =INDIRECT(ADDRESS(2,MATCH(MIN(A3:E3),A3:E3,0))) In stapjes: MATCH(MIN(A3:E3).A3:E3,0) zoeet welke cel uit de range A3:E3 precies (daar is de 0 voor)overeenkomt met de minimale waarde uit die zelfde range. De uitkomst hiervan is 4, namelijk: de vierde cel in de range A3:E3 bevat de laagste waarde ADDRESS(2,4) ADDRESS is een andere manier om eenc elverwijzing op te schrijven.De alternatieven staan in regel twee dus vraag je het adres op van regel 2, kolom 4 de waarde die in deze cel staat (D2) vraag je op middels de functie INDIRECT In het nederlands: =INDIRECT(ADRES(2;VERGELIJKEN(MIN(A3:E3);A3:E3;0))) | ||||
Janneke141 | maandag 26 november 2012 @ 15:31 | |||
Als je leveranciers en bedragen in de cellen A2:B37 staan, dan kun je de volgende formule gebruiken: =INDEX(A2:B37;VERGELIJKEN(MIN(B2:B37);B2:B37;0);1) | ||||
draadstalig | maandag 26 november 2012 @ 15:57 | |||
Koning. Hij werkt Thnx | ||||
Deetch | maandag 26 november 2012 @ 16:07 | |||
welke? | ||||
qu63 | maandag 26 november 2012 @ 16:08 | |||
In Word kan je zogenaamde bouwstenen toevoegen, in Excel is dat niet te vinden. Ik wil namelijk het aantal keer dat het document is opgeslagen laten zien. Hoe doe ik dat nu t makkelijkst? Is het uit te lezen met VBA? Met =CEL() lukt t iig niet.. -edit- Dit dus http://msdn.microsoft.com(...)8v=office.12%29.aspx Even een UDF-je schrijven -edit2- Deze werkt niet.. Iemand een idee waarom niet?
[ Bericht 35% gewijzigd door qu63 op 26-11-2012 16:21:52 ] | ||||
Deetch | maandag 26 november 2012 @ 16:29 | |||
vervang value eens door RN? | ||||
qu63 | maandag 26 november 2012 @ 16:33 | |||
Nope.. Het staat in Module1, als ik em in thisworkbook gooi krijg ik een #NAAM-fout als ik =RN() doe.. | ||||
qu63 | maandag 26 november 2012 @ 16:44 | |||
Hmm, met deze code
Blijkbaar werkt de 8e optie (volgens http://msdn.microsoft.com(...)8v=office.12%29.aspx ) dus niet Iemand al lid van Excelforum.com? Daar schijnt wel een werkende functie te staan.. http://www.excelforum.com(...)erties-on-sheet.html | ||||
Deetch | maandag 26 november 2012 @ 16:44 | |||
Uit de help van de functie: If Microsoft Excel doesn't define a value for one of the built-in document properties, reading the Value property for that document property causes an error. Misschien kun je een on error resume next toevoegen want onderstaande macro werkt wel:
| ||||
Deetch | maandag 26 november 2012 @ 16:45 | |||
optie 8 is je revision number, maar dan moet je dat wel aanzetten voor dit bestand. | ||||
qu63 | maandag 26 november 2012 @ 16:50 | |||
Waar doe ik dat dan? Het is niet hetzelfde als 'wijzigingen bijhouden' iig.. | ||||
Deetch | maandag 26 november 2012 @ 16:52 | |||
hmmz nope, wel van ozgrid, misschien staat ie ook daar? | ||||
Deetch | maandag 26 november 2012 @ 16:56 | |||
De property is er blijkbaar nog wel maar hij wordt niet automatisch bijgehouden voor exdcel bestanden. http://support.microsoft.com/kb/214393 Aan dit document heb je misschien ook iets aan? http://www.google.nl/url?(...)deWb1L9a1o-xr3CNcEnQ Volgens mij moet je bij het opslaan het revisie nummer zelf updaten via vba en dan kun je hem uitlezen. | ||||
qu63 | maandag 26 november 2012 @ 16:58 | |||
Er staan wel werkende voorbeelden, althans volgens de reacties, maar hij blijft bij mij "0" als output geven.. Alternatieve opties zijn er zeker niet? | ||||
qu63 | maandag 26 november 2012 @ 17:05 | |||
Heb de code uit dat document gecopy-pasted, maar helaas zonder resultaat.. | ||||
qu63 | maandag 26 november 2012 @ 22:16 | |||
Workaround gevonden:
| ||||
Chandler | dinsdag 27 november 2012 @ 12:17 | |||
Weet iemand hoe ik een datum kan laten zien op de volgende manier Za 6 juli ? | ||||
Deetch | dinsdag 27 november 2012 @ 12:32 | |||
Custom format aanmaken "ddd dd mmm" Dus rechtsklikken op de cel die je wilt aanpassen, "format cells" kiezen, Custom (aangepast) format aanmaken. | ||||
Chandler | dinsdag 27 november 2012 @ 12:41 | |||
Top! dat werkt inderdaad goed, is er ook nog een mogelijkheid om de v van vrijdag als hoofdletter te krijgen? | ||||
Deetch | dinsdag 27 november 2012 @ 12:54 | |||
bij mij doet ie dat automatisch (engelse versie) | ||||
Chandler | dinsdag 27 november 2012 @ 12:58 | |||
Hier niet NL versie | ||||
Deetch | dinsdag 27 november 2012 @ 13:00 | |||
Onderstaande codes werken in excel 2010 ook (getest een Deetch approved ;-) ). In principe doet jouw workaround hetzelfde alleen hou je het getal bij in de verborgen gegevens van je spreadsheet in plaats van op cel A8. Als iemand cel A8 verwijderd en dan opslaat wordt het revisienummer gereset naar 1.
| ||||
Deetch | dinsdag 27 november 2012 @ 13:01 | |||
Dan zal hij dat bij een donderdag ook wel niet doen. Niets aan te doen tenzij je zelf een ingewikkelde functie wilt gaan schrijven in vba? | ||||
Chandler | dinsdag 27 november 2012 @ 13:10 | |||
Nah, dan laat ik het lekker zo. Wel raar dat dat per land anders kan zijn | ||||
qu63 | dinsdag 27 november 2012 @ 13:51 | |||
Je kan het ook zonder VBA doen hoor, zelf een matrixje maken met dagnummers in kolom A en dagnamen in kolom B | ||||
qu63 | dinsdag 27 november 2012 @ 13:53 | |||
Hmm, grote kans dat het inderdaad niet werkte omdat ie geen versienummers bij aan het houden was. Jouw variatie doet dat idd wel. Ik ben de enige gebruiker van het document, dus beveiliging is niet nodig. Plus nu kan ik nog wat sjoemelen met de versienummers | ||||
hendrik2009 | dinsdag 27 november 2012 @ 20:38 | |||
Dag met een hoofdletter: =BEGINLETTERS(TEKST(C1;"ddd d mmm")) | ||||
Stickers | woensdag 28 november 2012 @ 15:53 | |||
Hier naartoe verwezen door Deetch... Dus kleine copy paste van mijn topic, zodat het oude gesloten kan worden. De voorwaardelijke opmaak van Excel is voor mij nog een beetje een raadsel... Daarom probeer ik het hier dus ook. http://img59.imageshack.us/img59/121/voorbeeldn.jpg (copy/paste deze link) (copy/paste deze link) Iemand ideeën? | ||||
draadstalig | woensdag 28 november 2012 @ 15:59 | |||
Ik heb weer een mooie.. Ik heb een aantal getallen op rij staan als volgt: Huidige getal: getal x getal y getal z Bij de getallen horen personen (bv 1, 2 en 3) Ik wil nu een formule uitzetten waarbij hij het huidige getal vergelijkt met de nieuwe getallen. De kleinste daarvan neemt en daarvan aangeeft of het huidig, persoon 1, 2 of 3 is. De formule werkt, behalve dat wanneer persoon 1, 2 EN 3 geen aanbieding hebben (getal hebben) er alsnog persoon 1 uitkomt. =ALS(L8<MAX($F8);INDEX($H$6:$K$6;VERGELIJKEN(L8;H8:K8;0));"Current") Dit is hem op het moment en ik ga dus ergens de fout in. | ||||
ralfie | woensdag 28 november 2012 @ 16:04 | |||
Als ik het goed begrijp wil je het volgende: alle maanden kolommen muv eerste selecteren Daarna, voorwaardelijke opmaak, 'celwaarde niet gelijk aan' en dan vul je als waarde in de verwijzing naar de eerste cel van de eerste maand. c'est tout. | ||||
ralfie | woensdag 28 november 2012 @ 16:20 | |||
als je tabel er zo uitziet:
| ||||
draadstalig | woensdag 28 november 2012 @ 16:35 | |||
Korte toelichting. Bij 10 euro huidig en A t.m D hebben geen prijs geeft hij alsnog A aan, en niet B. Formule is momenteel zo opgesteld: =ALS(L8<MAX($F8);INDEX($H$6:$K$6;VERGELIJKEN(L8;H8:L8;0));"Current") [ Bericht 5% gewijzigd door draadstalig op 28-11-2012 17:02:23 ] | ||||
Stickers | woensdag 28 november 2012 @ 17:01 | |||
Ok nu ben ik al een heel eind. Ik wil echter dat het 'van toepassing op'-bereik zich aanpast aan de hand van de huidige maand. De vorige maanden(gerealiseerde cijfers dus) moeten dus niet opgemaakt worden. alleen vanaf de huidige maand en verder Of vraag ik nu te veel? Zelf heb ik al geprobeerd te kloten met adres en index, maar dat wordt een beetje erg complex. =ADRES(6;VERGELIJKEN(INDEX($A$13:$B$24;VERGELIJKEN($J$1;$B$13:$B$24;0);1);D5:H5;0)+3) Resultaat = $G$6 Hier heb ik november gebruikt als huidige maand | ||||
ralfie | woensdag 28 november 2012 @ 18:06 | |||
Dit gaat het makkelijkste als je twee voorwaardelijke opmaak regels gebruikt. 1) selecteer het hele gebied D6:H17 Nieuwe regel -> Celinhoud niet gelijk aan =C6 Nieuwe regel -> een formule gebruiken =C$5<>$E$1 2) ga nu onder voorwaardelijke opmaak, naar regels beheren. Zorg (met de pijltjes) dat de tweede regel hierboven bovenaan staat in het lijstje, en selecteer de optie 'stoppen indien waar'. Verklaring: zodra de naam boven de 'vorige' kolom niet overeenkomt met de eigenlijke vorige maand, treedt regel 1 in werking. Vanwege 'stoppen indien waar' zal regel 2 dus niet gaan lopen. Edit: kan natuurlijk ook makkelijk in één regel: =EN(D6<>C6;C$5=$E$1) [ Bericht 1% gewijzigd door ralfie op 28-11-2012 18:16:17 ] | ||||
ralfie | woensdag 28 november 2012 @ 18:12 | |||
Waarom moet er B uitkomen? Omdat A3=C2? Ik volg je logica niet. | ||||
elkravo | donderdag 29 november 2012 @ 00:07 | |||
Even een combivraag qua Excel + Word... Ik maak in Word een mail merge met hulp van een Excel bestand. Dus adresgegevens, en andere briefitems zijn "velden" en deze velden komen overeen met kolommen in Excel. Alleen.. als ik de mailmerge doet, wordt het 1 Word-bestand met alle brieven onder elkaar. Kan ik ook op een of andere manier ervoor zorgen dat bij 10 brieven, er ook 10 verschillende bestandjes uitkomen... de brieven moeten nl. digitaal verstuurd worden via mail, en dan wel apart asl attachment., niet geprint. | ||||
Basp1 | donderdag 29 november 2012 @ 08:40 | |||
Even klagen over excel, die niet alle herstel bestanden heeft aangemaakt en ik dus mijn planning van 1 dag kwijt ben. Excel heeft alleen herstel bestanden van dinsdag maar niets van woensdag. Ja ja mijn eigen schuld ook moet ik die excelfile ook maar zelf wat vaker opslaan ipv mijn pc gewoon aan te laten staan en dan in de nacht een update te krijgen. | ||||
DaFan | donderdag 29 november 2012 @ 10:06 | |||
Elkravo alleen met een macro... Google 'word merge save individual documents' - eerste hit. Moet je section breaks aanbrengen tussen de documenten (dus aan het eind van je document eigenlijk). | ||||
marcb1974 | donderdag 29 november 2012 @ 10:28 | |||
Ik moet een grote zoekactie houden in excel. Omdat dit met 2 voorwaarden moet viel verticaal zoeken af en gebruik ik nu index met vergelijken. Hiermee gaat het zoeken goed. Echter stopt hij op een bepaald moment en vindt dan niets meer. De waarde die een regel eerder nog gevonden werd is dan ineens niet meer te vinden, aan het eind van het bestand ziet hij ze dan wel weer. Iemand enig idee hoe dat kan? Het is nu een bestand van ruim 16.000 regels, maar dat gaan er meer worden. Ik werk in excel 2007. [ Bericht 3% gewijzigd door marcb1974 op 29-11-2012 11:08:30 ] | ||||
xyntarsus | vrijdag 30 november 2012 @ 10:37 | |||
Goeiemorgen allemaal, ik heb een (denk ik) vrij simpele vraag, maar ik kom er even niet uit. ik heb een variabele (7 mogelijkheden) en per mogelijkheid moet de variabele met de waarde uit een cel vermenigvuldigd worden. Ik kan dit wel in een "als" functie stoppen, maar dat wordt zo onoverzichtelijk. (als(A1="1";A1*Z1;(als(A1="2";A1*Z2;(als.....) Kunnen jullie me op weg helpen met een macro'tje hiervoor? Alvast bedankt | ||||
Deetch | vrijdag 30 november 2012 @ 11:19 | |||
=A1*indirect("Z"&A1) | ||||
xyntarsus | vrijdag 30 november 2012 @ 11:30 | |||
die begrijp ik niet helemaal, wellicht ook dat ik mijn voorbeeld achteraf gezien verkeerd geformuleerd heb. de waardes die ik in een cel invul (niet persé A1 dus) zijn vooraf vastgestelde lengtes (600-900-1250-1600-1800-2400-3000) en hier moet uit een andere cel een prijs aangehangen worden. (die weer uit een extern bestand komt) das wat ik eigenlijk probeer te maken is iets dat kijkt welke lengte er ingevoerd is, vervolgens in een lijstje kijkt welke prijs erbij hoort en tot slot vermenigvuldigd met een in een andere cel vaststaand (niet variabel) aantal | ||||
Deetch | vrijdag 30 november 2012 @ 11:32 | |||
je omshcrijving is niet helemaal duidelijk maar kan het zijn dat de waarde die niet gevonden wordt misschien net iets anders geschreven wordt in de regel waar je hem zou willen vinden? Misschien staat er stiekem een spatie voor of achter? Is het getal afgerond? Kun je een voorbeeld geven van je functie en waarop het dan mis gaat? | ||||
Deetch | vrijdag 30 november 2012 @ 11:37 | |||
AHA! Dan heb je vert.zoeken nodig Stel in A2 staat je lengte Stel in kolom Y2:Y100 staan alle lengtes Stel in kolom Z2:Z100 staan de bijbehorende prijzen Voorwaarde: de lengte die je invoert moet ook in de kolom Y staan, anders krijg je een error. In B2 zet je de volgende formule: =VERT.ZOEKEN(A2;Y2:Z5;2;0) Dan krijg je de prijs die bij de lengte in A2 hoort. Daar kun je vervolgens mee doen wat je wilt. | ||||
xyntarsus | vrijdag 30 november 2012 @ 11:46 | |||
thx dit lijkt het idd te zijn. werkt dit overigens ook met een pulldown menu? (dan kan ik voorkomen dat mensen de verkeerde waarde invullen) | ||||
Deetch | vrijdag 30 november 2012 @ 12:02 | |||
ja hoor een pulldown menu is ook maar gewoon een getal | ||||
xyntarsus | vrijdag 30 november 2012 @ 13:49 | |||
thx krijg het nog niet helemaal voor elkaar, maar ik ga ermee puzzelen | ||||
Dale. | zaterdag 1 december 2012 @ 17:38 | |||
Vraagje... Dit gaat eigenlijk over LibreOffice maar kan ook wel hier denk ik zo. Ik heb een kolom met datum + tijd erin. Nu wil ik eigenlijk dat deze kolom enkel secondes aan geeft. En dat dit relatief wordt genomen van de waarde van de eerste rij. Ik heb dus... 2012-11-23 08:23:45.123 2012-11-23 08:23:46.445 2012-11-23 08:23:47.895 2012-11-23 08:23:48.537 2012-11-23 08:23:49.798 2012-11-23 08:23:50.123 Wordt 0.000 1.322 2.772 3.414 4.675 5.000 etc... | ||||
Dale. | zaterdag 1 december 2012 @ 18:26 | |||
Ik heb het al... Je moet
-edit- blijkbaar moet je 2x klikken op het plusje. [ Bericht 12% gewijzigd door Dale. op 01-12-2012 18:45:21 ] | ||||
VorteXxX | zaterdag 1 december 2012 @ 23:20 | |||
het is toch gewoon min het eerste getal of denk ik nu gewoon te simpel? | ||||
marcb1974 | maandag 3 december 2012 @ 09:23 | |||
De waarden zijn allemaal gelijk, komen uit 1 bestand. Er staan geen spaties voor of achter, geen afrondingen, het zijn verrichtingscodes. De functie is: {=INDEX('DBC Services'!C:C;VERGELIJKEN(Factuur!B6994;ALS('DBC Services'!B:B=Factuur!C6994;'DBC Services'!A:A);0))} | ||||
Deetch | maandag 3 december 2012 @ 09:42 | |||
Kan het zijn dat het mis gaat in de ALS functie? Als namelijk de voorwaarde niet klopt dan heb je geen array om de waarde van vergelijken in te zoeken waardoor je geen rijnummer hebt voor je INDEX functie. | ||||
marcb1974 | maandag 3 december 2012 @ 09:43 | |||
Dan zou het atlijd fout moeten gaan. En nu gaat het maar voor een deel fout. Dat is het deel waar ik dus tegenaan blijf lopen. | ||||
Deetch | maandag 3 december 2012 @ 09:49 | |||
Het gaat alleen fout als Factuur!C6994 niet in 'DBC Services'!B:B zou staan of als Factuur!B6994 niet in 'DBC Services'!A:A staat Soms helpt het om de functie uit te splitsen om te zien welk deel verkeerd lopt. Dus eerst een kolom met de ALS-functie, dan de VERGELIJKEN en dan de INDEX. | ||||
marcb1974 | maandag 3 december 2012 @ 10:11 | |||
Het is een bestand dat bestaat uit veel zich herhalende waarden. Zowel in A:A als B:B. De kans dat een waarde niet voorkomt in 'DBC Services' is hierdoor klein. Van de waarden die inderdaad niet voorkomen weten we welke dat zijn en verwachten we ook een #N/B. Het probleem zit hem echt erin dat hij een deel (van rij 6980 tm 14664) altijd als #N/B geeft. Een heel aantal van de waarden uit die range is handmatig opgezocht en staat er netjes in. Zonder spaties, afronden, etc. Ik zoek echt naar het rare, in de formule opzich zit, voor zover wij hier weten, niets fout. | ||||
Deetch | maandag 3 december 2012 @ 12:06 | |||
Wat gebeurt er als je de spreadsheet opnieuw opbouwt vanuit een lege spreadsheet? Dus alle "kale" data (alles wat puur getal of tekst zou moeten zijn en geen resultaat van formules) kopieren en dan plakken speciaal als waarden en vervolgens de kolommen met formules opnieuw maken? | ||||
qu63 | maandag 3 december 2012 @ 12:31 | |||
Wat is er niet goed aan deze VBA-code?
[ Bericht 0% gewijzigd door qu63 op 03-12-2012 12:52:07 ] | ||||
marcb1974 | maandag 3 december 2012 @ 12:46 | |||
Ik ga het eens proberen | ||||
marcb1974 | maandag 3 december 2012 @ 14:02 | |||
Vrees dat het teveel is voor de pc en het netwerk. Blijf rare dingen zien. Nu doet 1 kolom het goed, de andere, met dezelfde formule, alleen een verwijzing naar een andere cel doet het maar voor de helft | ||||
Deetch | maandag 3 december 2012 @ 15:59 | |||
-dubbel- [ Bericht 50% gewijzigd door Deetch op 03-12-2012 16:29:26 ] | ||||
Deetch | maandag 3 december 2012 @ 16:29 | |||
syntax: range("IN1") betekent een cel adres range("IN1").value betekent de waarde van de cel met adres IN1 je code moet dus worden:
| ||||
qu63 | maandag 3 december 2012 @ 17:49 | |||
Dat stuk code werkt juist probleemloos op de manier zoals het in mijn post staat, het tweede deel doet t niet | ||||
DaFan | maandag 3 december 2012 @ 18:15 | |||
Waar roep je de sub aan dan? | ||||
qu63 | maandag 3 december 2012 @ 18:56 | |||
Die staat in ThisWorkbook, niet onder modules. Verder geen verwijzing naar die sub, dacht dat ie op dezelde manier zou werken als Workbook_BeforeSafe() | ||||
ralfie | maandag 3 december 2012 @ 19:24 | |||
Nee, je moet in je beforesafe zoiets doen
| ||||
DaFan | maandag 3 december 2012 @ 19:24 | |||
Nee natuurlijk niet, het is nu gewoon een macro. Die moet je wel aanroepen. | ||||
qu63 | maandag 3 december 2012 @ 19:45 | |||
Top, die werkt Nu alleen er nog voor zorgen dat ie Planning Afstuderen.xlsm én Planning Afstuderen - DATUM - TIJD.xlsm opslaat.. Die laatste dus in een ander mapje.. | ||||
qu63 | maandag 3 december 2012 @ 19:47 | |||
Waarom werkte Private Sub Workbook_BeforeSave() dan wel Deze werd nergens aanders aangeroepen.. | ||||
ralfie | maandag 3 december 2012 @ 19:51 | |||
bepaalde events in vba worden automatisch aangeroepen. Workbook_open wordt aangeroepen wanneer het object Workbook het 'open' event triggered. Je kunt niet zomaar subs toevoegen en verwachten dat excel/vba zomaar weet wanneer die het moet runnen. | ||||
qu63 | maandag 3 december 2012 @ 19:58 | |||
Ik vond die safe_file() code ergens en ging er van uit dat die op dezelfde manier werkte als Workbook_BeforeSafe() My bad | ||||
ralfie | maandag 3 december 2012 @ 20:00 | |||
bovenaan de code editor staan van die leuke dropdown menuutjes die je altijd per ongeluk indrukt, maar die eigenlijk WEL handig zijn als je een event nodig hebt. | ||||
DaFan | maandag 3 december 2012 @ 20:18 | |||
Sven toch | ||||
qu63 | maandag 3 december 2012 @ 20:20 | |||
Sorry... Lui he Heb er nu onderstaande code van gemaakt:
Gewoon jat/knip/plakwerk, maar ik snap de code wel | ||||
marcb1974 | woensdag 5 december 2012 @ 14:22 | |||
Ik wil de functie =lengte() gebruiken in een =als(). Dit lukt niet omdat excel dat blijkbaar niet kan. Weet iemand waarom dit is? Is dit een bekend probleem? | ||||
Deetch | woensdag 5 december 2012 @ 14:30 | |||
| ||||
marcb1974 | woensdag 5 december 2012 @ 14:39 | |||
Dat gaat dus mis. Met =lengte(cel) krijg ik keurig het aantal tekens in de cel. Zodra ik jouw formule gebruik is het antwoord altijd meer dan vier tekens, ongeacht het aantal tekens in in de cel. Lama, mijn haakje stond verkeerd | ||||
draadstalig | donderdag 6 december 2012 @ 10:49 | |||
ik heb de volgende gegevens: 1: 2: 5¤ 7¤ 10¤ 0¤ 8¤ 3¤ Nu wil ik indien in 2 een getal voorkomt (dus niet 0) 1 meenemen en in totaal optellen. Ik heb het al geprobeerd via sommen.als( maar dit is nog niet gelukt. Iemand? | ||||
qu63 | donderdag 6 december 2012 @ 11:19 | |||
In C1 de volgende formule: =ALS(B1<>0;1;"") en dan doortrekken naar beneden. Op deze manier komt er een '1' te staan in kolom C als kolom B geen 0 is. Onderaan kan je dan kolom C optellen met som() of kolom B optellen met sommen.als() | ||||
Deetch | donderdag 6 december 2012 @ 15:52 | |||
1 = A1:A20 2 = B1:B20 =SOMPRODUCT(--(B1:B20<>0);A1:A20) De functie kijkt of de waarde in B1 tm B20 niet 0 is en maakt er dan een 1 van als die voorwaarde klopt en een 0 als de voorwaarde niet klopt (lege cel of waarde = 0). Deze enen en nullen worden vermenigvuildigd met hert bijbehorende getal in kolom A en dan opgeteld. | ||||
draadstalig | donderdag 6 december 2012 @ 18:21 | |||
WWerkt! Thnx | ||||
draadstalig | donderdag 6 december 2012 @ 18:24 | |||
En weer een nieuwe!! Cel 1 (huidig): 35¤ Cel 2 (nieuw): 47¤ Cel 3(alternatief): 0¤ Nu wil ik indien cel 1 en 2 voorkomen de laagste hebben ten opzichte van de 3 cellen (1 komt altijd voor). Maar als cel 3 bv (zoals hierboven) een 0 bevat pakt hij de deze als laagste, terwijl hij dan eigenlijk naar 1 moet schieten. Hoe regel ik deze? ik zat al met =als en min formule erin, maar deze pakt hij toch weer op 0. Cel 2 en 3 bevatten dus gegevens. Indien één van deze lager is dan 1 moet hij die cel geven (2 of 3) geven. Als ze hoger zijn moet hij cel 1 geven en als er een 0 in voorkomt moet hij die overslaan.? laat de grijze massa maar kraken | ||||
ralfie | donderdag 6 december 2012 @ 18:43 | |||
als A1:C1 je cellen zijn
| ||||
draadstalig | donderdag 6 december 2012 @ 19:16 | |||
Nee dat is niet juist. Hij moet dus 2 en 3 vergelijken met 1 en indien één van deze lager is kwa aantal (in euro's) dan moet hij deze pakken. Echter rekent hij ook de 0 als getal en eigenlijk moet hij 0 dus overslaan. Ik had hem zo: =ALS(I4+S4=0;F4;MIN(I4;S4)) I4 = 2 S4 = 3 F4 = 1 Dus 2+3 = 0 geef me dan 1 (huidig), zo niet geef me dan minimale van 2 of 3 Bij die laatste moet hij 0 dus overslaan. | ||||
DaFan | donderdag 6 december 2012 @ 19:21 | |||
Nvm. Wat moet je output zijn dan in je eerste voorbeeld want je praat wel een beetje vaag. Ralfie zijn oplossing had ik ook gezegd. | ||||
draadstalig | donderdag 6 december 2012 @ 19:45 | |||
Excuus Sorry ik lees het net terug en ben het veels te moeilijk aan het maken. Ik heb 3 cellen die ik met elkaar wil vergelijken en daarbij de laagste pak dus bv cel1: 4 cel2: 0 cel3: 5 Uitkomstis 4 (cel1). probleem is alleen dat alle sommen niet naast elkaar staan (zoals hierboven) en dus het stukje a1:c1 lukt niet. Excuus voor de verwarrende taal | ||||
DaFan | donderdag 6 december 2012 @ 19:57 | |||
De formule van Ralfie klopt dan wel gewoon hoor, denk eraan dat je bevestigt met Ctrl-Shift-Enter. | ||||
einzeinz | donderdag 6 december 2012 @ 23:34 | |||
Ik heb nu nog steeds problemen met het volgende <25 17 7% 25-30 45 17% 30-35 49 19% 35-40 34 13% 40-45 35 14% 45-50 30 12% >50 48 19% Ik wil dat de gegevens in een staafgrafiek worden weergegeven startend bij de -25-jarigen. Dat lukt me dus niet! Ik moet de taak maandag indienen. | ||||
qu63 | vrijdag 7 december 2012 @ 00:13 | |||
Kolom 1 is leeftijden (horizontale as), de andere 2 zijn absolute en relatieve aantallen? | ||||
einzeinz | vrijdag 7 december 2012 @ 00:24 | |||
Kolom 1 zijn inderdaad leeftijden, kolom 2 zijn het aantal deelnemers en kolom 3 is het percentage. Nu wil ik uiteraard ook de gegevens logisch ordenen en daar loopt het mis. | ||||
qu63 | vrijdag 7 december 2012 @ 00:48 | |||
Even snel in elkaar gezet: klik | ||||
einzeinz | vrijdag 7 december 2012 @ 00:55 | |||
Ik zat persoonlijk meer te denken aan zoiets. In een staafdiagram dus | ||||
qu63 | vrijdag 7 december 2012 @ 01:09 | |||
Je wil de kleur van de staafdiagram af laten hangen van het percentage? | ||||
einzeinz | vrijdag 7 december 2012 @ 01:20 | |||
Nee, ik wil gewoon rangschikken per leeftijd zoals in het voorbeeld. Eigenlijk gewoon hetzelfde resultaat bekomen als het voorbeeld, maar bij mij verspringt het telkens. | ||||
Deetch | vrijdag 7 december 2012 @ 08:44 | |||
Bij mij gaat het gewoon goed. Gewoon een bar-chart maken zodat je liggende balken krijgt. Vervolgens de Y-as opmaken in omgekeerde volgorde (reverse order) | ||||
draadstalig | vrijdag 7 december 2012 @ 10:03 | |||
Nee klopt niet. De cellen staan niet achter elkaar maar er zit er steeds één tussen dus : gebruiken kan niet. De volgende cellen moeten dus vergeleken worden, waarbij 0 wordt uitgesloten: F4 I4 en S4 Hoe werkt dit dan? | ||||
Deetch | vrijdag 7 december 2012 @ 11:33 | |||
Dat lijkt niet te kunnen, ook niet als je van de cellen een named range maakt. Hieronder een functie die hetzelfde doet maar dan zonder de ctrl+shift+enter. =SMALL(A1:C1,COUNTIF(A1:C1,0)+1) =KLEINSTE(A1:c1;AANTAL.ALS(A1:c1;0)+1) | ||||
Landgeld | dinsdag 11 december 2012 @ 19:31 | |||
Ik heb een Excel vraag met betrekking tot Voorwaardelijke opmaak Ik wil dat de cel automatisch een waarde ingeeft (1 - 2 - 3) als een andere waarde wordt ingegeven. Voorbeeld: getal tussen 0-10 -> automatisch (in andere cel) het cijfer 1 tevoorschijn getal tussen 10-20 -> automatisch (in andere cel) het cijfer 2 tevoorschijn getal tussen 20-30 -> automatisch (in andere cel) het cijfer 3 tevoorschijn. Met kleuren weet ik hoe ik dit moet doen, met cijfers kom ik er niet uit. Weet ongeveer waar ik moet zoeken maar weet niet hoe ik dit kan ingeven. Met kleuren lukt het wel. Heb Excel 2010. | ||||
DaFan | dinsdag 11 december 2012 @ 19:39 | |||
Dat is niet voorwaardelijke opmaak. Kijk naar de ALS() functie. | ||||
Landgeld | dinsdag 11 december 2012 @ 21:00 | |||
Oke, eens kijken. Kan ik die raadplegen via de functie module? | ||||
DaFan | dinsdag 11 december 2012 @ 23:10 | |||
Jawel. En via de help. En anders hier maar kan krijg je het voorgekauwd en leer je niks | ||||
DarkSavior | woensdag 12 december 2012 @ 12:25 | |||
Ik download wel eens CSV files vanuit mijn bank. Deze gegevens zijn dan gescheiden met een komma, punt of puntkomma teken. Hoe kan ik deze gegevens geautomatiseerd in een tabel stoppen per kolom? | ||||
qu63 | woensdag 12 december 2012 @ 12:41 | |||
Je zou een import-macro kunnen maken. Nieuw Excel-document openen, macro starten en dan importeren. Na afloop macro stoppen en aanpassen zodat ie de cellen invoegt na de laatste rij. | ||||
DarkSavior | woensdag 12 december 2012 @ 13:02 | |||
Nu probeer ik kolommen weer om te zetten naar tekst met een komma als scheidingsteken en dan op te slaan als .csv file, maar ik kan de functie niet vinden. Iemand een idee? | ||||
qu63 | woensdag 12 december 2012 @ 13:09 | |||
Opslaan als? | ||||
DarkSavior | woensdag 12 december 2012 @ 13:11 | |||
Het bestand zelf is een .xlsx bestand, als ik dan vervolgens opslaan als... .csv dan krijg ik een waarschuwing. De file bevat mogelijk functies die niet compatibel zijn. | ||||
qu63 | woensdag 12 december 2012 @ 13:19 | |||
Ja, .csv's kunnen niet omgaan met functies, die hebben alleen data. | ||||
Deetch | woensdag 12 december 2012 @ 13:59 | |||
Als het een echte csv is dan zijn de gegevens met een , gescheiden. Als je in je windows als lijstscheidingsteken ook een , hebt dan kun je het bestand direct openen met excel. In andere gevallen moet je idd een macro opnemen omdat je zelf het lijstscheidingteken dan moet aangeven. | ||||
Deetch | woensdag 12 december 2012 @ 14:00 | |||
en ook maar 1 tabblad | ||||
Twentsche_Ros | woensdag 12 december 2012 @ 15:43 | |||
Antwoord aan Landgeld… (mijn quotefunctie werkt niet) Ik heb een Excel vraag met betrekking tot Voorwaardelijke opmaak Ik wil dat de cel automatisch een waarde ingeeft (1 - 2 - 3) als een andere waarde wordt ingegeven. Voorbeeld: getal tussen 0-10 -> automatisch (in andere cel) het cijfer 1 tevoorschijn getal tussen 10-20 -> automatisch (in andere cel) het cijfer 2 tevoorschijn getal tussen 20-30 -> automatisch (in andere cel) het cijfer 3 tevoorschijn. Met kleuren weet ik hoe ik dit moet doen, met cijfers kom ik er niet uit. Weet ongeveer waar ik moet zoeken maar weet niet hoe ik dit kan ingeven. Met kleuren lukt het wel. Heb Excel 2010. Hier het antwoord: Stel je 1e getal zit in vak a1 Zet dan in vak b1 =AFRONDEN.NAAR.BOVEN(+A1/10;0) | ||||
elkravo | donderdag 13 december 2012 @ 18:42 | |||
Ik hoop dat iemand mij kan helpen dit makkelijk op te lossen - het zijn eigenlijk 2 "problemen". Ik heb een map met allemaal dezelfde soort Excel bestanden - een stuk of 160. Alle bestanden hebben de volgende bestandsnaam: Boodschappen 2011 winkel 001.xls Boodschappen 2011 winkel 002.xls Boodschappen 2011 winkel 008.xls etc. etc. 1) Bij alle bestandsnamen zou 2011 willen vervangen door 2012. Hoe kan ik dit makkelijk doen? Ik kan niets anders bedenken dan alles handmatig hernoemen, kan dit simpeler? 2011+spatie verwijderen als optie mag ook als dat makkelijker is. 2) Moeilijker probleem. - van al deze excelbestanden is het eerste blad beveiligd (alleen bepaalde cellen kunnen ingevuld worden daardoor). Op dit eerste blad staat in een door beveiliging geblokkeerde cel de datum 31-12-2011. Deze moet ik dus in alle 160 excel sheets vervangen worden door 31-12-2012. Per excelsheet moet ik dan deze openen - sheet unprotecten - wachtwoord intypen - datum wijzigen - sheet protecten - wachtwoord ingeven - wachtwoord nog een keer ingeven - opslaan. Ik heb een macro geprobeerd via een personal.xls - maar de macro onthoudt denk ik geen wachtwoorden; hij stopt bij de eerst wachtwoord opgave. Het wachtwoord is trouwens voor alle sheets hetzelfde. Kan ik deze actie efficienter doen, zonder dit 160 keer - blad voor blad te moeten doen? Alvast bedankt voor de tips. | ||||
Landgeld | donderdag 13 december 2012 @ 21:17 | |||
Ik kom er niet uit met de IF (ALS) functie.. Dit wil ik bereiken in 1 cel (Dus met 1 formule): getal tussen 0-10 -> automatisch (in andere cel) het cijfer 1 tevoorschijn getal tussen 10-20 -> automatisch (in andere cel) het cijfer 2 tevoorschijn getal tussen 20-30 -> automatisch (in andere cel) het cijfer 3 tevoorschijn. Heb net allerlei tuturials gelezen en 1 formule lukt, namelijk: =IF(A1 <10, 1) Het combineren van de bovengenoemde voorbeelden lukt echter niet en weigert Excel 2010 (foutmelding). Iemand enig idee hoe ik deze IF formulie werkend kan krijgen in mijn bovengenoemde voorbeeld? Ik werk met IF (Engels) en in Excel 2010. | ||||
Janneke141 | donderdag 13 december 2012 @ 21:22 | |||
Je syntax klopt niet helemaal: de door jou genoemde formule hoort er te staan als =IF(A1<10;1) dus zonder spaties en met een ; in plaats van , tussen de argumenten. Om een als-clausule te maken waarbij de waarde tussen twee getallen moet zitten gebruik je AND: =IF(AND(A1>10;A1<20);2) Bedenk je zelf even wat er moet gebeuren als A1=10? | ||||
jakees | vrijdag 14 december 2012 @ 01:21 | |||
Ik heb een lijst met veel waarden in 2 kolommen. In kolom A een id en in kolom B de waarde. Een voorbeeld: ID Naam 1 Jan 1 Piet 1 Klaas 1 Henk 2 Wim 2 Leo 3 Sjors 4 Dirk Wat ik wil is naast de ID's de waarden in 1 cel zetten dus C D 1 Jan, Piet, Klaas, Henk 2 Wim, Leo 3 Sjors 4 Dirk Transponeren zeg maar dan met heel veel unieke waarden in kolom A en B. Verticaal zoeken is niet te doen omdat bij de ene ID wel 20 waarden zijn dan krijg je een if met 20 then / else. Draaitabellen is volgens mij ook geen optie. Heeft iemand een idee? Thx alvast! | ||||
jakees | vrijdag 14 december 2012 @ 01:46 | |||
Ik heb een oplossing die niet heel super is maar wel werkt. In de kolom C heb ik nu gezet als formule: =ALS(B2<>B1;A2;TEKST.SAMENVOEGEN(B1;A2)) ==> hiermee bouw ik dan het samenvoegen op net zo lang tot een nieuwe sleutel komt. Daarnaast heb ik de volgende formule aangemaakt: =ALS(B2<>B3;"ja";"nee") Met die formule selecteer ik dan de laatste samenvoeging en dit geheel heb ik gekopieerd naar een ander blad en voila. Niet erg onderhoudsvriendelijk dus als jullie iets beters weten graag! | ||||
Deetch | vrijdag 14 december 2012 @ 08:17 | |||
Die puntcomma en komma is geheel afhankelijk van je windows instellingen en wat je daar als lijstscheidingsteken (list-seperator) gebruikt. Over het algemeen is het zo dat een Nederlands ingestelde computer ALS gebruik icm ; en een Engels/Amerikaans ingestelde computer IF icm met , . Combinaties komen ook voor maar dat is imho verwarrend. Sowieso moet degene die ooit heeft bedacht dat de functies vertaald moesten worden een nekschot krijgen. Kleine extra uitleg over IF =IF(A1<10,1) geeft een 1 als de waarde kleiner dan 10 is. Als de waarde groter is (of gelijk aan) 10 dan krijg je FALSE te zien. Als je achter de 1 een komma zet kun je daar een uitdrukking neer zetten die getoond moet worden als A1 groter is dan 10. =IF(A1<10,1,"groter dan 10") Je kunt meerdere IFs ook combineren door eerste te checken op 1 voorwaarde en als die voorwaarde niet waar is kun je op de plek van de "groter dan 10" hierboven een tweede IF neerzetten, dit kan tot 7 niveaus. Met het < of > teken sla je de grenswaarden nog over. <10 betekent exclusief 10. Dus je moet de grenzen ook ergens meenemen. Ik ga er even vanuit dat er een 1 moet staan als de waarde 10 of kleiner is en een 2 als de waarde 20 of kleiner is maar groter dan 10. Samenvattend zou dit de formule moeten zijn: =IF(A1<=10,1,IF(A1<=20,2,3)) • als A1 kleiner of gelijk aan 10 dan 1 • als A1 niet kleiner of gelijk aan 10 dan check of A1 kleiner of gelijk aan 20 en dan 2 • alle andere gevallen 3 | ||||
Deetch | vrijdag 14 december 2012 @ 08:58 | |||
Je kunt een eigen functie maken. Kopieer en plak onder staande code in een visual basic module van je spreadsheet. Vervolgens kun je de formule gebruiken net als een normale formule. =ConcatIf(A1,B1:B20,-1) Deze kijkt of A1 voorkomt in de cel links (daar is de -1) voor van B1:B20 en als dat zo is wordt de tekst erachtergevoegd (met een , er tussen)
| ||||
qu63 | zaterdag 15 december 2012 @ 01:18 | |||
Wat is nou de makkelijkste en snelste manier om cellen op te schonen van rare tekens en spaties voor en na? Code die ik nu heb loopt al een half uur over 2 kolommen met 1986 regels.. Enige eis is dat de formules die ik nu al heb blijven staan, dat was ik bij m'n eerste code even vergeten.. *slik* | ||||
snabbi | zaterdag 15 december 2012 @ 01:42 | |||
1) zorg dat de calculatie uit staat wanneer je je cellen muteert 2) gebruik een reguliere expressie om je replace uit te voeren | ||||
qu63 | zaterdag 15 december 2012 @ 01:48 | |||
calculatie was ik vergeten ja.. Ik had nu deze code draaien:
-edit- Onderstaande code deed de hele sheet (50 kolommen van 1986 rijden) binnen 1 minuut:
[ Bericht 29% gewijzigd door qu63 op 15-12-2012 02:07:03 ] | ||||
snabbi | zaterdag 15 december 2012 @ 23:42 | |||
Gebruik For Each R In Selection.SpecialCells(xlTextValues) Hiermee selecteer je per definitie alleen de cellen met een waarde/zonder formule en hoeft je code dus niet de if te bevatten. | ||||
Deetch | maandag 17 december 2012 @ 08:50 | |||
Handig zeg die HasFormula, gaat in het "lijstje" | ||||
qu63 | maandag 17 december 2012 @ 12:09 | |||
Die van snabbi is alleen handiger, scheelt weer een if-loop | ||||
qu63 | maandag 17 december 2012 @ 13:59 | |||
Hmm.. Het is niet mogelijk om met vergelijken() de 2e, 3e, etc hit te laten zien, toch? Iemand een idee hoe ik dat wel kan doen? De lijst waarin gezocht moet worden kan niet aangepast worden, het rijnummer wat er uit komt moet namelijk gebruikt worden om gegevens uit een andere kolom op te zoeken.. -edit- Heb al iets anders gevonden:
Deze geeft nu het rijnummer weer van het bedrijf in C2 (en verder) uit het andere bestand [ Bericht 55% gewijzigd door qu63 op 17-12-2012 14:42:45 ] | ||||
Deetch | maandag 17 december 2012 @ 14:43 | |||
Met een hulpkolom helmaal vooraan (ivm VLOOKUP) zou je een heel eind moeten komen. Hierin zet je de volgende formule: =(B1)&" #" &COUNTIF($B$1:B1,B1) De tweede keer dat de tekst "banaan" voorkomt in kolom B komt er in de hulpkolom "banaan #2" te staan. Op die manier zou je ook de vijfde keer banaan kunnen door een vlookup te doen in de hulp kolom In D2 zet je de zoeknaam In D3 de hoeveelste je wilt vinden (1,2 3, etc Om dan de corresponderende waarde uit kolom C weer te geven: In D4:=vlookup(D2 & " #" & D3,a1:z100,3) | ||||
Deetch | maandag 17 december 2012 @ 14:44 | |||
en vol, next DIG / [Excel] Het grote Excel vragen topic #35 |