[Excel] Matrixformule met joker teken (*)

Pagina: 1
Acties:
  • 712 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Tweaqer
  • Registratie: November 2002
  • Laatst online: 16-05 17:18
Beste mensen, ik heb een probleem met een matrixformule! Ik wil namelijk graag een jokerteken in verwerken. Helaas, het lukt mij niet. Het gaat om de volgende formule:
code:
1
{ =SOM(ALS((C1:C2=D4)*(D1:D2=E4);1;0)) }

deze pakt zijn gegevens de de volgende tabel:
ABCDEF
1 k1
2 k1
3
4 formulecell 1cell 2


Het punt is alleen, nu werkt het omdat het een exacte match is maar zodra ik probeer deze formule met een joker teken te maken dan werkt hij niet meer. Als ik dus bijvoorbeeld inplaats van een K een woord in die cel heb staan en ik wil weten in hoeveel cellen het woord begint met een k en in de cel ernaast 'n 1 staat dan lukt dat niet. Ik vind het lastig om het probleem helder te formuleren, dus ik hoop dat dit enigzins gelukt is :Y) Kan iemand mij misschien hierbij een tip geven? :) Alvast bedankt! _/-\o_

Acties:
  • 0 Henk 'm!

Anoniem: 113297

welke opdracht gebruik je om de beginletters van een cel weer te geven? die formule zet je gewoon rond de bereiken waarmee je met beginletters wil werken.
....*(links(d1:d2;1)=links(e4;1));....

Acties:
  • 0 Henk 'm!

  • Tweaqer
  • Registratie: November 2002
  • Laatst online: 16-05 17:18
Anoniem: 113297 schreef op dinsdag 09 mei 2006 @ 15:25:
welke opdracht gebruik je om de beginletters van een cel weer te geven? die formule zet je gewoon rond de bereiken waarmee je met beginletters wil werken.
....*(links(d1:d2;1)=links(e4;1));....
Nou de toepassing zal worden dat het resultaat berekend hoeveel cellen er uit een bepaalde maand overeenkomen met een bepaalde waarde.
dus in de eerste cel staat de datum "01-09-2006" en in de tweede cel staat "01 - Hoi". Het resultaat hiervan is dat in september 2006 er 1 was met 01 - Hoi.
Voor het berekenen van de aantallen gebruik ik nu de volgende formule
code:
1
=aantal.als(c1:c14;"01*")


Ik dacht dat het dan zoiets zou moeten worden:

code:
1
=SOM(ALS(B1:B5="*01";IF(C1:C5="*-09-2006";1;0)))


Waarbij *01 en *-09-2006 eigenlijk gegevens moeten zijn dus uit een apparte cel worden gehaald, zodat je zelf kunt ingeven welke maand je wilt berekenen.

[ Voor 23% gewijzigd door Tweaqer op 09-05-2006 15:44 ]


Acties:
  • 0 Henk 'm!

Anoniem: 113297

zoiets dan : ... if(c1:c5=datumwaarde($a$1&"-09-2006");1;...

Acties:
  • 0 Henk 'm!

Anoniem: 9449

Nooit de XXX.als functies gebruiken, is een ramp.

Gebruik de array functie:

{=sum(if(statement;if(...;array)))}

Kan je tot 30 statemenst in nesten.

Hetzelfde geldt voor sumproduct:

=sumproduct((statement)*(...)*(array))

ook 30 statements.

Je kan ook Database functies gebruiken.

Edit: grote voordeel van array-functie is dat ie niet predefined is. Je kan elke functie er in stoppen, zelfs geen functie.

[ Voor 18% gewijzigd door Anoniem: 9449 op 11-05-2006 10:57 ]


Acties:
  • 0 Henk 'm!

Anoniem: 9449

Sorry...................... Je werkt al met array formules zie ik.

Ik was in de war omdat ik altijd engelse versies gebruik.....

Maar nu je probleem:

Ik begrijp zelf niet helemaal wat dit betekent (uit jouw formule)

C1:C2=D4

Je vergelijkt een array met een scalar :?

Maar ik neem aan dat de joker * is (ik weet dus niet wat een joker is)...

Het is dan gewoon een EN neem ik aan want het is boolean....

Je moet gewoon nesten ipv dit doen:

if(condA*condB) = if(condA(ifcondB))

Acties:
  • 0 Henk 'm!

  • Tweaqer
  • Registratie: November 2002
  • Laatst online: 16-05 17:18
Anoniem: 9449 schreef op donderdag 11 mei 2006 @ 11:26:
Ik begrijp zelf niet helemaal wat dit betekent (uit jouw formule)
C1:C2=D4
Nou het punt is dat ik een serie cellen heb, in de eerste kolom wordt de datum weergegeven en in de tweede kolom een vast cijfer (01, 02, 03, etc.) met een variabele (tekst) waarde erachter.
Ik dacht dat het misschien handiger was om de datum te splitsen in twee kolommen, één voor de maand en één voor het jaar. Zo krijg je dus een formule waarbij hetgeen je zoekt gelijk moet zijn aan die cel (aantal.als cel isgelijk aan maand en waarde begint met 01). Dat is handig omdat je dan kunt tellen hoeveel in een bepaalde maand iets hebben ingevuld dat begon met 01.
Anoniem: 9449 schreef op donderdag 11 mei 2006 @ 11:26:
(...) ik neem aan dat de joker * is (ik weet dus niet wat een joker is)...
Juist! :9 Mja ik vind joker ook maar een gek woord, in het engels noemen ze het geloof ik een wildcard :7
Ik weet niet precies hoe ik die cond formule moet lezen in mijn situatie, maar ik ga er weer eens mee stunten. :+

[ Voor 7% gewijzigd door Tweaqer op 11-05-2006 11:59 ]


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

@grizzlybeer: gebruik dan even de editknop om je post aan te passen. Sowieso is dat de bedoeling als je post in een topic waarin je zelf als laatste gepost hebt, en zeker in dit geval zou het geen kwaad kunnen ;).

Back on topic:
Jokertekens in een tekstvergelijking met werkbladfuncties kent Excel afaik niet. Maar je kunt ze wel simuleren:
code:
1
2
3
4
5
6
A1 == B1*   --> LINKS(B1;LENGTE(A1))=A1
A1 == *B1   --> RECHTS(B1;LENGTE(A1))=A1
A1 == *B1*  --> ISGETAL(VIND.ALLES(A1;B1))

en om uit te vinden of een datum in B1 valt in de maand die in A1 staat:
MAAND(B1)=A1

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1