[excell] =max(a1:h1) maar dan voor letters?

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

Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
met de functie uit de titel krijg je als resultaat het hoogste getal uit de array genoemd. maar wat nu als ik de hoogst genoemde letter uit een array wil halen.

dus rij met in elke cel 1 hoofdletter, of leeg

anders zou ik een hele lange formule moeten maken, die met de lengte van de rij nog weer moet mee veranderen.

een andere optie zou zijn om de waarde van de cel het verst naar achter over te nemen, maar dat lijkt me ook lastig, omdat de kolom niet altijd even lang is, en er na de laatste cel weer andere gegevens in het werkblad staan.

Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

Het lijkt mij dat je alleen dit kan bereiken door je letters een 'waarde' te geven. Ergo kan Excel niet weten wat de hoogste letter is. Dit weten wij alleen omdat we met de 26 letters van het alfabet werken ;)

Want ik neem aan dat als je het rijtje a,b,c,d,e,f,g hebt dat je dan G ziet als 'hoogst genoemde' ?

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:29

Haan

dotnetter

Als de TS met VB overweg kan, zou ik het daarmee proberen.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Supersheep40
  • Registratie: Februari 2001
  • Niet online
Zo niet, dan kun je twee kolommen naast elkaar maken: een met de letters en een met de waarden. Met verticaal zoeken (v.lookup in de engelse versie) vind je dan gemakkelijk de waarde van elke letter.

Acties:
  • 0 Henk 'm!

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 02-06 11:21

Wijnbo

Electronica werkt op rook.

Haan schreef op dinsdag 27 februari 2007 @ 10:25:
Als de TS met VB overweg kan, zou ik het daarmee proberen.
Ik denk het wel, want hij geeft aan geen zin te hebben in een lange formule, want dat wordt het wel met vb :') Maar Excel kan inderdaad niet overweg met wat hij wil ben ik bang...

Acties:
  • 0 Henk 'm!

Anoniem: 113297

dit is een matrixformule, dus bevestigen met ctrl+shift+enter ipv. gewoon enter om de accolades automatisch rond de formule te plaatsen.
code:
1
{=TEKEN(MAX(CODE(A1:H1)))}

Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

gommaar schreef op dinsdag 27 februari 2007 @ 10:28:
Zo niet, dan kun je twee kolommen naast elkaar maken: een met de letters en een met de waarden. Met verticaal zoeken (v.lookup in de engelse versie) vind je dan gemakkelijk de waarde van elke letter.
Dan zou je er nog een formule bij moeten maken, maar dan krijg je alsnog van die mega formules.

Hypotetisch:

Stel je voert de letters in. (a b c d e f g ) Deze worden dan vertaald naar een ander blad die de waardes daarvan neerplempt.(1 2 3 4 5 6 7)Hiervan moet de MAX genomen(nummer 7) worden die weer wordt gezocht door een VERT.Zoeken functie en die waarde wordt dan weer in een ander deel geplaatst.

formules die gebruikt moeten worden dan:

(tabblad voor de waardes)
=!Blad1A1)
(Max)
=MAX(A1:X22)
(Verticaal zoeken)
=VERT.ZOEKEN(E1;C1:D26;2;0)

TADA daar hebben we de letter :+

Ben je lekker omslachtig bezig :+ :P

^^^^^^Kan je beter die hierboven gebuiken :P

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
het gaat om een tekeninglijst waarin ik automatisch de laatste revisie wil laten weergeven.

de eerste kolom bevat de tekeningnaam, de tweeede wil ik de hoogste (actuele) revisie laten weergeven. in de kolommen heb ik een kopje met daarin de datums waarop er revisies zijn gemakt, met achter de tekeningnaam een letter onder de datum. dit leek mij makkelijk zodat ik en "chronologisch overzicht heb van het verloop van het tekenwerk.

doe ik het andersom( kopjes met revisiletters, en vakjes achter de tekening met de datum erin, dan kan het zijn dat revisie b "eerder" in de rij staat dan revisie g van een andere tekening, terwijl revisie b van een latere datum kan zijn.

@ notna: ik bedoel dus inderdaad de g als hoogst genoemd.

kan ik niet iets doen met ascii waardes oid? daarin heeft de hoogste letter ook de hoogste waarde. als dat kan is het weer nog de vraag of ik dan met =max aan de slag kan.

anders zou ik een formule oid kunnen maken die eerst de letters omzet naar een nummer, de hoogste bepalen en die weer om zetten naar een letter, of wellicht dat vb wel in 1 keer de hoogste letter kan bepalen.

kun je met vb trouwes zelf functies maken? of alleen vb gebruiken als "formule" in een cel?

[edit]

zo het gaat hard! bedankt hiervoor, ik zal eens kijken naar de matrix formule.

ik zat dus zelf ook te denken aan een tabel en dan vert. zoeken. en dan weer terug vertalen naar een letter, maar dat "vervuilt" (vind ik) het rekenblad ook bepekrk je de oplossing doordat je ergens moet ophouden met delengte van de tabel. "vergeet"je dat bij uitbreiding of je gaat bij het invullen van het blad verder dan de in de tabel genoemde letters, dan ga je de mist in zonder dat je het merkt. je zou dan weer foutafhandeling moeten doen.

[ Voor 18% gewijzigd door engelbertus op 27-02-2007 10:43 ]


Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

Kan je dan niet beter gewoon met de data werken ipv met letters? Gezien het beide de inforamtie geeft die je wil. Wat je dan doet is alleen die namen relateren aan de datums.

Dus:

=MAX(B1:B999) (hierbij zoekt hij naar de hoogste 'datum' )
=VERT.ZOEKEN(C1;A1:B9999;2;0) (hijerbij zoekt hij die datum in de lijst)

En dan wordt de revisie die daarbij hoort ge-displayed.

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
Notna schreef op dinsdag 27 februari 2007 @ 10:42:
Kan je dan niet beter gewoon met de data werken ipv met letters? Gezien het beide de inforamtie geeft die je wil. Wat je dan doet is alleen die namen relateren aan de datums.

Dus:

=MAX(B1:B999) (hierbij zoekt hij naar de hoogste 'datum' )
=VERT.ZOEKEN(C1;A1:B9999;2;0) (hijerbij zoekt hij die datum in de lijst)

En dan wordt de revisie die daarbij hoort ge-displayed.
dat zou kunnen als alle tekeningen bij elke datum een nieuwe revisie krijgen. dat is het punt dus.

ook bij de matrixformule, die verder goed werkt het probleem. er zijn ook lege cellen, en dan werkt de matrixformule niet goed.

Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
ik zit even te brainstormen. met vert.zoeken zoek je een waarde , wat als die niet exact voorkomt, wat neemt hij dan?

ik bedoeld dus. stel ik zoek naar Z. die vind hij niet en dan neemt hij de dichtsbijzijnde, en dat is dan de hoogste letter die voorkomt. maar dan is het probleem WEER dat ik letters heb, en geen cijfers. is daar iets mee te doen?

oh brainstorm 2: als de cel geen letter bevat, maar een spatie, dan werkt de matrixformule wel!

dat is al een vooruitgang, maar dan moet niet iemand een van de cellen met delete of backspace weggooien.

[ps]

ik vindt het altijd jammer dat je niet zelf celeigenschappen kunt maken.

je kunt beijvoorbeeld wel bij celeigenschappen kiezen dat als een formule als uitkomst 0 heeft, of wanneer je er een waare van 0 in invult, dat ie dat niet weergeeft, en het hokje leeg blijft.

je kunt niet bijvoorbeeld aangeven dat een cel die je zelf invult een rode achtegrornd moet krijgen als (vul hier een concitie of formule in)
of is dittoch op een of andere manier te bewerkstelligen ?

[ Voor 47% gewijzigd door engelbertus op 27-02-2007 11:15 ]


Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

Als de waarde er niet is komt er er #N/B te staan, oftewel, kan niet vinden ;) Dan gaat hij niet atomagisch een andere voorkomende waarde nemen.

Wat ik eigenlijk al niet snap, is de hele opzet. Hoe heb je dit nu inelkaar gezet (wellicht ff een screen posten/even het excel bestand (al dan niet in een verkleinde vorm) hosten).

Want zover ik begrijp heb je 'tekningen' die samenhangen aan een revisienummer + datum. Hierbij zijn niet alle tekeningen hetzelfde ?

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
het zijn bouwtekeningen. stel de architect wil op de tekening met het dak een ventilatiekast, dan teken ik dat alleen op die tekening. en verandert ook alleen de revisie van die tekenig. dit wordt bijvoorbeeld revisie D omdat er ook al andere revisies op die tekenng zijn geweest.

komt de architect er dan achter dat hij een slaapkamer op de eerste verdieping wil verkleinen, dan verander ik dat op die andere tekening. die krijgt dan bijvoorbeeld revisie A omdat het de eerste wijziging is. revisie A van die tekening kan dus op een later tijdstip zijn als revisie D van de daktekening.

sterker nog, er kan na revisie D van de daktekening nog wel weer een nieuwe tekening worden toegevoegd.

hosten gaat niet werken denk ik..

normaal heb je een statische lijst warbij je kolommen achter de kolom met de tekeningnaam hebt, waar je in de eerste kolom revisiedatum A in de eerste kolom zet en revisiedatum B in de volgende kolom.

dit kan, maar dan heb je geen "tijdlijn" omdat revisie A altijd voor revisie D komt, terwijl revisiedatum A na revsiiedatum D kan liggen.

dit is minder "inzichtelijk" dan wat ik wil gaan maken. ook kun je in die lijst niet in 1 oogopslag zien welke tekeningen op een bepaalde datum zijn gewijzigd. je kunt weer wel zien welke tekeningen allemaal revisie A hebben, maar dat zegt eigenlijk niets dan alleen dat de tekening 1 keer is gewijzigd

[ Voor 30% gewijzigd door engelbertus op 27-02-2007 11:24 ]


Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

engelbertus schreef op dinsdag 27 februari 2007 @ 10:53:
ik zit even te brainstormen. met vert.zoeken zoek je een waarde , wat als die niet exact voorkomt, wat neemt hij dan?

ik bedoeld dus. stel ik zoek naar Z. die vind hij niet en dan neemt hij de dichtsbijzijnde, en dat is dan de hoogste letter die voorkomt. maar dan is het probleem WEER dat ik letters heb, en geen cijfers. is daar iets mee te doen?

oh brainstorm 2: als de cel geen letter bevat, maar een spatie, dan werkt de matrixformule wel!

dat is al een vooruitgang, maar dan moet niet iemand een van de cellen met delete of backspace weggooien.

[ps]

ik vindt het altijd jammer dat je niet zelf celeigenschappen kunt maken.

je kunt beijvoorbeeld wel bij celeigenschappen kiezen dat als een formule als uitkomst 0 heeft, of wanneer je er een waare van 0 in invult, dat ie dat niet weergeeft, en het hokje leeg blijft.

je kunt niet bijvoorbeeld aangeven dat een cel die je zelf invult een rode achtegrornd moet krijgen als (vul hier een concitie of formule in)
of is dittoch op een of andere manier te bewerkstelligen ?
Je kan gewoon met 'Voorwaardelijke Opmaak" een cel een kleur geven als er een bepaalde waarde staat. (staat in het menu Opmaak-->Voorwaardelijke opmaak)

Daarnaast snap ik nog steeds niet wat je probleem is om met de datums te werken. Je kan ze toch sorteren op datum ? Dan zie je toch vanzelf je chronologische verloop? Of mis ik nu iets.....

[ Voor 12% gewijzigd door Notna op 27-02-2007 11:38 ]

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
hmm.. je kan in de celeigenschappen bij aangepast ook formules invoeren? zoiets als if=>a13;then;else ?

heb je een mailadres? :)

Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

engelbertus schreef op dinsdag 27 februari 2007 @ 11:40:
hmm.. je kan in de celeigenschappen bij aangepast ook formules invoeren? zoiets als if=>a13;then;else ?

heb je een mailadres? :)
Anders zet je ff DM aan ;) Dat gaat ook net zo snel :P (kan in je opties in MyReact)

Maar om je vraag te beantwoorden: Nee dat kan niet. Dat is alleen om notaties te veranderen (zoals kleuren, tekens, datum enz) Wat jij wil gaan doen kan je beter dan in VB gaan doen. Dit is een stukkie meer geavanceerd dan Excel zelf kan. (zelf heb ik er _te_ weinig ervaring in om je ermee verder te helpen, soz :$ ) Tevens raad ik je aan om te kijken op http://www.mrexcel.com. Boel handige tips! Daarnaast kan je help functie je ook een stuk op weg helpen in Excel zelf :)

Succes ;) !

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
ik heb je toegevoegd als buddy. kan nergens een optie vinden om DM aan te zetten? :P daar ben ik niet echt in thuis.

ook met vb script kan ik niet uit de voeten, dus daarom wil ik dat ook graag ( ook niet voorgekauwd) niet gaan gebruiken.

ok. dus je kunt de opmaak van de cellen wel zelf vormgeven, dat is wel handig dan ;-)

Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

engelbertus schreef op dinsdag 27 februari 2007 @ 12:19:
ik heb je toegevoegd als buddy. kan nergens een optie vinden om DM aan te zetten? :P daar ben ik niet echt in thuis.

ook met vb script kan ik niet uit de voeten, dus daarom wil ik dat ook graag ( ook niet voorgekauwd) niet gaan gebruiken.

ok. dus je kunt de opmaak van de cellen wel zelf vormgeven, dat is wel handig dan ;-)
offtopic:
MyReact-->Voorkeuren--> Direct Messaging aanvinken ;)

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

Anoniem: 113297

voor zover je deze optie wenst te gebruiker, hier is een aangepaste matrixformule om rekening te houden met lege cellen
code:
1
{=TEKEN(MAX(ALS(ISFOUT(CODE(A1:H1));0;CODE(A1:H8))))}

Acties:
  • 0 Henk 'm!

  • engelbertus
  • Registratie: April 2005
  • Laatst online: 03-06 13:27
hij doet het! veeel dank!ik begrijp dat code de ascii code van het teken geeft, dat je daarvan de maximale nemt, en vervolgens weer het teken dat bij de code hoort weergeeft.

de max(als zorgt ervoor dat wanneer een cel geen waarde heeft, de waarde nul wordt gebruikt in de array. max is dus de matrix functie. is elek cel geen waarde maar een letter of iets dergelijek dan is de hoogste waarde 0 en wordt er geen teken weergegeven, of wordt dan het teken weergegeven dat bij 0 hoort?

oh te vroeg gejuigd. als alle cellen leeg zijn en code dus 0 word, dan wordt er geen teken weergegeven dat daarbij hoort.(###)

[ Voor 11% gewijzigd door engelbertus op 27-02-2007 14:14 ]


Acties:
  • 0 Henk 'm!

  • Notna
  • Registratie: November 2002
  • Laatst online: 09:23

Notna

Moderator General Chat / Wonen & Mobiliteit

Where are you?®

Miss dat je er dan een ALS functie bij kan zetten:

=ALS(CEL<0;"";Matrixformule)

?

Xbox Live ID:Notna8310


Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 12:39
De luie oplossing: met een if afvangen:[code={ALS(MAX(ALS(ISFOUT(CODE(A1:H1));0;CODE(A1:H8)))=0;"";TEKEN(MAX(ALS(ISFOUT(CODE(A1:H1));0;CODE(A1:H8)))))}[/]
Pagina: 1