Ściąga

Formuły, które Biscuit aportuje najczęściej

Działający spis. Skopiuj, wklej, wracaj do pracy. Bez reklam, bez popupów, bez chatbota błagającego o twój email.

Wskazówka od Biscuita: ctrl+F to tu twój najlepszy kumpel. Ułożyłem wszystko tak, żeby każdą rzecz można było znaleźć w niecałe piętnaście sekund.
Sekcja 1

Sumy i zliczanie

Policz wiersze spełniające warunek

=COUNTIF(A:A, "Denver")

Zwraca liczbę komórek w kolumnie A, które dokładnie pasują do "Denver".

Zliczanie z symbolem wieloznacznym

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

Używa gwiazdek do częściowych dopasowań. Działa w Excelu i Google Sheets.

Zliczanie z wieloma warunkami

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

Każda para warunek-zakres to AND. Dla logiki OR dodaj dwa COUNTIFS.

Sumuj tylko pasujące wiersze

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

Sumuje wartości w kolumnie B, gdzie kolumna A równa się "Denver".

Sumowanie z wieloma warunkami

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

W SUMIFS zakres wartości idzie najpierw, potem pary warunków. Łatwo się pomylić.

Suma narastająca

=SUM($B$2:B2)

Przeciągnij w dół. Kotwica blokuje początek, relatywny koniec rośnie wraz z przeciąganiem.

Sekcja 2

Wyszukiwania

Podstawowe VLOOKUP

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

Znajduje A2 w kolumnie A Products, zwraca 3. kolumnę. FALSE oznacza dokładne dopasowanie.

INDEX/MATCH (lepsze)

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

Biscuit to woli. Radzi sobie ze wstawianiem kolumn i patrzy w lewo.

XLOOKUP (nowszy Excel)

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

Nowoczesny zamiennik. Czystszy, lepiej obsługuje błędy. Brak jeszcze wsparcia w Google Sheets.

Przybliżone dopasowanie (dane posortowane)

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

TRUE oznacza znajdź największą wartość mniejszą lub równą A2. Przydatne do progów podatkowych.

Wyszukiwanie dwukierunkowe

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

Wiersz i kolumna dopasowywane dynamicznie.

Sekcja 3

Tekst i regex

Usuń białe znaki

=TRIM(A2)

Usuwa spacje początkowe, końcowe i zduplikowane wewnętrzne.

Wielka litera na początku słowa

=PROPER(A2)

"hello world" staje się "Hello World".

Łączenie z separatorem

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

TRUE ignoruje puste komórki.

Wyciągnij domenę z emaila

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

FIND znajduje @, MID bierze wszystko po nim.

Regex extract (Google Sheets)

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

Wyciąga pierwszy adres email z każdego bałaganu.

Zastępowanie regex

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

Zwija wszystkie białe znaki do pojedynczych spacji.

Sekcja 4

Daty

Dzisiejsza data

=TODAY()

Aktualizuje się za każdym razem, gdy arkusz się przelicza.

Dni między dwoma datami

=B2-A2

Daty pod spodem to liczby. Odejmowanie po prostu działa.

Nazwa miesiąca z daty

=TEXT(A2, "mmmm")

Zwraca "styczeń", "luty" itd.

Pierwszy dzień bieżącego miesiąca

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

EOMONTH to "koniec miesiąca". Cofnij o miesiąc, dodaj jeden dzień.

Początek tygodnia ISO (poniedziałek)

=A2-WEEKDAY(A2, 3)

WEEKDAY z typem 3 zwraca 0 dla poniedziałku, więc odjęcie wypada na poniedziałek.

Dni robocze między datami

=NETWORKDAYS(A2, B2)

Wyklucza soboty, niedziele i opcjonalne święta.

Sekcja 5

Tablice (Google Sheets)

Zastosuj formułę do całej kolumny

=ARRAYFORMULA(A2:A*2)

Koniec przeciągania w dół tysięcy wierszy.

QUERY ze składnią podobną do SQL

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

Udawaj, że piszesz SQL. To naprawdę działa.

FILTER

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

Zwraca pasujące wiersze. Żadnych brzydkich sztuczek z formułami tablicowymi.

UNIQUE

=UNIQUE(A:A)

Zwraca każdą unikalną wartość w kolumnie A. Sortuje w kolejności wystąpień, nie alfabetycznie.

SORT

=SORT(A2:C, 2, FALSE)

Sortuje według drugiej kolumny, malejąco.

Sekcja 6

Fragmenty VBA

Ukryj wszystkie arkusze oprócz aktywnego

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

Szybko zwiń skoroszyt do tego, nad czym faktycznie pracujesz.

Usuń puste wiersze z używanego zakresu

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

Idzie wstecz, więc numery wierszy nie przesuwają się podczas usuwania.

Otwórz każdy plik w folderze

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

Klasyczna pętla Dir. Idealna, gdy masz folder pełen miesięcznych raportów.

Nie znalazłeś, czego szukasz?

Opisz to na placu zabaw, Biscuit łapie dość szybko.

Powiedz mi zwykłymi słowami, czego potrzebujesz. Przyniosę formułę.
Wypróbuj plac zabaw