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

Langste anagram > aantal.als

  • Onderwerp starter Onderwerp starter sph
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

sph

Gebruiker
Lid geworden
21 feb 2014
Berichten
160
Was wat aan het experimenteren met Excel.
Het leek me wel geinig om anagrammen te laten maken bij een invoer van een woord.


Ik heb een reeks van 500.000 NLse woorden gedwonload en in een Excel sheet onder elkaar gezet in kolom A
In kolom B heb ik naast elk woord uit kolom A een waarde gezet op basis van alfabetletterreeks.
AL = "10000000000100000000000000"
BAL = "11000000000100000000000000"
DIE = "00011000100000000000000000"
EEN = "00002000000001000000000000"
ETC = "0010100000000000001000000"
In kolom C heb ik het rijnummer staan als de waarde in kolom B gelijk is aan de waarde van het ingevoerde zoekwoord.
Daarna pak ik met de functie "=KLEINSTE" alle hits die gelijk zijn aan het hoofdwoord om zo op de anagrammen te komen.
Dit werkt prima.

Nu wil ik weten van welk woord ik de meeste Anagrammen kan maken dmv:
D1 "=AANTAL.ALS(B:B;$B1)"
D2 "=AANTAL.ALS(B:B;$B2)"
D3 "=AANTAL.ALS(B:B;$B3)"
etc.
Hiermee dacht ik te kunnen zien hoevaak bijvoorbeeld 100130101011110000 voorkomt.
Er komen alleen onlogische waarden uit. Bij woord "AT" = "10000000000000000001000000" bijvoorbeeld zie ik dat die 89 voorkomt, maar zoveel combinaties hiervan bestaan helemaal niet :S

Hoe kan dit?
 
Laatst bewerkt:
Zet een filter op die tabel met je 10000000000000000001000000 als filterwaarde. Dit kan je snel doen met het rechter muisknopmenu. Zo kan je wellicht snel zien waarom je zoveel hits terug krijgt op je formule.
 
Een voorbeeldbestandje is altijd welkom natuurlijk...

Ik heb nu zelf maar iets gemaakt met een aantal (verborgen) hulpkolommen. Uit het resultaat wordt het woord gezocht met het grootste aantal anagrammen.

Bekijk bijlage Anagrammen (AC).xlsx

PS een VBA oplossing lijkt me ook zeer geschikt hier.
 
Nog een idee waarom het niet zou werken met de functie.... Excel heeft een getalsprecisie van 15 cijfers. Als de functie jouw waarde dus als getal ziet en niet als tekst, heb je grote kans dat die na het 15 cijfers wordt afgebroken en dus verkeerde uitkomsten geeft. Je zou 'ns kunnen proberen met het omzetten naar een tekststring =TEXT([jouw formule];REPT(0;26))
 
Gaat om blad2, gele kolom.
Dat zijn de mogelijkheden per woord.
Bij =TEXT(Formule) krijg ik een fout met N/B.
Met het filtercommando krijg ik ook een onlogische opsomming.

Alexcel: lijkt veel op de mijne, alleen ik heb in blad1 het woord of code die ik ingeef, in blad 2 de datavelden
Bekijk bijlage Kopie van anagram_klein.xlsm
(Volledig is hij 20mb met 500000 woorden, ook wat langzamer)
 
Laatst bewerkt:
M'n idee over de precisie van Excel was correct. Even wat research gedaan en vond dat deze gaat tot 15 cijfers. Het omzetten naar de tekstwaarde hielp bij mij ook niet.
Deze formule ipv je CountIf werkt wel...
Code:
=SUMPRODUCT(--(B:B=B1))
 
zet eens een letter voor jouw lange formules in kolom B

dus.....="Q"&LEN(A973)-LEN(SUetc.
 
Eric, ik kon er met jouw voorbeeld niet uit komen. Waarschijnlijk dat het gelukt was met een iets minder weggeknipt voorbeeld.
Ginger zijn voorbeeld werkte hier met somproduct wel ieg, maar qua snelheid is dat op 500.000 woorden wel wat minder leuk :)

Ieg bedankt allen, opgelost
 
Je hoeft enkel "Q"& net na het =-teken en voor jouw lange formule te typen
Maar opgelost
 
Nu zie ik het idd. Dacht iets te moeilijk. Werkt ook.

Thnks
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan