Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 9 van 9

Onderwerp: Somproduct formule verbeteren

  1. #1
    Junior Member
    Geregistreerd
    14 februari 2020
    Vraag is opgelost

    Somproduct formule verbeteren

    Goedemiddag,

    Wie kan mij helpen?

    Zie voorbeeld in de bijlage.

    Ik zoek de waarde in kolom C waarbij de volgende voorwaarden gelden:

    Kolom B Bnr moet gelijk zijn aan N9 489
    Kolom F Datumtijd moet de grootste waarde zijn die kleiner is dan N10 202014021128


    Let op: kolom F is tekst, ik heb niet de mogelijkheid om in deze tabel wijzigingen aan te brengen.


    Als uitkomst van de formule wil ik dus graag 51200 zien verschijnen.

    ik heb deze formule, echter die doet niet wat ik wil.
    SOMPRODUCT(GROOTSTE((Tabel_Query_van_Productie[BNr_]=N9)*(Tabel_Query_van_Productie[DatumtijdCode als tekst]<N10)*(Tabel_Query_van_Productie[BVolgnr_]);1))


    Het mag ook met VBA opgelost worden, misschien is dit zelfs wel beter.

    Alvast bedankt voor het meedenken.

    Groeten Henk
    Bijgevoegde bestanden Bijgevoegde bestanden

  2. #2
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    Volgens mij is de uitkomst niet 51200 maar 51330 als ik jouw beschrijving volg (of moet het jaartal (?) 2020/2019 er ook af?)
    Gr. Eric

  3. #3
    Junior Member
    Geregistreerd
    14 februari 2020
    Sorry, er staat inderdaad een fout in het voorbeeld.

    Bijlage is bij deze aangepast.
    Bijgevoegde bestanden Bijgevoegde bestanden

  4. #4
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    zie (lange) formule in L22
    Bijgevoegde bestanden Bijgevoegde bestanden
    Gr. Eric

  5. #5
    Junior Member
    Geregistreerd
    14 februari 2020
    Beste Eric,

    Deze formule doet wat hij moet doen. Super bedankt daarvoor alvast.
    Waar ik nu echter tegenaan loop is dat ik deze formule via VBA in de betreffende cellen wil zetten.

    PHP Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Sub Macro8()
    '
    ' Macro8 Macro
    '
     
    Range("L23").Select
        Selection.FormulaArray = _
            "=INDEX(Tabel_Query_van_Productie[BVolgnr_],MATCH(TEXT(MAX(IF(IF(Tabel_Query_van_Productie[BNr_]=R9C14,--Tabel_Query_van_Productie[DatumtijdCode als tekst],"""")<R10C14,--Tabel_Query_van_Productie[DatumtijdCode als tekst],0)),""#""),Tabel_Query_van_Productie[DatumtijdCode als tekst],0))"
    End Sub

    Zelfs als ik dit met de macro-recorder opneem en onmiddelijk weer afspeel dan krijg ik deze foutmelding

    Klik op afbeelding voor grotere versie

Naam:  2020-02-14 150927.jpg
Bekeken: 6
Grootte:  14,6 KB

    Enig idee hoe dat komt?

  6. #6
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    Ja, de formuletekst is te lang (max 255 karakters)
    Kort de naam van kolom F en/of de naam van de Tabel aan

    Of toch gewoon een VBA oplossing

    met loopje in een macrootje, (een functie met argumenten kan ook/lijkt me netter):
    Code:
    Sub stt()
    YourN09 = Blad1.Range("N9")
    YourN10 = Blad1.Range("N10")
        arr = Range("Tabel_Query_van_Productie").Value
            For i = LBound(arr) To UBound(arr)
                If arr(i, 2) = YourN09 Then
                    If YourCode < arr(i, 6) Then
                        YourCode = arr(i, 6)
                        YourOutCome = arr(i, 3)
                    End If
             End If
        Next i
    Blad1.Range("N11") = YourOutCome
    End Sub
    Laatst aangepast door E v R : 14 februari 2020 om 15:35 Reden: typo's
    Gr. Eric

  7. #7
    Giga Senior
    Verenigingslid

    Geregistreerd
    19 april 2007
    Locatie
    den haag
    Afstand tot server
    ±111 km
    met loopje in een macrootje, (een functie met argumenten kan ook/lijkt me netter):
    Bijgevoegde bestanden Bijgevoegde bestanden
    groeten Sylvester Ponten

    ik gebruik Ms Windows 10 en excel 2010

  8. #8
    Giga Honourable Senior Member
    Verenigingslid
    snb's avatar
    Geregistreerd
    12 juni 2008
    Hoezo lange formule ?

    Array formule:

    PHP Code:
    1
    
    =INDEX(C2:C26;MATCH(N6&LARGE((B2:B26=N6)*(F2:F26);2);B2:B26&F2:F26;0))

    Met een intelligente tabel hoef je een formule slechts 1 keer in te voeren.
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  9. #9
    Junior Member
    Geregistreerd
    14 februari 2020
    Probleem is opgelost, allen hartelijk bedankt voor het meedenken.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren