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

Meerdere specifieke waardes uit 1 cel optellen.

Status
Niet open voor verdere reacties.

JurgendB

Gebruiker
Lid geworden
8 jul 2019
Berichten
10
Hallo,

Allereerst mijn complimenten voor alle gebruikers van dit forum.
Ik ben nu al een tijdje aan het puzzelen met Excel en ben met hulp van jullie gekomen tot de huidige status van m'n uitdaging.
Mijn dank hier voor.
Nu zit ik alleen nog met een probleempje waar ik zelf niet uit kom.

Ik importeer een CSV bestand waarin in 1 cel de gegevens staan waarmee ik wil rekenen.
In kolom L wil ik alleen de waardes welke achter Gewicht (KG): staan bij elkaar optellen. Eventuele andere getallen niet.
De huidige status is dat dit wel lukt, echter het kan voorkomen dat Gewicht (KG): 2 keer in 1 cel kan voorkomen en daar loop ik vast.
Wie kan mij hier mee helpen?
 

Bijlagen

  • Voorbeeld_gewicht - A.xlsx
    63,6 KB · Weergaven: 34
Met een UDF
 

Bijlagen

  • Voorbeeld_gewicht - A(jp).xlsm
    74,8 KB · Weergaven: 37
Dit is precies wat ik wilde! Enorm bedankt.

Maar omdat ik zelf ook wat wil leren... Wat is een UDF en wat heb je precies gedaan?
 
Een UDF is een zelf gemaakte functie ( User Defined Function)
 
Kan je (een deel van) de CSV bijsluiten? volgens mij moet dit met de query opgelost worden, heb je geen VBA nodig.
 
Ga ik morgen proberen te maken. Ik moet daarvoor nog want klantgegevens wegpoetsen.

@JeanPaul28 Thanks. Ik zag wat je gemaakt had in de sheet, maar begrijpen doe ik dit (nog) niet.
 
Van het voorbeeldbestandje of de UDF?

Code:
Function VenA(r As Range) As Double
  x = Split(r, "):")
  If UBound(x) > 0 Then
    For j = 1 To UBound(x)
      a = a + Val(Trim(Split(x(j), ";")(0)))
    Next j
  End If
  VenA = a
End Function
 
Het voorbeeldbestandje uiteraard. Die UDF is gezien het gegeven dat de data al via PowerQuery wordt geimporteerd volstrekt overbodig, dat kan PQ veel eenvoudiger en is beter te volgen voor mensen zonder VBA kennis.
 
Code:
Function F_snb(c00)
    If InStr(c00, "(KG)") Then F_snb = Evaluate(Replace(Join(Filter(Split(c00, ";"), "(KG)"), "+"), "Gewicht (KG):" & Chr(9), ""))
End Function

of

Code:
Function F_snb(c00)
    If InStr(c00, "(KG)") Then F_snb = Evaluate(Join(Filter(Split(Join(Filter(Split(c00, " ;"), "(KG)"), Chr(9)), Chr(9)), ":", 0), "+"))
End Function


NB. de gegevens in cel L11 zijn niet consistent: soms " ;", soms ";"
 
Laatst bewerkt:
Ik heb een voorbeeld CSV gemaakt.
Hopelijk helpt dat iets.
 

Bijlagen

  • report_20190701 - kopie.csv
    816 bytes · Weergaven: 35
Wat een rommelige CSV. Hoe precies heb je deze gemaakt? Kan me voorstellen dat de echte er anders uitzag.
 
In aansluiting op de reactie van @jkpieterse, Dit is geen CSV bestand volgens de verschillende definities die er voor dit type bestanden te vinden is. Als het zo uit jullie systeem komt dan zou ik even met iemand om de tafel gaan zitten om er iets fatsoenlijks van te maken. Als je er zelf in hebt lopen 'knutselen' dan zal je het, denk ik, alleen met de verschillende geboden UDF's kunnen oplossen.
 
Het enige wat ik aan de CSV heb gedaan is het toevoegen van een aantal keer Gewicht (KG): 566356 en de namen, locaties en kentekens aangepast. In het bestand zitten komma's, punt komma's en dubbele punten. Deze CSV komt uit een boordcomputer welke op Android draait en deze informatie op een webportal publiceert. Dat gaat prima, maar nu heb ik een klant die graag met de gegevens zou willen rekenen. Hier is geen standaard rapport voor (zoals die er wel is voor bijvoorbeeld de kilometers en rijtijden) dus wilde ik die klant even uit de brand helpen door "even" iets in Excel te knutselen. Je wil toch iemand helpen. :)
 
Toch zijn beide csv's verschillend van struktuur want als ik je query omzet naar het nieuwe bestand krijg ik een foutmelding. Ik denk dat het hem in de aanhalingstekens zit
 
Ik zal er nog eens 1 maken en goed opletten of ik niets vermink.
 

Bijlagen

  • report_20190710_HM.csv
    1,3 KB · Weergaven: 27
Laatst bewerkt:
Probeer deze eens met je echte gegevens. Wel even in stap 1 van de query het pad en bestandsnaam goed zetten uiteraard
 

Bijlagen

  • Voorbeeld_gewicht - A(JKP).xlsx
    99,6 KB · Weergaven: 36
Werkt wel, maar telt niet op. Ik denk ook dat dit allemaal iets te complex wordt om even door een klant te laten doen. Ik ga kijken of ik uit alle antwoorden iets kan maken waardoor ik een sjabloon krijg waarin in de CSV steeds kan laten inlezen.


Bedankt voor de hulp allemaal.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan