[Excel]onmogelijke formule? Tekst cellen gesorteerd in 1 cel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ®androiid
  • Registratie: Maart 2010
  • Laatst online: 29-10-2024

®androiid

Euroshopper

Topicstarter
Goedemorgen medetweakers,

hier een klein voorbeeld van de tabel die ik in excel heb:


curcumine (E100)0,00000%
turmeric (E101)0,00000%
chinoline geel (E104)0,00000%
karmijnzuur (E120)0,00000%


maar de formule is 100x groter.

Nu wil ik als het mogelijk is, alle tekst dus karmijnzuur, chinoline etc. in 1 cel zetten, maar alleen wanneer het percentage meer dan 0% is. (dat moet nog mogelijk zijn en niet al te moeilijk)

EDIT: de percentage mag er eventueel ook bij komen staan

maar... nou wil ik ze ook nog op volgorde zetten van hoge naar lage percentage, zodat ik de tekst kan kopiëren en plakken in word/tekst bestand.

is dit mogelijk middels een formule of moet ik dan met VBA/macro's aan de slag?

alvast bedankt :)

[ Voor 3% gewijzigd door ®androiid op 22-09-2014 11:27 ]

Pils €0,50


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

offtopic:
Er is niet letterlijk brand. 1 leesteken is zat. Ik haal expert gezocht!!! uit de topictitel. In ruil daarvoor zet ik iets meer in de titel over de gezochte formule(s) ;)

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


Acties:
  • 0 Henk 'm!

  • spank_mojoo
  • Registratie: Januari 2011
  • Laatst online: 09:56
er vanuit gegaan dat je tabel het bereik A1:B4 beslaat.
plak dan deze formule eens in Cel C1
=ALS(B1=0;"-";A1&" "&TEKST(B1;"0.00000%"))

Acties:
  • 0 Henk 'm!

  • Bastiaan
  • Registratie: November 2002
  • Laatst online: 25-09 15:35

Bastiaan

Bas·ti·aan (de, m)

Kun je niets doen met een draaitabel? Dan heb je al je gewenste waarden en kun je ook filteren op alles wat meer is dan '0'.

[ Voor 54% gewijzigd door Bastiaan op 22-09-2014 11:41 ]


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Zowel sorteren als filteren kan inderdaad prima met een draaitabel. Als de data later wordt aangevuld zodat het buiten bereik van de draaitabel zou vallen, kan je OFFSET() gebruiken om een dynamische named range te krijgen.

Of idd 'gewoon' sorteren + spank_mojoo's opzet aanvullen kan inderdaad misschien ook. In beide gevallen moet je natuurlijk nog goed kijken naar de precieze opmaak etc.

1 cel zou ik afraden, als er heel veel data in moet kunnen passen.

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


Acties:
  • 0 Henk 'm!

  • ®androiid
  • Registratie: Maart 2010
  • Laatst online: 29-10-2024

®androiid

Euroshopper

Topicstarter
ik ben nu bezig met deze formule:

=(ALS(C3>0;B3;"")&ALS(C4>0;B4;""))

dan sorteer ik op percentage en zouden de kleurstoffen op juiste volgorde moeten komen.
dit gaat voor zover goed, alleen worden de kleurstoffen nu zonder spatie achter elkaar gezet.

hoe krijg ik er een spatie bij :)
=(ALS(C3>0;B3" ";"")&ALS(C4>0;B4" ";"")) werkt in ieder geval niet

de cellen in het voorbeeld staan in het bereik
B3:C6

[ Voor 8% gewijzigd door ®androiid op 22-09-2014 12:18 . Reden: extra informatie ]

Pils €0,50


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Zie spank_mojoo in "[Excel]onmogelijke formule? Tekst cellen gesorteerd in 1 cel": & " "

Maar natuurlijk alleen doen na een '>0', je wilt geen spaties na genegeerde regels.

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


Acties:
  • 0 Henk 'm!

  • ®androiid
  • Registratie: Maart 2010
  • Laatst online: 29-10-2024

®androiid

Euroshopper

Topicstarter
=(ALS(C3>0;B3&", ";"")&ALS(C4>0;B4&", ";""))

dit is de uiteindelijke formule geworden, de kleurstoffen worden nu gescheiden met (, ) bij de formule van spank_mojoo wist ik niet hoe ik verder moest gaan, deze is net iets eenvoudiger en werkt volgens mij hetzelfde

bedankt voor alle input!

Pils €0,50


Acties:
  • 0 Henk 'm!

  • Bastiaan
  • Registratie: November 2002
  • Laatst online: 25-09 15:35

Bastiaan

Bas·ti·aan (de, m)

®androiid schreef op maandag 22 september 2014 @ 11:26:
maar... nou wil ik ze ook nog op volgorde zetten van hoge naar lage percentage, zodat ik de tekst kan kopiëren en plakken in word/tekst bestand.
Maar... nu heb je dit toch nog niet bereikt?

Acties:
  • 0 Henk 'm!

  • ®androiid
  • Registratie: Maart 2010
  • Laatst online: 29-10-2024

®androiid

Euroshopper

Topicstarter
jawel, dit is bereikt. de enige extra handeling die nog verricht moet worden is het sorteren op percentage van hoor naar laag in de tabel en dan krijg ik de uitkomst van hoge naar lage percentage

kopiëren > plakken en klaar is kees.

ik ga nu met een product testen

EDIT:

nog een aantal formules moeten aanpassen, niet waar de het nu over hadden, maar eerdere formules in het bestand en het is er nu uitgekomen hoe het moet:

Ingrediënten: suiker, glucose-fructosestroop, glucosestroop, water, dextrose, varkensgelatine, aroma's, aroma's, aardbei aroma, maïszetmeel, emulgatoren: gelatine (E441), kleurstoffen: karmijnzuur (E120),


dit is dus de uitkomst en hij is juist :)

[ Voor 49% gewijzigd door ®androiid op 22-09-2014 14:42 . Reden: uitkomst eerste test ]

Pils €0,50


Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Moet die komma op het eind er staan?

Het lijkt ook wel op iets wat ik ooit (ongetwijfeld op een minder elegante/efficiente manier) in R had gedaan, zoiets dus:
S:
1
2
3
4
5
6
7
8
9
10
11
12
13
# Een dataframe met stoffen kan ook eenvoudig worden ingeladen uit een CSV bestand
# gegevens<-read.csv("data.csv")
stoffen<-c("curcumine (E100)", "tumeric (E101)", "chinoline geel (E104)", "karmijnzuur (E120)")
stoffenProductEen<-c(0.00005, 0.00003, 0.00002, 0.00006)
stoffenProductTwee<-c(0.00001, 0.00004, 0.00000, 0.00005)
stoffenProductDrie<-c(0.00007, 0.00001, 0.00002, 0.00000)
gegevens<-data.frame(stoffen, stoffenProductEen, stoffenProductTwee, stoffenProductDrie)
# De aanwezige stoffen per product gesorteerd weergeven
aanwezigeStoffen = NULL
for (i in 2:length(gegevens)) {
   aanwezigeStoffen[i-1]<- paste(as.matrix(gegevens[gegevens[i]>0,c(1,i)][order(-gegevens[gegevens[i]>0,c(1,i)][,2]),][1]), collapse=", ")
}
print(aanwezigeStoffen)

  • ®androiid
  • Registratie: Maart 2010
  • Laatst online: 29-10-2024

®androiid

Euroshopper

Topicstarter
Moet die komma op het eind er staan?
die komma op het eind moet eigenlijk niet maar dit is voor mijn 'kennis' 8)7 de enige mogelijkheid.
omdat ik hiermee de ingrediënten van samengesteld snoepgoed achter elkaar zet om te knippen en meteen in het etiket bestand te plakken.

en omdat niet alle samenstellingen van producten een gelijke hoeveelheid aan ingrediënten heeft heb ik heb zo maar gedaan. een komma weghalen is niet een heel erg groot probleem. :P

Pils €0,50


Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Bij de R-code hoef je geen komma te knippen. Zal vast ook in Excel kunnen (sowieso door te scripten), maar dat zou ik 123 niet weten.

[ Voor 9% gewijzigd door begintmeta op 17-05-2015 11:29 ]

Pagina: 1