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

cm naar Feet, Inch en Breuk Inch

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

globe

Verenigingslid
Lid geworden
18 mrt 2001
Berichten
3.616
Voor een 1000-tal cm maten moeten ik de notatie Feet' inch' en inch' breuk in een lijst converteren.

De notatie moet uiteindelijk een afgeronde waarde zijn op 1/4, 1/8 en 1/2 inch.
Excel voorziet niet in een standaard functie hiervoor en nu heb ik een gedrocht van een formule samengesteld.
Ik weet zeker dat het makkelijker kan, wie heeft de oplossing.
VBA is geen optie helaas. De uiteindelijke formule moet in een google sheet terecht komen.

Ook heb ik het probleem wanneer er geen restant voor de breuk over is (dus afgerond 0) er 0/1 wordt weergegeven vanwege de TEKST functie "#/#"

Code:
=AFRONDEN.NAAR.BENEDEN((A2/30,48);0)&TEKEN(39)&(AFRONDEN.NAAR.BENEDEN(REST((A2/30,48);1)*12;0))&" "&TEKST(AFRONDEN.N.VEELVOUD((AFRONDEN.NAAR.BENEDEN(REST((A2/30,48);1)*12;2))-(AFRONDEN.NAAR.BENEDEN(REST((A2/30,48);1)*12;0));0,125);"#/#")&TEKEN(34)

En in een LET code:

=LET(
    CM; A2;
   feet; AFRONDEN.NAAR.BENEDEN((CM/30,48);0);
   inch; AFRONDEN.NAAR.BENEDEN(REST((CM/30,48);1)*12;0);
   breuk; TEKST(AFRONDEN.N.VEELVOUD((AFRONDEN.NAAR.BENEDEN(REST((CM/30,48);1)*12;2))-(AFRONDEN.NAAR.BENEDEN(REST((CM/30,48);1)*12;0));0,125);"#/#");


result; feet & TEKEN(39) & " " &  inch & " " & breuk & TEKEN(34);
result
 

Bijlagen

Laatst bewerkt:
Gebruik de ingebouwde Excel-funktie 'convert'
 
Gebruik de ingebouwde Excel-funktie 'convert'
Dan los ik alleen het omrekenen op denk ik?

Convert cm naar Ft geeft een decimale waarde. Dan moet ik alsnog gaan afronden en restanten berekenen.

Of bestaat er een convert functie naar ft - inch - breuk inch? Die is mij niet bekend helaas, dus als je tips hebt, graag!
 
lekker! Hier ga ik mee stoeien, die functie doet het zelfde als mijn ellenlange formule maar veel minder foutgevoelig.

edit: Ik zie dat je de celeigenschappen op "breuk" hebt gezet, dat was ik vergeten te vermelden, dat moet ik voorkomen.

bedankt SNB
 

lastig verhaal.

De uiteindelijke file wordt een import file die in een systeem moet, omgebouwde csv.
US systeem, Oracle NetSuite.

De gehele administratie daar is Imperial ingericht, als ik met decimalen aankom loopt het vast.
Zelfs als ik komma's als decimaal aanlever ipv. punten gaat het al mis.

Ongelofelijk in deze tijden, maar ik moet er mee leven.
 
Iets ingekort.
PHP:
=GEHEEL(CONVERTEREN(A2;"cm";"ft"))&"'"&INTEGER(CONVERTEREN(REST(CONVERTEREN(A2;"cm";"ft");1);"ft";"in"))&" "&TEKST(REST(AFRONDEN.N.VEELVOUD(CONVERTEREN(REST(CONVERTEREN(A2;"cm";"ft");1);"ft";"in");1/8);1);"#/#")&TEKEN(34)
Indien Office 365,
PHP:
=LET(c;CONVERTEREN(A2;"cm";"ft");x;CONVERTEREN(REST(c;1);"ft";"in");GEHEEL(c)&"'"&INTEGER(x)&" "&TEKST(REST(AFRONDEN.N.VEELVOUD(x;1/8);1);"#/#")&TEKEN(34))
 
Laatst bewerkt:
Ook een nette HSV, bedankt allen voor het meedenken.

maar helaas loop ik nog steeds tegen het probleem aan dat bij nulwaarden bij inches er een 0 0/1" wordt weergegeven vanwege de TEKST functie

366 cm wordt 12"0 0/1" terwijl dit 12' moet zijn.
 
Zo?
PHP:
=LET(c;CONVERTEREN(A2;"cm";"ft");x;CONVERTEREN(REST(c;1);"ft";"in");GEHEEL(c)&"'"&ALS(INTEGER(x)=0;"";INTEGER(x)&" "&TEKST(REST(AFRONDEN.N.VEELVOUD(x;1/8);1);"#/#")&TEKEN(34)))
 
nope, wordt als decimaalwaarde weg geschreven helaas.
 
Ik kan alleen de volgende aanpak bedenken met een UDF.
Het werkblad blijf je nodig hebben vanwege het fraction numberformat.
Tenslotte moeten alle formules als waarden worden vastgelegd.

Merkwaardig dat noch de VBA funktie 'format', noch de Excel funktie 'Text' de fraction-optie bevat, terwijl er wél een numberformat 'fraction' is.
 

Bijlagen

Laatst bewerkt:
idd raar hè, wellicht een US versie van Excel wel?

Ik ga met je UDF aan de gang, dat zou namelijk wel een oplossing kunnen wezen.
Leuk dat ik een keer een 'echte' vraag heb.

Ondertussen is mijn lijst al klaar met wat formules en wat zoeken verwijzen en vervangen maar nu vind ik het een uitdaging om dit vraagstuk op te lossen.
 
Dan lukt het ook 'gewoon' in Excel:

PHP:
=INT(CONVERT(A2/100;"m";"ft")) & TEXT(CONVERT(MOD(CONVERT(A2/100;"m";"ft");1);"ft";"in");"'# #/#''")
 
Dan lukt het ook 'gewoon' in Excel:

PHP:
=INT(CONVERT(A2/100;"m";"ft")) & TEXT(CONVERT(MOD(CONVERT(A2/100;"m";"ft");1);"ft";"in");"'# #/#''")
Toch niet helemaal SNB, er mist nu het afronden op 1/8 en 0" wordt wel weergegeven. Maar wel enorm bedankt voor het meedenken hoor.
 
Dank SNB, even afronden naar veelvoud toegevoegd en ook deze doet het:

Code:
=INTEGER(CONVERTEREN(A4/100;"m";"ft")) & "'" & TEKST(AFRONDEN.N.VEELVOUD(CONVERTEREN(REST(CONVERTEREN(A4/100;"m";"ft");1);"ft";"in");1/8);"# #/#''")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan