• 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.

Als cel vol is + als andere cell vol is dan weer andere cel invullen

Status
Niet open voor verdere reacties.

gast0510

Gebruiker
Lid geworden
8 mei 2015
Berichten
289
Hoi allemaal,

Ik heb dit bestandje dat verschillende data bevat Bekijk bijlage 282957 en ik wil graag wat statistieken hiervan maken het gaat om een paar dingetjes maar ik denk dat ik ze allemaal kan gebruiken met 2 formules, alleen die formule gaat mij iets te ver dus vandaar dat ik jullie hulp nodig heb hierbij.
De bedoel is als volgt.

- eerst zoeken welke rijen gemarkeerd staan als shipped in kolom N (item-status) en dan alleen deze rijen selecteren om verder te zoeken of die rijen ook het volgende bevatten:
- kolom W (item-promotion-discount) daar moet iets zijn ingevuld als er niets staat dan deze rijen niet meenemen als er wel iets staat dan het volgende doen.
- kolom O (quantity) bij elkaar optellen van al die rijen die daaraan voldoen.

Dit moet dan 1 formule zijn en de 2e moet dan hetzelfde als hierboven doen maar dan moet kolom O (quantity) x kolom Q (item-price) worden gedaan en dan al die rijen bij elkaar optellen.

Graag zou ik willen dat deze 2 formules in een ander excel bestandje staan en dat ze gewoon die data importeren van het andere bestandje zonder dat excel steeds WAARDE aangeeft of vraagt om het bij te werken en dan WAARDE aangeeft. Dus dat je het bestandje met alle data niet hoeft te openen om gelezen te worden. Als dit mogelijk is?
 
Wat ik ook probeer in te vullen met sommen.als hij blijft het niet doen eerst te weinig argumenten ofzo en dan steeds 0 als waarde.
 
Voor het aantal
Code:
=SOMPRODUCT((September!$N$2:$N$157="Shipped")*(September!$W$2:$W$157<>"")*(September!$O$2:$O$157))
Aantal * prijs
Code:
=SOMPRODUCT((September!$N$2:$N$157="Shipped")*(September!$W$2:$W$157<>"")*(September!$O$2:$O$157)*(September!$Q$2:$Q$157))
 
Dank je wel.

Die 1e doet het prima alleen de 2e geeft WAARDE aan.

Is het ook mogelijk om het volgende de toen met deze formules?
In kolom Q staan dus 3 soorten bedragen en ik zou heel graag snel willen zien wat de aantallen zijn voor die 3 soorten bedragen. En dan bedoel ik dus niet dat ik eerst handmatig moet kijken wat voor bedragen er in staan en handmatig in moet voeren maar dat er 1 formule is die zoekt naar welke soorten waardes er dus in Q staan in dit voorbeeld zijn het 3 soorten en dan moet daar achter komen te staan hoeveel het er zijn van waarde 1 hoeveel van waarde 2 en ook bij 3.
 
Dat de 2e #WAARDE aangeeft zal komen doordat er tekst in kolom Q staat. Plaats een voorbeeldje met de gewenste uitkomst.
 
Ok zo moet het eruit zien uiteindelijk.

September:

Totaal verkocht deze maand: 151 ($5596.49)
Totaal promo prijs verkocht (de prijs, niet hoeveel er is betaald): 108 ($3987.49)

Waarvan organic sales (zonder korting): 108 ($1368.57)
En promo's (korting >betaald): 43 ($204.43)
Cancelled: 5
Aantal returns deze maand (retour): 0 ($0)

(hier moet worden gekeken naar prijzen en aantallen daarvan, er moet dus worden gezocht naar wat voor soort prijzen de producten zijn verkocht en dan het aantal erachter en dan ook voor promo's)

Promo's:
Normal price Discount paid units received
$39.99 $39.99 $0 51 $0
$39.99 $36.00 $3.99 44 $175.56
$32.99 $28.00 $4.99 13 $64.87

Organic sales:
$39.99 $0 $39.99 7 $279.93
$32.99 $0 $32.99 27 $890.73
$21.99 $0 $21.99 9 $197.91

Totaal: 151 $1609.00

Dit laatste moet echt zoeken naar alle prijzen en als er bijvoorbeeld iets voor $6.00 te koop stond dan moet die die automatisch daaronder plaatsen en alles daarnaast ook automatisch + berekenen.
 
Laatst bewerkt:
Laat onderstaande code eens lopen.
Het resultaat komt vanaf cel AG1

kolom AG = aantallen van item_price.
kolom AH = item_price.
kolom AI = opsomming van item_price.

Code:
Sub hsv()
Dim sn, i As Long, j As Long, Odic As Object
sn = Cells(1).CurrentRegion
With CreateObject("scripting.dictionary")
 Set Odic = CreateObject("scripting.dictionary")
 For i = 2 To UBound(sn)
    If sn(i, 14) = "Shipped" And sn(i, 15) > 0 And sn(i, 23) <> "" Then
      Odic.Item(sn(i, 17)) = Odic.Item(sn(i, 17)) + 1
          .Item(sn(i, 17)) = .Item(sn(i, 17)) + (sn(i, 15) * Replace(sn(i, 17), ".", ","))
    End If
  Next i
 Cells(1, UBound(sn, 2) + 2).Resize(.Count, 3) = Application.Transpose(Array(Odic.items, .keys, .items))
End With
End Sub
 
Dank je wel HSV,

Wow, prachtig die macro's.
het is de eerste keer dat ik hiermee werk.

Dit is het resultaat:
95 39,99 3799,05
13 32,99 428,87

Er is alleen geen rekening gehouden met de promotie/kortingen en daarom is de 1e regel een mix van 2 uitkomsten.
Zou je voor mij die code willen aanpassen zodat al die uitkomsten erin staan zoals ik in mijn laatste berichtje had opgeschreven? :thumb:
 
Leg het eens uit in kolommen of cellen wat er moet gebeuren ipv promo's.
Begrijp niet veel van de vraag.
 
Wat er precies allemaal moet gebeuren weet ik niet.
In ieder geval zijn de aantallen nu gesplitst.
Code:
Sub hsv()
Dim sn, i As Long, j As Long, Odic As Object, key
sn = Sheets("september").Cells(1).CurrentRegion
With CreateObject("scripting.dictionary")
 Set Odic = CreateObject("scripting.dictionary")
 For i = 2 To UBound(sn)
    If sn(i, 14) = "Shipped" And sn(i, 15) > 0 And sn(i, 17) <> "" And sn(i, 23) <> "" Then
      Odic.Item(sn(i, 17) & "_" & sn(i, 23)) = Odic.Item(sn(i, 17) & "_" & sn(i, 23)) + 1
          .Item(sn(i, 17) & "_" & sn(i, 23)) = .Item(sn(i, 17) & "_" & sn(i, 23)) + (sn(i, 15) * Replace(sn(i, 17), ".", ","))
    End If
 Next i
 ReDim arr(.Count, 2)
      For j = 0 To .Count - 1
         arr(j, 0) = Odic.Item(.keys()(j))
         arr(j, 1) = Split(.keys()(j), "_")(0)
         arr(j, 2) = .Item(.keys()(j))
      Next j
  sheets("blad1").Cells(1,17).Resize(.Count, 3) = arr
End With
End Sub
 
Kun je mij uitleggen wat je dan niet begrijpt in mijn uitleg in het excel werkblad.
 
Hoe jij aan de aantallen komt.

De gele cellen komen voort uit Vba code (prima zover).
De groene cellen hebben nog een aanvulling nodig (zijn formules, misschien later omzetten in Vba).
Daarbij zou ik verwachten dat jij uitleg zou geven om welke kolommen het gaat en eventueel de rijen te benoemen om aan de getallen te komen (bv. 27*32,99=890,73).

Bekijk het maar eens.
 

Bijlagen

  • September promo.xlsb
    36,6 KB · Weergaven: 16
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan