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

Formule voor aangeven van relaties van getallen tussen kolommen..

Status
Niet open voor verdere reacties.

marcelbroumels

Gebruiker
Lid geworden
15 jul 2009
Berichten
41
---> Volgens mij een simpele formule, maar mij onduidelijk hoe ik deze effectief kan laten werken! Heb al wat geprobeerd zelf maar werkt niet helemaal goed... <---

Ik wil een relatie tussen getallen uit twee cellen aantonen aan de hand van een formule:

Als voorbeeld (zo heb ik 5 kolommen, met in totaal +/- 100 cijfer combinaties):
| A | B | C |
1 11 29
3 9 31
2 11 29

In dit voorbeeld wil ik dus aangeven dat van 1 naar 11 een 1 is (aangezien de relatie 1x voorkomt, van links naar rechts) De relatie van 11 naar 29 is 2 (aangezien deze 2x voorkomt). Dit wil ik zo tellen en overbrengen in een tabel die de relaties moet berekenen. Dus van kolom A naar B moet gemeten worden, van B naar C, etc.

(Ik heb een tabel gemaakt van 1 tot 100 op X-as + 1 tot 100 op Y-as en wil weten hoe vaak een 1 een 11 rechts van hem heeft staan, een 2 een 11 rechts heeft staan etc.)

(Zie uitgebreide uitleg en mijn poging zover in het bijgevoegd bestandje!)

Alvast bedankt!
 

Bijlagen

Laatst bewerkt:
Directe links kan ik nog volgen, maar........

Ok, toch bedankt voor het proberen, is ook vrij complex! Ik heb nog een extra uitleg toegevoegd aan het bestand, wellicht is het zo duidelijker wat ik probeer te bereiken!
 
Laatst bewerkt:
Ok, toch bedankt voor het proberen, is ook vrij complex!

Dit staat in je bestandje,
Ik hoop dat het duidelijk is.. Zo niet, graag even iets van je laten horen, ik hoop dat je me kunt helpen

maar met zo’n reactie als bovenstaand kan ik verder ook niks.
Volgens mij klopt directe links, of ook niet?
 
Het zou volgens mij zo kunnen. (zie bijlage).
Alleen de cellen in het groen zijn aangepast.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Dit staat in je bestandje,


maar met zo’n reactie als bovenstaand kan ik verder ook niks.
Volgens mij klopt directe links, of ook niet?

Sorry zie nu inderdaad pas dat je de directe hebt aangepast. Toch klopte het niet in vergelijking met toen ik het handmatig deed.
 
Laatst bewerkt:
Het zou volgens mij zo kunnen. (zie bijlage).
Alleen de cellen in het groen zijn aangepast.

Met vriendelijke groet,


Roncancio

Bedankt ziet er naar uit dat het zo inderdaad klopt! Ik probeer het nu verder door te slepen dat werkt niet, logisch aangezien kolom A maar tot 36 gaat.

Ik probeerde dus zelfde truc uit te halen van kolom B naar C in tweede blok en zo verder.. Ik heb de formule gekopieerd, en iedere waarde in formule 1 plaats verschoven naar rechts verschoven, maar ziet er naar uit dat dat niet werkt?

Van formule:
=SOMPRODUCT((Nummerreeksen!$B$3:$B$104=$A3)*(Nummerreeksen!$C$3:$C$104=B$2))

Naar:
=SOMPRODUCT((Nummerreeksen!$C$3:$C$104=$B3)*(Nummerreeksen!$D$3:$D$104=C$2))

Enig idee waarom niet!?

Bedankt!
 
Probeer eens in cel B3 van tabblad "directe relaties" de volgende formule, die kan je mijns inziens helemaal tot in BK99 doortrekken.

'=SUMPRODUCT((Nummerreeksen!$B$3:$B$104=$A3)*(Nummerreeksen!$C$3:$C$104=B$2)+($A3=Nummerreeksen!$C$3:$C$104)*(B$2=Nummerreeksen!$D$3:$D$104)+($A3=Nummerreeksen!$D$3:$D$104)*(B$2=Nummerreeksen!$E$3:$E$104)+($A3=Nummerreeksen!$E$3:$E$104)*(B$2=Nummerreeksen!$F$3:$F$104))
 
Probeer eens in cel B3 van tabblad "directe relaties" de volgende formule, die kan je mijns inziens helemaal tot in BK99 doortrekken.

'=SUMPRODUCT((Nummerreeksen!$B$3:$B$104=$A3)*(Nummerreeksen!$C$3:$C$104=B$2)+($A3=Nummerreeksen!$C$3:$C$104)*(B$2=Nummerreeksen!$D$3:$D$104)+($A3=Nummerreeksen!$D$3:$D$104)*(B$2=Nummerreeksen!$E$3:$E$104)+($A3=Nummerreeksen!$E$3:$E$104)*(B$2=Nummerreeksen!$F$3:$F$104))

Ja bijna!! In de eerste drie blokken klopt het! Alleen de laatste twee blokken, 82 en rijen er onder daar begint hij opeens dingen bij te tellen en weg te laten!?
 
Kun je enkele specifieke voorbeelden geven waar het misgaat? Een relatie die voorkomt in "nummerreeksen" en niet geteld wordt in "directe relaties"?
 
Kun je enkele specifieke voorbeelden geven waar het misgaat? Een relatie die voorkomt in "nummerreeksen" en niet geteld wordt in "directe relaties"?

82 - 92 geeft ie 11 aan en is 10 als ik zelf tel
87 - 92 geeft ie 8 aan en is 7 als ik zelf tel
87 - 97 geeft ie 6 aan en is 2 als ik zelf tel..

Heb je hier iets aan!? Let's hope so..
 
De relatie 82:92 tel ik in: (E10:F10) (E54:F54) (E57:F57) (E63:F63) (E67:F67) (E72:F72) (D73:E73) (E83:F83) (E89:F89) (E90:F90) (E92:F92), dus toch 11 keer?
De relatie 87:97 tel ik in: (D31:E31) (E32:F32) (D33:E33) (E39:F39) (D81:F81) (E100:F100) dus toch 6 keer?

87:92 zal ik later eens nakijken.
 
De relatie 82:92 tel ik in: (E10:F10) (E54:F54) (E57:F57) (E63:F63) (E67:F67) (E72:F72) (D73:E73) (E83:F83) (E89:F89) (E90:F90) (E92:F92), dus toch 11 keer?
De relatie 87:97 tel ik in: (D31:E31) (E32:F32) (D33:E33) (E39:F39) (D81:F81) (E100:F100) dus toch 6 keer?

87:92 zal ik later eens nakijken.

Jaaa stom stom, 2 kolommen natuurlijk samen sorry. Ja dan is het enkel die, ik zal eens kijken of ik consistente fout uit kan halen bij meerdere cijfers (door GOED te tellen ;) )

Thanks.
 
Jaaa stom stom, 2 kolommen natuurlijk samen sorry. Ja dan is het enkel die, ik zal eens kijken of ik consistente fout uit kan halen bij meerdere cijfers (door GOED te tellen ;) )

Thanks.

Beste WHER

Het klopt wel, heb alles nageteld en ook 72:92.. Helemaal top!

Zijn de indirecte links te moeilijk om te tellen? Dus Kolom A naar C, D, E of B naar D en E, waarbij eerste contact/relatie overgeslagen wordt?
 
Over die indirecte links heb ik nog niet echt nagedacht, maar het geeft de indruk niet eenvoudig te zijn.
 
Over die indirecte links heb ik nog niet echt nagedacht, maar het geeft de indruk niet eenvoudig te zijn.

Ok no worries, als dat te lastig wordt ga ik dat gedeelte anders wel handmatig uitwerken, heb ik in ieder geval nu juiste formule voor het uitwerken van de directe getallenreeksen!
 
In cel B3 van tabblad "indirecte relaties":

=SUMPRODUCT((Nummerreeksen!$B$3:$B$104=$A3)*(Nummerreeksen!$D$3:$D$104=B$2)+($A3=Nummerreeksen!$B$3:$B$104)*(B$2=Nummerreeksen!$E$3:$E$104)+($A3=Nummerreeksen!$B$3:$B$104)*(B$2=Nummerreeksen!$F$3:$F$104)+($A3=Nummerreeksen!$C$3:$C$104)*(B$2=Nummerreeksen!$E$3:$E$104)+($A3=Nummerreeksen!$C$3:$C$104)*(B$2=Nummerreeksen!$F$3:$F$104)+($A3=Nummerreeksen!$D$3:$D$104)*(B$2=Nummerreeksen!$F$3:$F$104))

Uiteindelijk toch niet zó moeilijk.
 
In cel B3 van tabblad "indirecte relaties":

=SUMPRODUCT((Nummerreeksen!$B$3:$B$104=$A3)*(Nummerreeksen!$D$3:$D$104=B$2)+($A3=Nummerreeksen!$B$3:$B$104)*(B$2=Nummerreeksen!$E$3:$E$104)+($A3=Nummerreeksen!$B$3:$B$104)*(B$2=Nummerreeksen!$F$3:$F$104)+($A3=Nummerreeksen!$C$3:$C$104)*(B$2=Nummerreeksen!$E$3:$E$104)+($A3=Nummerreeksen!$C$3:$C$104)*(B$2=Nummerreeksen!$F$3:$F$104)+($A3=Nummerreeksen!$D$3:$D$104)*(B$2=Nummerreeksen!$F$3:$F$104))

Uiteindelijk toch niet zó moeilijk.

Helemaal super, nogmaals dank voor je hulp!
 
Het kan zonder formules met een simpele macro:

- maak eerst 2 nieuwe werkbladen aan : test en test 2
- verwijder alle telgegevens en formules in de werkbladen 'Directe relaties' en 'Indirecte Relaties'

Code:
Sub tst()
  With Sheets("Nummerreeksen").Range("B3").CurrentRegion
    sq = .Offset(1, 1).Resize(.Rows.Count - 1, .Columns.Count - 1)
  End With
  sn = Sheets("Directe relaties").UsedRange
  sp = Sheets("Indirecte relaties").UsedRange
  For j = 1 To UBound(sq)
    For jj = 1 To UBound(sq, 2) - 1
      If sq(j, jj) > 0 And sq(j, jj + 1) > 0 Then sn(sq(j, jj) + 2, sq(j, jj + 1) - 34) = sn(sq(j, jj) + 2, sq(j, jj + 1) - 34) + 1
      If jj <= UBound(sq, 2) - 2 Then
        If sq(j, jj) > 0 And sq(j, jj + 2) > 0 Then sp(sq(j, jj) + 2, sq(j, jj + 2) - 34) = sp(sq(j, jj) + 2, sq(j, jj + 2) - 34) + 1
      End If
    Next
  Next
  Sheets("test").Cells(1, 1).Resize(UBound(sn), UBound(sn, 2)) = sn
  Sheets("test2").Cells(1, 1).Resize(UBound(sn), UBound(sn, 2)) = sp
End Sub
Waarschiijnlijk gaat dit iets sneller dan met formules.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan