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

Kolom met getallen bewerken met formule

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

0900

Gebruiker
Lid geworden
8 jun 2015
Berichten
5
Beste,

Ik zit met een Excel-vraag waarvan ik het antwoord nog nergens heb kunnen vinden. In een excel bestandje heb ik een blad met gegevens die bewerkt moeten worden om er "logische" waarden van te maken. Bijgevoegd een voorbeeld bestandje voor de duidelijkheid.

In kolom "D" (wind_direction) heb ik een reeks willekeurige getallen. De getallen in deze kolom lopen van 0 t/m 255 echter moeten deze omgerekend worden naar een 360 graden bereik.
De formule die ik op de celwaarden wil toepassen is: waarde*360/256.

Het probleem in deze is niet de berekening op zich maar dat ik de berekening in diezelfde cellen wil hebben en dat dat moet gebeuren voor ca. 3000+ rijen.
Wie o wie heeft een oplossing?

PS. Ik heb geen ervaring met VBA, mocht dat ter sprake komen. Echter met een beetje uitleg moet dat wel lukken.

Alvast bedankt voor het meedenken!

Bekijk bijlage Excel_voorbeeld.xlsx




zie post #5
 
Laatst bewerkt:
Draai deze macro even:
Code:
Sub cobbe()
With ActiveSheet
 For cl = 2 To .UsedRange.Rows.Count
  .Cells(cl, 4) = .Cells(cl, 4) * (360 / 256)
 Next
End With
End Sub
 
Of zonder macro:

1) zet in een lege cel: =360/255
2) druk op Ctrl + C
3) selecteer de te bewerken cellen
4) Selecteer via het het lint: Plakken Speciaaal > vermenigvuldigen
 
Helemaal top, bedankt! :thumb:

Ga ik nu proberen of het me lukt met andere formules voor andere kolommen.

EDIT: Reactie van Haije zag ik pas nadat ik met de code van Cobbe bezig was. Beide mogelijkheden werken prima. Bedankt voor de oplossingen! Toppie.
 
Laatst bewerkt:
Nu zit ik met een volgende vraag, betreffende hetzelfde excel bestandje in de start post:

In kolom "G" (rain) heb ik een reeks getallen, variërend van 0 t/m 127. Het kan echter voorkomen dat we een "128-waarde" ontvangen. Zodra dit gebeurt wordt er (van 128 dus...) verder geteld tot 255. Zodra de waarde 255 wordt overschreden zal er weer normaal van 0 t/m 127 geteld worden.

Elke verandering van een celwaarde t.o.v. de waarde in de vorige cel moet worden vermenigvuldigd met "1 / 3,937" (bv. celwaarde x is 143 en celwaarde y is 147 dan wordt de uitkomst voor die cel: 4 * 1 / 3,937 = 1,016). Indien de waarde in een bepaalde cel niet veranderd t.o.v. de vorige waarde dan is de verandering 0 en dient de waarde in die specifieke cel vervangen te worden door 0. Indien elke willekeurige celwaarde overgaat naar 128 dan is de verandering ook 0. Elke celwaarde verandering tussen 128 en 255 is wel weer een normale verandering.

Het excel bestandje kort samengevat (van onder naar boven vanwege de time_stamp):
  • G20 t/m G27 = 0
  • G19 = 1 * "1 / 3,937"
  • G17 + G18 = 0
  • G16 = 1 * "1 / 3,937"
  • G2 t/m G15 = 0


Ik hoop dat dit zo een beetje duidelijk is en dat er een manier is om dit automatisch te laten berekenen. Zoals gezegd zijn er 3000+ rijen en dit voor ca. 10 verschillende excel bestandjes. Handmatig is dit praktisch niet te doen.
 
0900,

zet dat eens in een bestandje en geef ook in een apart kolom het gewenste resultaat
 
Dit is helemaal NIET duidelijk.
 
Bijgevoegd een excel bestandje met in kolom "D" (rain) de data zoals ik die nu dit moment binnenkrijg. Kolom "F" (difference) laat de verschil waarde t.o.v. de vorige cel zien. Kolom "H" (rain (mm)) laat de uitkomst van het rekensommetje zien.
Ik hoop dat dit de zaak wat duidelijker maakt. Zo niet dan hoor ik het wel.

Bekijk bijlage Excel_voorbeeld_1.xlsx
 
Ik denk, weet bijna zeker dat ik niet de enige ben die er niets van snapt. :)
 
Ik snap er ook niks van, ik heb het vermoeden dat de oplossing vrij makkelijk, maar ik zie echt niet in hoe het eindresultaat uit moet komen te zien...
 
Dit is ook geen makkelijke maar daarom ben ik ook hier. :D

Ik heb nog een voorbeeldje ingevoegd. Dit is een volledige kolom met gegevens die ik zelf uitgewerkt heb.
Ter info: De 2 rechter kolommen zijn de regendata waarvan de linker kolom de data zoals ik ze krijg en rechts de data zoals ik ze graag wil hebben.

Maakt dit het wat duidelijker?

Bekijk bijlage Excel_voorbeeld_2.xlsx
 
Volgens mij is dit de eerste stap, deze ondervangt alleen nog niet voorwaarde van 128... Dat wordt weer een nieuwe uitdaging.

Code:
=ALS(C2=C3;0;(ALS(C2>C3;C2-C3;C3-C2)*(1/3,937)))
 
en deze werkt wel met de "128" probleem, alleen ondervangt ie nog niet het 255 probleem

Code:
=ALS(C2=C3;0;(ALS(C2>C3;C2-C3;C2+(128-C3))*(1/3,937)))
 
Deze werkt met 128 en 255 probleem
PHP:
=ALS(OF(C2=C3;ISLEEG(C3));0;(ALS(C2>C3;ALS(OF(C2=128;C2=255);0;C2-C3);ALS(C3>128;C2+255-C3;C2+128-C3))*(1/3,937)))
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan