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

DBSOM probleem

Status
Niet open voor verdere reacties.
Cor:

De voorwaarden in het bestand zijn:

=OF(
AANTAL.ALS($A$2:$A$100;A2)=1
;
AANTAL.ALS($A$2:$A$100;A2)>1)

Volgens mij wil dat zeggen:
Of
1. hij komt 1x voor
2. hij komt meer dan 1x voor

en van de records die vallen onder de tweede voorwaarde rekent hij voor elke unieke waarde dan maar 1x het bijbehorende getal

Nope,

Hetzelfde resultaat :o

dwz 200 in Excel 2007 en 1400 in Excel 2003

Sterker nog, ik heb de 'hele' DB overgetypt maar het mag niet baten.
 
Laatst bewerkt:
OK, die forn=mule kun je in C2 zetten
Code:
=OF(AANTAL.ALS($A$2:$A$100;A2)=1;AANTAL.ALS($A$2:$A$100;A2)>1)
maar dat neemt niet weg dat je om de functie DB te willen gebruiken je een kolom in moet voegen met als databasenaam Criteria en daar dan ook het criterium moet laten bepalen.

De bovenstaande formule geeft alleen WAAR of ONWAAR terug, waar je op zich niet zo heel veel mee kunt om de gegevens in een DB functie verder uit te splitsen.
 
In bijlage de formule zoals hij werkt in Excel 2003 en 1400 als oplossing geeft. Rijen met hetzelfde in kolom A worden slechts 1 keer opgeteld.

Werkt dit om een of andere reden niet in Excel 2007, dan zou ik 2 dingen doen:

- een uitgebreide filter gebruiken om de unieke rijen te tonen (dubbelen verbergen)
- een SUBTOTAAL functie gebruiken om de som te geven van enkel de zichtbare rijen

Wigi
 
Werkt gewoon in 2007, is geen enkel probleem.
TS zoekt de oplossing in DBSOM maar dat is niet te realiseren met de opgegeven database, maar naar mijn idee is DBSOM ook niet geschikt voor het doel dat hem voor ogen staat. (mee eens Wim?)

Zoals ik al eerder heb aangegeven kun je in 2007 de functie SOMMEN.ALS gebruiken.
 
Werkt gewoon in 2007, is geen enkel probleem.

Eerder in deze topic was toch al gemeld dat HETZELFDE bestand wel correct was als geopend in 2003, en fout als het geopend werd in 2007? Of vergis ik mij nu? (Ik zou verwachten dat het in beide versies werkt, maar dat is dus blijkbaar niet het geval. Of toch?)

TS zoekt de oplossing in DBSOM maar dat is niet te realiseren met de opgegeven database, maar naar mijn idee is DBSOM ook niet geschikt voor het doel dat hem voor ogen staat. (mee eens Wim?)

Neen, DBSOM zou hier geschikt voor moeten zijn, anders had ik het in versie 2003 ook niet aan de praat gekregen. Het kan uiteraard wel zijn dat Winterkoning nóg iets anders zoekt dan ik/wij hier :eek:

Wigi
 
Wim jij hebt een bestandje geplaatst waarin de uitkomst wordt gerealiseerd met de formule:
Code:
= SOMPRODUCT((A2:A7<>"")/AANTAL.ALS(A2:A7;A2:A7&"");B2:B7)
Dus heeft niks met DBSOM te maken, toch?

Wat in 2003 werkt dat werkt ook in 2007, daar kan geen misverstand over bestaan.
 
Wim jij hebt een bestandje geplaatst waarin de uitkomst wordt gerealiseerd met de formule:
Code:
= SOMPRODUCT((A2:A7<>"")/AANTAL.ALS(A2:A7;A2:A7&"");B2:B7)
Dus heeft niks met DBSOM te maken, toch?.

Excuses, het was precies zware nacht... :eek:

=AANTAL.ALS($A$2:A2;A2)=1

en

=DBSOM($A$1:$B$7;B1;$C$1:$C$2)

Dit zou volgens mij in beide versies moeten werken.

Wigi
 
Schiet mij maar in een doosie :mad:.

Inderdaad geeft jouw oplossing in 2007 (ook als ik het bestand heb opgeslagen als 2003 document) de waarde 200 terug. In 2003 krijg je inderdaad de juiste waarde, 1400 dus.

Hier snap ik niks van. De conclusie die we moeten trekken is waarschijnlijk dat het met de compatibiliteit tussen beide versies niet helemaal goed zit.:confused:
 
Op deze manier werkt het wel in 2007.

dbsom.jpg


Het antwoord op jouw laatste vraag is dat het klopt wat Dr. Theresa A Kraft zegt. Ik ben ook al eens eerder tegen dat probleem opgelopen. (Ik ben geen Dr hoor :))

't Is dat ik 2007 gekregen heb, ik zou het nooit gekocht hebben. Die ervaring had ik al na het draaien van de proefperiode voor Office 2007 die Microsoft geeft.

De conclusie die ik voor mezelf trek is dat ik gewoon weer 2003 op m'n werkcomputer zet en 2007 op m'n testcomputer. Daarvoor ben ik nu teveel ongerechtigheden in 2007 tegen gekomen.
 
Het is dus een structureel probleem... jammer. Het maken van een extra kolom zou zeer onpraktisch zijn dus daar begin ik liever niet aan.

Zal ik hem op opgelost zetten?
(We agree to (have errors with which we) disagree)
 
Winterkoning,
Volgens mij heb je niet aangegeven met welke versie jij werkt. De oplossing die Wigi heeft gegeven werkt, met gebruik van DBSOM, in 2003 wel. Gebruik je 2007 kijk dan nog even naar een van mijn vorige posten waarin ik heb aangegeven dat je in 2007 de functie SOMMEN.ALS kunt gebruiken om tot hetzlelfde resultaat te komen als met DB in 2003.
 
Ik heb niet expliciet genoemd waarmee ik werk (2007) maar het is wel zichtbaar in de afbeelding in een post van mij op de 1e pagina. Daarbij, als ik 2003 gebruikte had ik het probleem waarschijnlijk niet eens bemerkt.

Winterkoning,
Volgens mij heb je niet aangegeven met welke versie jij werkt. De oplossing die Wigi heeft gegeven werkt, met gebruik van DBSOM, in 2003 wel. Gebruik je 2007 kijk dan nog even naar een van mijn vorige posten waarin ik heb aangegeven dat je in 2007 de functie SOMMEN.ALS kunt gebruiken om tot hetzlelfde resultaat te komen als met DB in 2003.

Ik ken SOMMEN.ALS en ik heb je oplossing wel degelijk bekeken Cor maar dat is niet wat ik zoek denk ik, ook de uitkomst klopt niet met de uitkomst die ik zou willen. In eerste instantie was dat (SOMMEN.ALS, matrix SOM.ALS) ook de hoek waar ik in zocht.

De kwestie is niet dat elke unieke rij in totaal 1x gerekend moet worden maar dat de identieke gegevens in de duplicaten in totaal 1x gerekend mogen worden. Daarvoor gebruik ik dan een primaire sleutel uit een andere kolom waarvan ik weet dat dat het uitgangspunt moet zijn. Ik heb hiervoor een matrixformule proberen te maken (met succes na een uur of 8 zoeken) maar deze bleek zo traag dat ik er toch maar mee gestopt ben in die hoek te zoeken. Ik hoopte dat de DBSOM een oplossing zou zijn maar vooralsnog is deze dat niet (zonder enig gebruik te moeten maken van andere hulpmiddelen).

groet
 
Ik zou richting VBA gaan, hetzij een custom function, hetzij code die de berekening doet en het resultaat weergeeft.

Wigi
 
Ik zou richting VBA gaan, hetzij een custom function, hetzij code die de berekening doet en het resultaat weergeeft.

Wigi

Ok, er zijn dus nog andere oplossingen dan een draaitabel of een matrixformule. Nu ben daar (VBA) totaal niet mee bekend. Ja, een simpele macro maken kan ik wel maar formules bouwen en die iets laten berekenen niet. Ik zal eens rondzoeken hoe ik mezelf daar bekend mee kan maken.
Bedankt voor ieders hulp in ieder geval!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan