Spis treści
Czy nie chcesz używać Excel VBA i chcesz zrobić Pętla FOR w Excelu za pomocą Formuły? W tym artykule pokazałem, jak można zrobić Pętla FOR z wykorzystaniem wzorów.
Jeśli wiesz jak kodować w Excelu VBA , jesteś błogosławiony 🙂 Ale, jeśli nigdy nie napisałeś kodu w VBA lub chcesz, aby Twój skoroszyt Excela był wolny od Excela VBA kod, to przez większość czasu musisz myśleć poza pudełkiem, aby stworzyć prosty pętla .
Pobierz plik roboczy
Pobierz plik roboczy z poniższego linku:
Zrób pętlę używając formuł.xlsx3 Przykłady, aby zrobić pętlę FOR w Excelu przy użyciu formuły
Tutaj zademonstruję 3 przykłady do wykonania Pętla FOR w Excelu za pomocą formuły. Zobaczmy szczegółowe przykłady.
1) Zastosowanie funkcji łączonych do tworzenia pętli FOR w Excelu
A teraz pozwólcie mi poznać tło, które zachęca mnie do napisania tego przykładu.
Jestem autorem kilku kursów na Udemy. Jeden z kursów dotyczy Formatowania warunkowego w Excelu. Tytuł kursu to: Naucz się formatowania warunkowego w Excelu dzięki 7 praktycznym problemom. [ aby uzyskać bezpłatny dostęp do tego kursu, kliknij tutaj ].
Na forum dyskusyjnym kursu, student zadał mi pytanie jak poniżej [obrazek zrzutu ekranu].
Pytanie zadane przez studenta w Udemy.
Przeczytaj uważnie powyższe pytanie i spróbuj je rozwiązać...
Kroki do rozwiązania powyższego problemu:
Tutaj użyję LUB , OFFSET , MAX , MIN oraz ROW funkcje jako Formuła Excel, aby utworzyć Pętla FOR .
- Po pierwsze, Twoim zadaniem jest otwarcie nowego skoroszytu i wprowadzenie powyższych wartości po kolei do arkusza [zacznij od komórki C5 ].
- Po drugie, wybierz cały zakres [z komórki C5:C34 ].
- Po trzecie, z Strona główna wstążka>> kliknij na Formatowanie warunkowe polecenie.
- Na koniec wybierz Nowa zasada opcja z rozwijanej listy.
W tym czasie, Nowa zasada formatowania Pojawia się okno dialogowe.
- Teraz, w Wybierz typ reguły okno>> wybierz Użyj formuły, aby określić, które komórki mają być sformatowane opcja.
- Następnie, w Formatuj wartości, w których ta formuła jest prawdziwa w polu, wpisz tę formułę:
=OR(OFFSET(C5,MAX(ROW(C$5)-ROW(C5)+3,0),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)-OFFSET(C5,MAX(ROW($C$5)-ROW(C5),-3),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)=3)
- Teraz należy wybrać odpowiedni typ formatu, klikając na Format... w oknie dialogowym.
W tym czasie pojawi się okno dialogowe o nazwie Formatuj komórki pojawi się.
- Teraz, z Wypełnij opcja>> trzeba wybrać dowolny z kolorów.Tutaj wybrałem Jasnoniebieski W tle widać też przykład natychmiast. W tym przypadku spróbuj wybrać dowolny światło Ponieważ ciemny kolor może ukrywać wprowadzane dane. W takim przypadku może być konieczna zmiana Kolor czcionki .
- Następnie należy nacisnąć OK aby zastosować formację.
- Następnie należy wcisnąć OK na Nowa zasada formatowania W tym miejscu można zobaczyć próbkę natychmiast w Podgląd pudełko.
Na koniec otrzymasz sformatowane liczby.
Pozwolę sobie pokazać algorytm rozwiązania powyższego problemu:
- Tutaj, aby ułatwić Ci zrozumienie algorytmu, wyjaśnię całość na przykładzie dwóch komórek referencyjnych: komórek C11 oraz C17 W komórkach C11 oraz C17 , wartości to. 10 oraz 20 Jeśli jesteś przyzwyczajony do formuł Excela, to możesz wyczuć OFFSET funkcja, jak OFFSET Funkcja działa z punktami odniesienia.
- Teraz wyobraź sobie, że biorę wartości z zakresów komórek C8:C11 & C11:C14 oraz C14:C17 & C17: C20 Komórki referencyjne znajdują się obok siebie [zdjęcie poniżej]. C11 oraz C17 a ja biorę w sumie 7 komórki wokół komórki referencyjnej. Otrzymasz wyimaginowany obraz jak poniżej. Z pierwszej części możesz znaleźć wzór z obrazu. C9-C12=3 , C10-C13=3 , jest wzór, ale dla drugiej części nie ma takiego wzoru.
- Zbudujmy więc algorytm pamiętając o powyższym wzorze. Przed zbudowaniem wspólnego wzoru pokażę, jakie będą formuły dla komórek C11 oraz C17 a następnie zmodyfikuje formułę, aby była wspólna dla wszystkich. Dla punktu odniesienia (jak np. C11 lub C17 ), wezmę łącznie 7 komórki wokół niej (w tym punkt odniesienia) i umieścić je obok siebie w formule tworząc tablice. Następnie znajdę różnicę tych tablic, jeśli któraś z różnic jest równa 3 że komórka referencyjna będzie TRUE cenione.
- Tutaj mogę to zrobić w prosty sposób używając OFFSET funkcjonować jako OFFSET Funkcja zwraca tablicę. Powiedzmy, że dla odwołania do komórki C11 , mogę zapisać wzór w ten sposób: =LUB(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) Co zwróci ta formuła? Pierwsza funkcja offsetowa formuły zwróci tablicę: {10; 11; 12; 15} , druga funkcja offsetowa zwróci tablicę {5; 8; 9; 10} . And you know {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} . Kiedy ta tablica jest logicznie testowana z =3 wtedy Excel oblicza wewnętrznie w ten sposób: {5=3; 3=3; 3=3; 5=3} = {False; True; True; False} . When the LUB funkcja jest stosowana na tej tablicy: OR({False; True; False; True} otrzymujemy TRUE . So cell C11 otrzymuje wartości prawdziwe jako zwrócone.
- Tak więc, myślę, że masz całą koncepcję, jak ten algorytm będzie działać. Teraz jest problem. Ta formuła może działać z komórki C8 , powyżej komórki C8 , są 3 komórki. Ale dla komórek C5, C6, oraz C7 ta formuła nie może działać. Więc formuła powinna zostać zmodyfikowana dla tych komórek.
- Teraz, dla komórek C5 do C7 chcemy, aby formuła nie uwzględniała górnego 3 Na przykład, dla komórki C6 , nasza formuła nie będzie taka jak formuła dla komórki C11 : =LUB(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
- Tutaj, dla komórki C5 , wzór będzie jak: LUB(OFFSET(C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
- Następnie, dla komórki C6 , formuła będzie taka jak: LUB(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
- Następnie, dla komórki C7 , wzór będzie jak: LUB(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
- Ponownie, dla komórki C8 , wzór będzie jak: LUB(OFFSET(C8, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [jest to wzór ogólny].
- Następnie, dla komórki C9 , formuła będzie taka jak: LUB(OFFSET(C9, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [jest to wzór ogólny].
- Wreszcie, czy z powyższych wzorów wynikają jakieś wzory? Pierwszy OFFSET argument wierszy funkcji zmniejszył się z 3 do 0 ; argument wysokości wzrósł z 1 do 4 . Drugi OFFSET argument wierszy funkcji zmniejszył się z 0 do -3 i argument wysokości wzrósł z 1 do 4 .
- Po pierwsze. OFFSET Argument rows funkcji zostanie zmodyfikowany w następujący sposób: MAX(ROW(C$5)-ROW(C5)+3,0)
- Po drugie. OFFSET Argument rows funkcji zostanie zmodyfikowany w następujący sposób: MAX(ROW(C$5)-ROW(C5),-3)
- Po trzecie, Pierwszy OFFSET Argument height funkcji zostanie zmodyfikowany w następujący sposób: MIN(ROW(C5)-ROW(C$5)+1,4)
- Po czwarte, drugie OFFSET Argument height funkcji zostanie zmodyfikowany w następujący sposób: MIN(ROW(C5)-ROW(C$5)+1,4)
- Teraz spróbuj zrozumieć powyższą modyfikację. Nie są one tak trudne do zrozumienia. Wszystkie te cztery modyfikacje działają jak FOR LOOP Excel VBA, ale zbudowałem je za pomocą Excel Formulas.
- Tak więc, masz sposoby, jak działa ogólna formuła dla komórek z C5:C34 .
Mówiłem o pętlach w arkuszach Excela. To jest doskonały przykład pętli w Excelu. Tutaj, za każdym razem, gdy formuła bierze 7 komórek i pracuje na nich w celu znalezienia określonej wartości.
2) Zastosowanie funkcji IF & OR do tworzenia pętli FOR w Excelu
W tym przykładzie załóżmy, że chcesz sprawdzić, czy komórki zawierają jakieś wartości, czy nie.Ponadto, za pomocą Excel VBA Do pętli, można to zrobić w prosty sposób, ale tutaj zrobię to za pomocą formuły Excela.
Teraz możesz użyć the JEŚLI , oraz LUB funkcje jako Formuła Excel do tworzenia Pętla FOR . Ponadto, możesz zmodyfikować tę formułę zgodnie z własnymi preferencjami. Kroki są podane poniżej.
Kroki:
- Po pierwsze, musisz wybrać inną komórkę E5 gdzie chcesz zobaczyć Status .
- Po drugie, należy użyć odpowiedniej formuły w E5 komórka.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- Następnie należy nacisnąć ENTER aby uzyskać wynik.
Podział formuły
Tutaj LUB funkcja zwróci TRUE jeśli któraś z podanych logik stanie się TRUE .
- Po pierwsze, B5="" to 1. logika, która sprawdzi, czy komórka B5 zawiera jakąkolwiek wartość lub nie.
- Po drugie, C5="" to 2. logika, która sprawdzi, czy komórka C5 zawiera jakąkolwiek wartość lub nie.
- Po trzecie, D5="" to 3. podobnie, który sprawdzi, czy komórka D5 zawiera jakąkolwiek wartość lub nie.
Teraz JEŚLI Funkcja zwraca wynik, który spełni dany warunek.
- Kiedy LUB funkcja daje TRUE to dostaniesz " Brakujące informacje " jako Status . Inaczej dostaniesz " Gotowe " jako Status .
- Następnie należy przeciągnąć Uchwyt do napełniania ikona do AutoFill odpowiednie dane w pozostałych komórkach E6:E13 . Możesz też kliknąć dwukrotnie na Uchwyt do napełniania ikona.
Na koniec otrzymasz wszystkie wyniki.
3. zastosowanie funkcji SUMIFS do tworzenia pętli FOR w Excelu
Załóżmy, że chcesz zrobić całkowity rachunek dla pewnej osoby. W takim przypadku możesz użyć Pętla FOR używając formuły Excela. Tutaj użyję funkcja SUMIFS stworzyć Pętla FOR w Excelu. Kroki są podane poniżej.
Kroki:
- Po pierwsze, musisz wybrać inną komórkę F7 gdzie chcesz zobaczyć Status .
- Po drugie, należy użyć odpowiedniej formuły w F7 komórka.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)
- Następnie należy nacisnąć ENTER aby uzyskać wynik.
Podział formuły
- Tutaj, $C$5:$C$13 jest zakresem danych, z którego SUMIFS funkcja wykona sumowanie.
- Następnie, $B$5:$B$13 jest zakresem danych, od którego SUMIFS funkcja sprawdzi podane kryteria
- Wreszcie, E7 jest kryterium.
- Tak więc. SUMIFS Funkcja doda płatności dla E7 wartość komórki.
- Następnie należy przeciągnąć Uchwyt do napełniania ikonę, aby automatycznie wypełnić odpowiednie dane w pozostałych komórkach F8:F10 .
Na koniec otrzymasz wynik.
Wniosek
Mamy nadzieję, że ten artykuł okazał się pomocny. 3 odpowiednie przykłady, aby Pętla FOR w Excelu przy użyciu formuł. Możesz odwiedzić naszą stronę internetową Exceldemy Proszę, upuść komentarze, sugestie lub zapytania, jeśli masz jakieś w sekcji komentarzy poniżej.