Hoppa till innehåll
Varlig-guiden
Varligs startsida

Skriva en beräkningsrad

Den här sidan beskriver grunderna för alla beräkningsblock: hur en rad tolkas, hur du kommenterar beräkningar, namnger och återanvänder värden samt låter en rad bero på ett villkor. Börja här om du är ny på beräkningar i Varlig. Återvänd hit om ett namn eller en kommentar inte fungerar som väntat.

Ett uttryck per rad

Beräkningar finns i beräkningsblock inuti anteckningar. Skriv en inledande rad med ```calc eller tryck på ⌘Y för att infoga ett block. Varje rad i blocket är en beräkning, och resultatet visas bredvid raden.

calc
£3.40 * 5 ger £17.00
45 min + 1 hour 20 min ger 2 hours 5 min
1.5 litres in ml ger 1,500 mL

Tomma rader och kommentarrader visar inget resultat. Du kan därför skapa luft i blocket och lägga till förklaringar medan du skriver.

Varlig försöker först tolka hela raden som matematik, inklusive vardagliga fraser som £45 with 20% VAT. Om det inte fungerar bortser Varlig från ord som inte känns igen, så 5 apples + 3 oranges ger ändå 8. Det är praktiskt för snabba anteckningar, men en beskrivning kan krocka med en fras eller ett enhetsnamn. Använd därför en kommentar eller etikett, som beskrivs nedan, när du vill förklara vad raden avser. Läs mer under Hur Varlig tolkar en fras.

Ett ord där ett värde borde stå ger ett fel som pekar ut ordet, i stället för ett felaktigt resultat. Meddelandet föreslår det närmaste namn du har definierat:

calc
rent = £1,150
rnt + £200 ger Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?

Detsamma gäller namn med siffror eller understreck, som rent2 och rent_2. De ignoreras aldrig som beskrivande text och tolkas inte heller som sin sifferdel. Parenteser, funktionsanrop och omvandlingar döljer inte heller felet. Siffror går bra i etiketter, så lägg beskrivningen där:

calc
rent = £1,150
rent2 + £200 ger Unsupported: unrecognized calculation at "rent2"; did you mean "rent"?
(rnt + £200) * 2 ger Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?
Flat 2: rent + £200 ger £1,350.00

Rader som börjar med ett listtecken

En punktlistemarkör i början av raden markerar en vara i en inköpslista. Beskrivningen före beloppet ignoreras då och raden kan fortfarande beräknas. Använd -, *, •, +, – eller — följt av ett mellanslag:

calc
- flowers 1,200 ger 1,200
* coffee $4.50 ger $4.50
- 12 mugs ger 12
- 6 bananas @ 18p ger £1.08
- 500g pasta 3 packs at £1.10 each ger £3.30

Ett streck före enbart ett värde är fortfarande ett minustecken, så - 1,200 ger -1,200 och - 12 kg ger -12 kg. Börja raden med * eller • för mått i en lista. Dessa tolkas alltid som punktlistemarkörer när de står först.

Ord bredvid ett belopp

En beskrivning gör raden lättläst utan att ändra värdet. Ord sammanfogade med +, & eller per hör till beskrivningen och bildar ingen beräkning. Ett minustecken direkt intill sitt belopp hör till beloppet, och ett referensnummer efter ett ord påverkar inte beräkningen:

calc
basin + pedestal £145 ger £145.00
food cost per head £14.20 ger £14.20
milk, bread, eggs £12.40 ger £12.40
Netflix -£10.99 ger -£10.99
DIRECT DEBIT REF 4471 £62.40 ger £62.40
Invoice #123: £250 ger £250.00
double cream 600 mL ger 600 mL
chlorine 3 ppm ger 3 ppm
t-shirt £12 ger £12.00
on the day 60 at £28 ger £1,680.00

Det täcker det mesta i ett kontoutdrag, en orderbekräftelse eller en komponentlista som du klistrar in: rader med stora bokstäver, uppräkningar med kommatecken, namn med bindestreck och beskrivningar som råkar börja med ett ord som Varlig känner igen, som double, per eller on the day.

En numrerad radetikett, som Year 2, Room 12 eller ISA 2026, eller en period med årtal, som Q4 2026, July 2026 eller week 40 2027, hör också till beskrivningen. Det gäller oavsett var på raden den står, så länge den följs av sitt belopp: ett värde med valuta, enhet eller procenttecken, eller ett ensamt tal före nästa operator. Etikettens nummer läggs aldrig till i beräkningen:

calc
Year 1 £5,000 + Year 2 £6,000 ger £11,000.00
Year 1 5,000 + Year 2 6,000 ger 11,000
ISA 2025 £20,000 + ISA 2026 £20,000 ger £40,000.00
Room 12 £40 + Room 14 £50 ger £90.00
Q3 2026 £5,000 + Q4 2026 £6,000 ger £11,000.00
July 2026 £500 + August 2026 £600 ger £1,100.00

Ett ensamt tal efter ett ord är beloppet, som i rent 1200 + 300, och ett antal räknas fortfarande som i tickets 2 £40 each. En enhet som hour, week eller day mäter talet före den. Står den före ett tal blir den i stället en radetikett som andra ord: hour 2 betyder den andra timmen, aldrig en timme och två minuter. Om en valuta, enhet eller ett procenttecken följer inleder ett mellanslag efter etikettens nummer själva mängden. Därför betyder Week 2 150 hours 150 timmar, inte 2 150:

calc
hour 1 £40 + hour 2 £50 ger £90.00
hours 8 + hours 7 ger 15
Week 2 150 hours + Week 3 160 hours ger 310 hours

Kommentarer

En kommentar är texten som miniräknaren ignorerar. Det finns fyra sätt att skriva en:

Form Exempel Vad ignoreras
Kommentar med nummertecken rent * 12 # per year eller # Budget Allt från ett # och ett mellanslag till slutet av raden
Kommentar med snedstreck rent * 12 // per year Allt från // till slutet av raden
Anmärkning inom citattecken "flat whites" £3.40 * 5 Allt inom dubbla citattecken, var som helst på en rad
Anmärkning inom hakparenteser $999 (for iPhone 16) Ord inom hakparenteser, var som helst på raden
calc
# Weekly shop
milk = £1.45
bread = £1.20 // sourdough
eggs = £2.30 "free range"
milk + bread + eggs # without the extras ger £4.95

Ett nummertecken eller snedstreck gör resten av raden till en kommentar, medan citattecken och parenteser även kan stå mitt på raden. Du kan därför beskriva vad ett belopp avser och ändå fortsätta beräkningen:

calc
$999 (for iPhone 16) ger $999.00
laptop £899 (refurbished) + £49 case ger £948.00
Boing "747" is $386.8M ger $386.8M

Citattecken är säkrast runt något som ser ut som ett tal. Därför tas 747 ovan inte med i beräkningen. Parenteser som bara innehåller ett tal tolkas som matematik, inte som en kommentar, eftersom ett tal intill en parentes innebär multiplikation:

calc
$999 (3) ger $2,997.00

Skriv därför antalet utanför parenteserna eller ange vad du räknar, som i $999 (3 handsets). Allt annat än enbart ett tal förblir en kommentar, även ord med bindestreck och procentsatser:

calc
£134 (25% discount already applied) ger £134.00
£10 (mother-in-law) ger £10.00

En rad som börjar med nummertecken och mellanslag är en kommentar från början till slut och passar därför som rubrik i ett block.

Mellanslaget gör nummertecknet till en kommentar. Ett # direkt intill ett ord, som i #food, är en tagg. Den märker raden utan att ingå i beräkningen och låter dig summera alla rader med samma tagg, oavsett var i blocket de finns.

calc
£12.50 lunch #food ger £12.50
£8 coffee #food ger £8.00
total of #food ger £20.50

Ett nummertecken följt av siffror är varken kommentar eller tagg. Det anger ett referensnummer för det raden handlar om och ingår inte i beräkningen. Faktura-, order- och artikelnummer kan därför skrivas som de är.

calc
Invoice #123: £250 ger £250.00
part #4 weighs 20 g ger 20 g

Etiketter

En etikett är några ord följda av ett kolon och ett mellanslag i början av en rad. Den beskriver svaret utan att vara en del av matematiken:

calc
rent = £1,250
bills = £180
Rent and bills: rent + bills ger £1,430.00
Café bill: £12.50 + £4 ger £16.50

Etiketter får innehålla bokstäver, även med accenter, siffror, mellanslag och understreck, som i Flat 2: eller Q3 rent:.

En etikett skapar inte ett namn. Efter Rent and bills: rent + bills finns inget värde med namnet Rent and bills. Använd = om du vill återanvända resultatet. Undvik också etiketter före tilldelningar: Housing: rent = £1,250 visar beloppet men sparar inte rent.

Tilldelning

= ger ett värde ett namn. Raden visar också värdet så att du kan kontrollera det medan du skriver.

calc
price = £85 ger £85.00
price + 20% ger £102.00

För att uppdatera ett namn som du redan har definierat, använd +=, -=, *= eller /=:

calc
holiday fund = £400
holiday fund += £150 ger £550.00
holiday fund -= £85 ger £465.00
servings = 4
servings *= 3 ger 12
flour = 750 g
flour /= 3 ger 250 g

Om höger sida misslyckas innehåller namnet felet, och varje rad som använder det visar samma fel tills du tilldelar namnet igen:

calc
guests = 0
per head = £120 / guests ger Error: divide by zero
per head + £5 ger Error: divide by zero

Ett värde som du sparar under ett namn kan ha en beskrivning, precis som på en fristående rad. Högerledet får däremot inte bestå av lösa ord runt ett ensamt namn, eftersom det då är oklart vad som ska sparas. Om rent = £1,150 är definierat rapporterar x = spent excl rent därför spent excl rent som ett fel, i stället för att obemärkt spara hyran.

calc
paid rent = £1,150
daily spend = paid rent / 16 ger £71.88

Namn

Namn kan vara flera ord långa och kan innehålla accentuerade och icke-latinska bokstäver, siffror, understreck och emojis:

calc
flat white = £3.40
flat white * 5 ger £17.00
crème brûlée = £6.50
crème brûlée * 2 ger £13.00
🍎 price = £0.45
🍎 price * 6 ger £2.70
q1 sales = £12,400
q2 sales = £14,100
q1 sales + q2 sales ger £26,500.00
bedroom_width = 3.2 m
bedroom_width * 2 ger 6.4 m

Ett namn kan inkludera ord som Varlig använder någon annanstans, såsom to, in eller needed, och det kan låna namnet på en inbyggd funktion såsom floor. Var du än använder det som ett värde läser Varlig ditt värde:

calc
time to work = 25 min
time to work * 10 ger 4 hours 10 min
paint needed = 12.44 L
paint needed to 1 dp ger 12.4 L
floor = 12 m²
floor * 2 ger 24 m²
floor(3.7) ger 3

Med efterföljande parenteser, som i floor(3.7), fungerar funktionen fortfarande som vanligt.

Ett namn kan till och med sluta med ett talord, så att ett pris kan skrivas som på menyn:

calc
table for four = £96
table for four / 4 ger £24.00

Om två namn börjar likadant har det längre företräde, så ett namn med ett nummer tolkas i sin helhet:

calc
batch = £8.01
batch 2 = £8.21
batch 2 - batch ger £0.20

Namn är skiftlägeskänsliga: eggs och Eggs är två olika värden.

Om ett namn ska vara tillgängligt i alla anteckningar, till exempel ditt timpris eller en skattesats, lägger du till det bland de globala definitionerna i Settings i stället för att upprepa det i varje anteckning.

Namn som krockar med inbyggda ord

Ett namn som du definierar har företräde framför allt annat med samma stavning, till exempel en enhet, ett talord eller en konstant. Vanliga namn förändrar ändå inte hur storheter tolkas. Ett tal direkt före ett namn i plural eller en enhet anger antalet av det, och en procentandel före tip eller tax anger dricksen eller skatten. Därför ändrar värden med namnen hours, nights eller tip inte dessa rader:

calc
rate = £14 / hour
hours = 7.5
rate * 7.5 hours ger £105.00
nights = 14
£118/night * 14 nights ger £1,652.00
tip = $12.69
$84.60 + 18% tip ger $99.83

Håll pekaren över ordet för att se vilken tolkning Varlig använde. För rate * 7.5 hours visas "Counts hours here, not the variable hours = 7.5." På andra ställen i en rad används namnets värde, som i split £90 among people.

Omvandlingar fungerar på samma sätt: efter in, to eller as har en enhet företräde framför ett namn som innehåller ett tal utan enhet. Ett namngivet antal hindrar därför inte en omvandling till en enhet med samma namn. Med miles = 12 ger 20 km in miles fortfarande 12,4274238447 mi. Ett namn framför enheten skalar den i stället för att ange ett omvandlingsmål. Därför ger 15.2 m in scale miles med scale = 76.2 meddelandet Unsupported: conversion to scale miles i stället för att välja någon av tolkningarna.

En sammansatt enhet med snedstreck utan mellanslag tolkas alltid som den enheten, oavsett hur du har använt bokstäverna på andra ställen. En densitet eller hastighet som kopieras från ett datablad behåller därför sin betydelse:

calc
g = 9.81 m/s²
2 g ger 19.62 m/s²
2.7 g/cm³ ger 2.7 g/cm³
50 kg * g ger 490.5 N

I några fall ändrar din definition faktiskt radens betydelse:

  • En ensam bokstav betyder alltid ditt värde. Efter m = 3 ger därför 2 m resultatet 6 i stället för två meter.
  • Ett tal före ett singularnamn multiplicerar det, så efter width = 3 blir 2 width 6. Samma sak gäller för ett ettbokstavsnamn före en enhet eller en operator. Ledtråden säger det och föreslår att man skriver 2 * width för att göra det tydligt.
  • Även talord och konstanter ersätts: efter one = 7 ger one times two resultatet 14.

Två vanor hjälper dig att undvika de flesta överraskningar:

  • Använd inte ensamma enhetssymboler som namn, till exempel m, s, h eller in. Undvik också att återanvända konstanter och talord som pi, one och i.
  • Föredra beskrivande namn som hours worked, day rate eller run distance.

Ordningen i dokumentet

Varje rad kan använda namn som definierats ovanför den. Namnen är också tillgängliga i senare beräkningsblock i samma anteckning, så du kan ange indata en gång och återanvända dem längre ned.

calc
price = £20
quantity = 3
cost = price * quantity ger £60.00
price = £25
price * quantity ger £75.00
cost ger £60.00

En ny definition av price ändrar inte den tidigare raden med cost: cost beräknades med priset som gällde där. Om du vill ändra resultatet av en tidigare beräkning redigerar du raden där dess indata definieras.

Resultatet ovanför

prev är resultatet på närmaste rad ovanför. ans betyder samma sak om du inte själv har gett ett värde namnet ans. De passar för en snabb fortsatt beräkning:

calc
£1,250 * 12 ger £15,000.00
prev / 52 ger £288.46
ans + £20 ger £308.46

För att lägga ihop en grupp rader, skriv sum eller total på en egen rad. Se Att lägga ihop raderna ovan.

Referera till en rad med dess nummer

line1, line2 och så vidare hänvisar till en beräkning genom dess position i anteckningen, med alla beräkningsblock räknade i ordning:

calc
price = £100 ger £100.00
line1 * 2 ger £200.00

En referens fortsätter att peka på samma rad. Om du infogar en rad ovanför eller flyttar rader med Format › Move Line Up och Move Line Down används fortfarande samma rad i resultatet. Varlig numrerar om referenstexten åt dig i ett separat steg som kan ångras, så att det som står också är det som beräknas.

Om du raderar raden som en referens pekar på visas Error: line2 refers to a deleted line i stället för att ett annat värde används obemärkt. Ångra återställer både raden och referensen.

Referenser bevaras vid kopiering och inklistring

Om du kopierar eller klipper ut beräkningsrader och klistrar in dem fortsätter referenser som line2 och ↑ att läsa de rader som de läste tidigare:

  • En referens till en kopierad rad följer kopian och numreras om efter dess nya position.
  • En referens till en rad som du inte kopierade fortsätter att läsa samma rad om du klistrar in i samma anteckning.
  • Om du klistrar in i en annan anteckning blir referensen i stället namnet som raden definierar, till exempel rent för rent = $1,200. Det fungerar när den nya anteckningen definierar namnet eller importerar det. En rad utan namn blir en referens som line2_of_Budget, som visar ett meddelande tills du ersätter den:
calc
5 + line2_of_Budget ger Unsupported: line2_of_Budget is a line of another note

Urklipp innehåller bara texten du markerade, så andra appar får exakt den texten. Inklistringen är ett enda steg som kan ångras. Rader från en lösenordsskyddad anteckning klistras in precis som de är skrivna.

Omvandla prosa till en beräkning

Har du klistrat in en faktura eller skrivit några rader som ska beräknas? Markera raderna och välj Format › Convert to Calculation Block, eller tryck på ⌘Y med texten markerad. Varlig omsluter raderna med avgränsare för ett beräkningsblock i en enda ändring som kan ångras. Resultaten visas bredvid raderna.

Med ingenting valt infogar ⌘Y ett tomt block. Text utanför ett block beräknas aldrig, så ett klistrat e‑postmeddelande behåller sina siffror, datum och fakturareferenser exakt som de är.

Nollställa definitionsområdet

En rad som bara innehåller --- inleder ett nytt definitionsområde. Namn, egna enheter och egna funktioner som definierats ovanför är inte längre tillgängliga nedanför. Det är praktiskt när du jämför två scenarier i samma anteckning utan att deras värden påverkar varandra.

calc
# Option A: the flat in town
rent = £1,250
travel = £60
rent + travel ger £1,310.00
---
# Option B: the flat further out
rent = £980
travel = £210
rent + travel ger £1,190.00

Nedanför --- måste travel definieras igen. Om du glömmer har den rad som använder den ingenting att hänvisa till.

Villkorsuttryck

if … then … else … väljer ett av två värden baserat på en jämförelse. Du kan använda det på egen hand eller tilldela resultatet ett namn:

calc
basket = £34.50
delivery = if basket >= £40 then £0 else £3.99 ger £3.99
basket + delivery ger £38.49

Lägg till else if för fler än två möjliga utfall:

calc
basket = £34.50
if basket < £20 then £4.99 else if basket < £40 then £2.99 else £0 ger £2.99

Endast den valda grenen beräknas, så den andra grenen kan innehålla något som skulle misslyckas:

calc
guests = 0
if guests > 0 then £120 / guests else £0 ger £0.00

Efterställda if och unless

Du kan också sätta villkoret efter värdet. value if condition visar värdet när villkoret är sant, och value unless condition visar det när villkoret inte är sant. I båda fallen visar raden ingenting annars.

calc
basket = £34.50
£3.99 if basket < £40 ger £3.99
£3.99 unless basket >= £40 ger £3.99

Värdet kan vara text inom dubbla citattecken. Då kan en kontroll visa ett meddelande om läget och lämna raden tom när villkoret inte gäller:

calc
conversion = 0.667%
"on target" if conversion > 0.5% ger on target

Tilldelning inuti ett villkorsuttryck

Båda grenarna kan tilldela ett värde till samma namn:

calc
basket = £34.50
if basket >= £40 then shipping = £0 else shipping = £3.99 ger £3.99
shipping ger £3.99

Med enbart en then-gren sker tilldelningen när villkoret är uppfyllt. Annars behåller namnet sitt tidigare värde:

calc
basket = £34.50
points = 0
if basket > £30 then points = 50 ger 50
points ger 50

Jämförelser såsom >= och &&- och ||-operatorerna täcks i Operatorer, jämförelser och villkor.

Samlat exempel

Här är en liten frilansfaktura, skriven på det sätt du kanske kan spara den i en anteckning:

calc
# March invoice
day rate = £420
days worked = 6
travel = £86.40 // train fares
fees = day rate * days worked ger £2,520.00
subtotal = fees + travel ger £2,606.40
vat registered = true
vat = if vat registered then subtotal * 20% else £0 ger £521.28
Total due: subtotal + vat ger £3,127.68

Alla indata har namn, så nästa månad behöver du bara ändra days worked och travel. Resten av fakturan uppdateras. Kommentarerna och etiketten gör blocket lättläst, och villkoret gör att samma anteckning fungerar oavsett om du tar ut moms.