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

unieke waarden

Status
Niet open voor verdere reacties.
bedankt voor de mogelijke oplossingen
de aantallen zouden moeten zijn, zie Blad1
A1=215
B1=29
C1=224

Met macro M2_snb, zie Inteelt_berekenen!N2064
A1=214, A66 ontbreekt
B1=28, B7 ontbreekt
C1=222, C59 en C121 ontbreken

Met macro M_snb, zie Inteelt_berekenen!O2064
A1=215
B1=29
C1=223, C59 ontbreekt

@snb, heeft u een vermoeden waarom C59 niet in de lijst staat?
 

Bijlagen

  • aantal uniek test.xlsm
    243,8 KB · Weergaven: 14
't was bijna weekend, dus een slordigheidje :eek:
Waarom geen pipe als separator ipv die stomme space, dat lijkt me meer stupid-proof
Code:
Sub M_snb()
  sn = range("C17:M2063")
  
  For Each it In sn
    c00 = Replace(c00 & " ", " " & it & " ", " ") & " " & it
  Next
  sn = Split(Application.Trim(c00))
  
  Cells(1, 20).Resize(UBound(sn)[B][U]+1[/U][/B]) = Application.Transpose(sn)   '<<<<<<<< +1
End Sub
 
Laatst bewerkt:
heb het in nieuwe macro gezet naar bij C1 ontbreekt nog steeds C59


Code:
Sub M3_snb()
Range("N2065:N4110").ClearContents
  sn = Range("C17:M2063")
  
  For Each it In sn
    c00 = Replace(c00 & " ", " " & it & " ", " ") & " " & it
  Next
  sn = Split(Application.Trim(c00))
  
  Cells(2065, 14).Resize(UBound(sn) + 1) = Application.Transpose(sn) '<<<<<<<< +1
End Sub
 
Deze formule vindt ook C59 (geen macro's benodigd)
Code:
=SORTEREN(UNIEK(XML.FILTEREN("<x><y>"&SUBSTITUEREN(TEKST.COMBINEREN(",";WAAR;N7:P428);",";"</y><y>")&"</y></x>";"//y");))
Zie bijlage

Ook is deze formule erg snel en geeft deze formule steeds de juiste aantallen.

EDIT: Ik pas mijn formule op een verkeerd bereik toe. Op blad inteelt_berekenen zal mijn formule ook GEEN C59 vinden. C59 staat daar niet.
 

Bijlagen

  • aantal uniek test HD.xlsm
    241,3 KB · Weergaven: 10
Laatst bewerkt:
@JEC, AlExcel,
ik vind geen VSTACK/Vert.stapelen en heb nochtans Insider en heb net de updates vernieuwd.
Zitten jullie nog een klasse hoger dan ik dan ?
 

Bijlagen

  • Schermafbeelding 2022-08-07 100415.jpg
    Schermafbeelding 2022-08-07 100415.jpg
    20,1 KB · Weergaven: 16
Ik heb geen insider versie. Ik wist alleen dat er een nieuwe functie was welke dit kon
 
C59 staat in Blad1, maar niet in de stamboom van C1 op "inteelt berekenen".
By the way, hoe bereken je nu al je inteelt ?

@JEC, ok, was toch maar me bezighouden op een zondagmorgen.
 
Laatst bewerkt:
@Hans, je kunt ook unieke waarden vinden via het xml pad

Code:
=SORT(FILTERXML("<x><y>"&SUBSTITUTE(TEXTJOIN(",";;N7:P428);",";"</y><y>")&"</y></x>";"//y[not(preceding::y=.)]"))

Nog maar een VBA variant;

Code:
Sub jec()
 Dim ar, it, x As Long
 ar = Range("C17:M2063")
  
 For Each it In ar
    If it <> 0 And InStr("|" & sq, "|" & it) = 0 Then sq = sq & it & "|": x = x + 1
 Next
   
 Cells(1, 21).Resize(x) = Application.Transpose(Split(sq, "|"))
End Sub
 
Laatst bewerkt:
Zou het niet handiger zijn je gegevens op te zetten als een database ?
Mij lijken vier eigenschappen voldoende: naam, vader, moeder, generatie.
En dat alles in een dynamische tabel.

Daarna kun je gebruik maken van filters, sortering, draaitabellen en grafieken.
Formules en macro's zijn dan nagenoeg overbodig.
 
Eens, het is eigenlijk gewoon een BOM(Bill of materials) ;)
 
@HSV, vert.stapelen kent hij niet (ook niet met intellisense), dus ik zal nog niet exclusief insider zijn ... . Op zich inderdaad geen probleem !
 
Laatst bewerkt:
Nu wel als het goed is
 
C1=224, was het aantal unieke waarden in het bereik "Dieren_Bib!C253:H393"
op rij 286 stond C59, die werd niet gebruikt in de stamboom,
Dus C1=223

oplossingen verschijnen in "Inteelt_berekenen!N2064:Q2065"

@cow18, voor het berekenen van het inteeltcoëfficiënt wil ik volgende formule gebruiken. Deze ga ik eerst manueel proberen in excel

Fx=som((1/2(n1+n2+1))*(1+FA))
Fx=de inteeltcoëfficiënt van dier x
n1=aantal generaties van ouder 1 van x tot aan gemeenschappelijke ouder
n2=aantal generaties van ouder 2 van x tot aan gemeenschappelijke ouder
FA=inteeltcoëfficiënt. gemeenschappelijke ouder

Wanneer er meerdere gemeenschappelijke voorouders zijn,
dienen de inteeltcoëfficiënten bij elkaar opgeteld te worden.
 

Bijlagen

  • aantal uniek 080822.xlsm
    234,4 KB · Weergaven: 13
die formule, die ziet er uit zoals ik dacht in een heel ver verleden, maar je gaat er een punthoofd van krijgen als je die toepast, want je moet alle paden aflopen dacht ik.
 
De oplossing van Alex is hoe je dit het makkelijkst met een formule doet momenteel (alleen nog voor insiders)
 
Ja dat weet ik, maar die heb ik niet genoemd, omdat ik wil weten of er eenvoudigere of betere oplossingen zijn voor niet-insiders.
Daarom heb ik in mijn post op Excelforum expliciet gemeld "voor 365 users". Dus niet 365 insiders users.
 
Ahh oke, vandaar. Power Query is ook een snelle oplossing zoals al aangegeven bij Excelforum
 
Ja, dat is mooi resultaat die powerquery, maar ik weet alleen nog niet hoe ik die powerquery aan de praat krijg.
Ik ben nog niet vertrouwd met Powerquery.
Als jij dat wel weet, wil je dat dan posten op Excelforum? (als je daar een user bent)
Want daar heb ik deze vraag ook uitstaan.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan