Fusklapp

Formler Biscuit apporterar oftast

En fungerande referens. Kopiera, klistra in, gå tillbaka till ditt jobb. Inga annonser, inga popups, ingen chattbot som tigger om din mejl.

Tips från Biscuit: ctrl+F är din vän här. Jag har lagt upp det så att du hittar vad som helst på under femton sekunder.
Sektion 1

Summor och räkning

Räkna rader som matchar ett villkor

=COUNTIF(A:A, "Denver")

Returnerar antalet celler i kolumn A som exakt matchar "Denver".

Räkna med jokertecken

=COUNTIF(A:A, "*Denver*")

Använder asterisker för delvisa matchningar. Fungerar i Excel och Google Sheets.

Räkna med flera villkor

=COUNTIFS(A:A, ">10", B:B, "active")

Varje villkor-område-par är OCH. För ELLER-logik, addera två COUNTIFS.

Summera endast matchande rader

=SUMIF(A:A, "Denver", B:B)

Summerar värden i kolumn B där kolumn A är lika med "Denver".

Summera med flera villkor

=SUMIFS(B:B, A:A, "Denver", C:C, ">=100")

Värdeområdet kommer först i SUMIFS, sedan villkorsparen. Lätt att råka kasta om.

Löpande summa

=SUM($B$2:B2)

Dra ner. Ankaret låser starten, det relativa slutet växer medan du drar.

Sektion 2

Uppslagningar

Grundläggande VLOOKUP

=VLOOKUP(A2, Products!A:C, 3, FALSE)

Hittar A2 i Products kolumn A, returnerar 3:e kolumnen. FALSE betyder exakt matchning.

INDEX/MATCH (bättre)

=INDEX(Products!C:C, MATCH(A2, Products!A:A, 0))

Biscuit föredrar detta. Det hanterar kolumninfogningar och kan titta åt vänster.

XLOOKUP (nyare Excel)

=XLOOKUP(A2, Products!A:A, Products!C:C)

Den moderna ersättaren. Renare, hanterar fel bättre. Inget stöd i Google Sheets än.

Ungefärlig matchning (sorterad data)

=VLOOKUP(A2, Brackets!A:B, 2, TRUE)

TRUE betyder hitta det största värdet som är mindre än eller lika med A2. Bra för skatteintervall.

Tvåvägsuppslagning

=INDEX(Data!B:Z, MATCH(A2, Data!A:A, 0), MATCH(B2, Data!1:1, 0))

Rad och kolumn matchas dynamiskt.

Sektion 3

Text och regex

Rensa blanksteg

=TRIM(A2)

Tar bort blanksteg i början, slutet och dubblerade interna blanksteg.

Titelform

=PROPER(A2)

"hello world" blir "Hello World".

Sammanfoga med avgränsare

=TEXTJOIN(", ", TRUE, A2:A10)

TRUE ignorerar tomma celler.

Plocka ut domän från mejl

=MID(A2, FIND("@", A2)+1, LEN(A2))

FIND hittar @, MID tar allt efter.

Regex extract (Google Sheets)

=REGEXEXTRACT(A2, "[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]+")

Drar ut den första mejladressen ur vilken röra som helst.

Regex replace

=REGEXREPLACE(A2, "\s+", " ")

Kollapsar alla blanksteg till enstaka mellanslag.

Sektion 4

Datum

Dagens datum

=TODAY()

Uppdateras varje gång bladet räknas om.

Dagar mellan två datum

=B2-A2

Datum är tal under skalet. Subtraktion fungerar bara.

Månadens namn från ett datum

=TEXT(A2, "mmmm")

Returnerar "januari", "februari", osv.

Första dagen i aktuell månad

=EOMONTH(TODAY(), -1)+1

EOMONTH betyder "slut på månaden". Gå tillbaka en månad, lägg till en dag.

Början av ISO-veckan (måndag)

=A2-WEEKDAY(A2, 3)

WEEKDAY med typ 3 returnerar 0 för måndag, så att subtrahera landar på måndag.

Arbetsdagar mellan datum

=NETWORKDAYS(A2, B2)

Utesluter lördagar, söndagar och valfria helgdagar.

Sektion 5

Matriser (Google Sheets)

Applicera en formel på en hel kolumn

=ARRAYFORMULA(A2:A*2)

Slipp dra ner tusentals rader.

QUERY med SQL-liknande syntax

=QUERY(Data!A:D, "SELECT A, SUM(C) WHERE B='active' GROUP BY A", 1)

Låtsas att du skriver SQL. Det funkar faktiskt.

FILTER

=FILTER(A:B, B:B>100, C:C="active")

Returnerar matchande rader. Inga fula matrisformelstrick behövs.

UNIQUE

=UNIQUE(A:A)

Returnerar alla unika värden i kolumn A. Sorterar i ordning de hittas, inte alfabetiskt.

SORT

=SORT(A2:C, 2, FALSE)

Sorterar efter andra kolumnen, fallande.

Sektion 6

VBA-snuttar

Dölj alla blad utom det aktiva

Sub HideOthers()
  Dim s As Worksheet
  For Each s In ThisWorkbook.Worksheets
    If s.Name <> ActiveSheet.Name Then s.Visible = xlSheetHidden
  Next s
End Sub

Fäll snabbt ihop en arbetsbok till det du faktiskt jobbar med.

Ta bort tomma rader i använt område

Sub KillEmpties()
  Dim r As Long
  For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
    If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
  Next r
End Sub

Går baklänges så att radnumren inte flyttas medan du tar bort.

Öppna varje fil i en mapp

Sub LoopFolder()
  Dim f As String
  f = Dir("C:\path\to\folder\*.xlsx")
  Do While f <> ""
    Workbooks.Open "C:\path\to\folder\" & f
    f = Dir()
  Loop
End Sub

Klassisk Dir-loop. Perfekt när du har en mapp full med månadsrapporter.

Hittade du inte det du behöver?

Beskriv det i lekplatsen, Biscuit snappar upp det ganska snabbt.

Säg vad du behöver på vanlig svenska. Jag apporterar formeln.
Testa lekplatsen