Data sorteren cq filteren in EXCEL

Pagina: 1
Acties:

  • CBass
  • Registratie: September 2004
  • Laatst online: 30-12-2022
Ik zit met het volgende probleem, misschien kan hier iemand helpen?

stel ik heb een rij:
0 7.291667 14.58333 21.875 29.16667 36.45833 43.75 51.04167 58.33333 65.625 72.91667

en ik wil telkens het 1e 3e 5e enz element in een nieuwe rij hebben. maar zonder lege cellen!! hoe doe ik dat generiek???
dus 1 2 3 4 5 6 7 wordt
1 3 5 7

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Het makkelijkst: bak een VBA macrootje die de cellen vult met de oneven tegenhangers.

code: pseudocode
1
2
3
for i = 1 to 20 do
  cell(2,i) = cell(1, (2*i)-1)
next i


Dat zelfde kan je trouwens ook doen zonder VBA, met ipv. i =KOLOM()

Edit: je wilt trouwens waarschijnlijk eerst transponeren (rijen -> kolommen). Dan kan je met =RIJ() i.c.m. INDIRECT() dit prima oplossen zonder code.

edit:
hi onkl. Hihi :P

[ Voor 31% gewijzigd door F_J_K op 28-09-2006 14:05 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 12:06
Kan zelfs erg makkelijk zonder VBA maar met formules.
Stel, je originele rij is rij 1 en je wilt je oneven elementen rij in rij 2 zien.
Zet dan in A2:
=INDEX(1:1;1;COLUMN(A2)*2-1)
(voor een NL excel: index is waarschijnlijk nog steeds index, Column heet naw. KOLOM.)
en trek die formule door naar rechts.
edit:
-O- F_J_K Type eens wat langzamer, gun de medemens een eerlijke kans. :)
Overigens, ik gebruik zelf indirect liever niet, ik krijg altijd het idee dat Exelbladen er nogal traag van worden.

[ Voor 25% gewijzigd door onkl op 28-09-2006 13:28 ]


  • CBass
  • Registratie: September 2004
  • Laatst online: 30-12-2022
onkl schreef op donderdag 28 september 2006 @ 13:26:
=INDEX(1:1;1;COLUMN(A2)*2-1)
[/edit]
Dit werkt bij mij echt niet, zit een fout in. Daarnaast begrijp ik best hoe je het zou doen in andere talen, maar hier willen ze presee EXCEL.


=INDEX(1:1,1,COLUMN(A2)*2-1)
Dit voldoet wel tnx

[ Voor 8% gewijzigd door CBass op 28-09-2006 14:06 ]


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Er zit niet een fout in, want het werkt hier prima. Je doet iets fout, dat is wat anders ;) Wat is "een fout", heb je een melding? (Ik gok dat je zoals onkl al zegt de taal wilt aanpassen).
edit:

Aha, dus wel een EN versie maar met andere scheidingstekens. Maar het werkt dus :)


Trouwens heeft onkl gelijk en wil je INDEX gebruiken ipv INDIRECT. Is nog veel makkelijker in gebruik ook als je data in een rij staat. De A2 in =KOLOM kan je trouwens weglaten, scheelt weer copy/pastefoutjes. Dus =INDEX(1:1;1;KOLOM()*2-1)
Je wilt natuurlijk wel even goed uitzoeken wat INDEX en KOLOM doen zodat je je sheet ook goed begrijpt.

offtopic:
onkl: ik deed het snel en met wat moeite werkbaar, jij deed het goed :* :+

[ Voor 7% gewijzigd door F_J_K op 28-09-2006 14:12 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

hum, heeft microsoft daar eigenlijk niet verschuiving voor bedoelt?

code:
1
=VERSCHUIVING($A$1;0;(KOLOM()-1)*2)

makkelijk te volgen en simpel aan te passen aan andere scenario's. :)

ik ben supertraag maar ik werk dan ook gewoon :+

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

Pagina: 1