Jak sprawić, by Excel 2010 automatycznie wypełniał nowy wiersz formułami?

12

Mogę przysiąc, że widziałem takie zachowanie, w którym Excel automatycznie wypełnia nowo wstawiony wiersz tą samą formułą, co w wierszu powyżej.

Wiem, że można to zrobić za pomocą jakiegoś VBA, ale jeśli to możliwe, chciałbym dowiedzieć się, co powoduje, że dzieje się to natywnie (chyba że śniłem). Czy ktoś wie, jak to się robi?

RipperDoc
źródło

Odpowiedzi:

6

To nie jest sen i masz rację: AI programu Excel wyzwala te rzeczy, i to nie tylko w przypadku tabel. Tylko mały przykład do wykazania:

  • Otwórz nowy skoroszyt i wypełnij kolumnę Arosnącymi liczbami, np .:
1
2
3
4
5
  • Następnie w kolumnie B dodaj dowolną prostą formułę, np. =A1*10I automatycznie wypełnij listę liczb, aby ją uzyskać:
1      10
2      20
3      30
4      40
5      50
  • Teraz, aby zobaczyć, jak działa AI, wpisz 6(lub dowolną liczbę) w następnym wierszu pod 5(powinno to być A6w kontekście) i naciśnij TABLUB ENTER- jak zwykle.
  • Ciesz się magią! (:

Nie powinno to występować tylko w przypadku formuł - formatowanie może być również stosowane automatycznie, np. Po dodaniu nowej kolumny bezpośrednio do zestawu danych, a „Nagłówek” (pierwszy wiersz) ma specjalne formatowanie (czarny wypełnienie / biały tekst) i zaczyna pisać wartości tam - najprawdopodobniej będą pokolorowane w ten sam sposób.

Nie mogę podać pełnej listy przypadków, ale myślę, że masz wskazówkę!)

Peter L.
źródło
Co ciekawe, mogę to tylko uruchomić w kolumnach, a nie w wierszach (np. Jeśli transponujesz swój przykład, nie mogę go uruchomić).
RipperDoc
Nie mam pojęcia, dlaczego tak ... Być może dlatego, że dane zwykle są przechowywane w trybie kolumnowym wraz ze wzrostem - to jest bardziej naturalne))
Peter L.
Muszą mieć co najmniej cztery lata.
Łukasz
@PeterL. ,, fajna interpretacja +10 ☺
Rajesh S
3

Możesz całkowicie uniknąć funkcji autouzupełniania dzięki formułom tablicowym . Po prostu wprowadź formułę jak normalnie, ale dołącz :columnna końcu każdego odwołania do komórki, a następnie naciśnij Ctrl+ Shift+Enter . Formuła zostanie następnie zastosowana natychmiast do wszystkich komórek w kolumnie bez przeciągania czegokolwiek


Edytować:

Nowsze wersje programu Excel będą automatycznie używać formuł tablicowych do wypełniania, gdy pojawi się nowy wiersz danych

Począwszy od aktualizacji Office 365 z września 2018 r., Każda formuła, która może zwrócić wiele wyników, automatycznie rozleje je w dół lub w sąsiednie komórki. Tej zmianie zachowania towarzyszy także kilka nowych dynamicznych funkcji tablicowych. Dynamiczne formuły tablicowe, bez względu na to, czy używają istniejących funkcji, czy dynamiczne funkcje tablicowe, należy wprowadzić tylko do jednej komórki, a następnie potwierdzić naciskając klawisz Enter. Wcześniejsze formuły tablicowe wymagają najpierw wybrania całego zakresu wyjściowego, a następnie potwierdzenia formuły za pomocą Ctrl+ Shift+ Enter. Są one powszechnie nazywane formułami CSE.

Wytyczne i przykłady formuł tablicowych

Jeśli korzystasz ze starszej wersji programu Excel lub chcesz dowiedzieć się więcej o formułach tablicowych, kontynuuj czytanie


Na przykład wstawienie =B3:B + 2*C3:CD3 i Ctrl+ Shift+ Enterjest równoznaczne z pisaniem =B3 + 2*C3i przeciąganiem do końca tabeli od wiersza 3

To szybkie pisanie, ale ma tę wadę, że nieużywane komórki na końcu (poza bieżącą tabelą) są nadal obliczane i pokazują 0. Istnieje łatwy sposób na ukrycie zer . Jednak jeszcze lepszym sposobem jest ograniczenie obliczeń do ostatniej kolumny tabeli. Wiedząc, że we wzorze tablicowym możesz zastosować, X3:X101aby zastosować tylko do komórek od X3 do X101, możemy użyć INDIRECTfunkcji, aby osiągnąć ten sam efekt

  • Wprowadź =LOOKUP(2, 1/(A:A <> ""), A:A)komórkę poza tabelą, aby znaleźć ostatnią niepustą komórkę w tabeli i nazwij ją LastRow. Alternatywnie użyj, =COUNTA(A3:A) + 2gdy pierwszy rząd tabeli to 3
  • Następnie zamiast B3:Bużywać=INDIRECT("B3:B" & LastRow)

Na przykład, jeśli chcesz komórki w kolumnie D zawierają produkty komórek B i C, a kolumna E zawiera sumy B i C, zamiast używania D3 = B3*C3i E3 = B3 + C3i przeciągnij w dół po prostu umieścić niżej wzorach w D3 i E3 odpowiednio i naciśnij Ctrl+ Shift+Enter

=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)

Od teraz za każdym razem, gdy dodasz dane do nowego wiersza, tabela będzie automatycznie aktualizowana


Formuła tablicowa jest bardzo szybka, ponieważ wzorzec dostępu do danych jest już znany. Teraz zamiast wykonywać 100001 różnych obliczeń oddzielnie, można je wektoryzować i wykonywać równolegle , wykorzystując wiele rdzeni i jednostkę SIMD w CPU. Ma również następujące zalety:

  • Spójność: jeśli klikniesz dowolną komórkę od E2 w dół, zobaczysz tę samą formułę. Ta spójność może pomóc zapewnić większą dokładność.
  • Bezpieczeństwo: nie można zastąpić składnika formuły macierzy wielokomórkowej. Na przykład kliknij komórkę E3 i naciśnij klawisz Delete. Musisz albo wybrać cały zakres komórek (od E2 do E11) i zmienić formułę dla całej tablicy lub pozostawić tablicę bez zmian. Jako dodatkowy środek bezpieczeństwa musisz nacisnąć Ctrl+ Shift+, Enteraby potwierdzić zmianę formuły.
  • Mniejsze rozmiary plików: często można użyć formuły z jedną tablicą zamiast kilku formuł pośrednich. Na przykład, skoroszytu wykorzystuje jeden wzór do obliczania macierzy wyników w kolumnie E. Jeżeli nie stosuje się standardowe wzory (na przykład =C2*D2, C3*D3, C4*D4...), można by stosować 11 różne wzory na obliczenie takie same wyniki.

Wytyczne i przykłady formuł tablicowych

Aby uzyskać więcej informacji przeczytaj

phuclv
źródło
INDIRECTjest zmienną funkcją, która powoduje, że skoroszyt oblicza ją ponownie przy każdej zmianie komórki. Czy istnieje sposób (CSE lub inny), aby wypełnić określoną liczbę wierszy bez użycia INDIRECT?
wetwet
0

Jest to domyślne zachowanie programu Excel, jeśli wprowadzisz formułę do pustej kolumny w tabeli . Aby to uzyskać, musisz wstawić tabelę :

wprowadź opis zdjęcia tutaj

Peter Albert
źródło
Dzięki, to działa, ale bez wcześniejszego używania Tabeli, widziałem ten efekt na poszczególnych komórkach. Uważam, że musi to być ustawienie automatycznego wypełniania.
RipperDoc,
istnieją dwa sposoby, aby to bardzo szybko zrobić: 1. wprowadź formułę, a następnie dwukrotnie kliknij małe „+” po najechaniu myszką na prawy dolny róg komórki 2. Wybierz pełny zakres i wprowadź formułę za pomocą Ctrl-Enter . Ale żadna opcja nie jest „prawdziwym autouzupełnianiem” jak w tabelach. Całkiem pewne, że nie istnieje (chyba że jest wbudowany w VBA)
Peter Albert
0

Jednym ze sposobów automatycznego wykonania tego zadania jest skopiowanie i wklejenie żądanych formuł w wielu wierszach. Jeśli robisz to jeden po drugim, nie jest jasne, że kopiowanie i wklejanie powinno być automatycznie uzupełniane dla każdego wiersza później. Jeśli skopiujesz i wkleisz blok, program Excel przejmie i automatycznie skopiuje i wklei formułę dla przyszłych wierszy.

użytkownik300038
źródło
0

Prawdopodobnie widzisz problem, ponieważ niektóre kolumny w tabeli nie są ustawione na automatyczne wypełnianie. Możesz ustawić automatyczne wypełnianie kolumny, wybierając komórkę z formułą, chwytając zielone pole w prawym dolnym rogu i przeciągając do ostatniego wiersza lub tabeli. Po wykonaniu tej czynności kolumna zostanie automatycznie wypełniona, dzięki czemu wszystkie nowe wiersze będą automatycznie miały formułę w tej kolumnie.

Dennis
źródło
0

Dla mnie działał dla dwóch kolumn formuł i nagle zatrzymał się tylko dla jednej z nich. Myślę, że musiałem skopiować i wkleić inną komórkę i pomieszać link. Aby to naprawić, wybrałem komórkę i poszedłem do strony głównej> Edycja> Wypełnienie> Seria i potwierdziłem szczegóły. Mam nadzieję, że to pomaga.

Oli
źródło
To jest odpowiedź na inny problem i nie odpowiada na zadane pytanie.
DavidPostill
0

Miałem ten problem, w którym tabela przestała się automatycznie wypełniać ... Nie wiem, dlaczego nagle przestała działać, ale oto poprawka:

  • Dodaj formułę do odpowiedniej kolumny w ostatnim wierszu tabeli i naciśnij enter
  • Kliknij małe kwadratowe wyskakujące okienko oznaczone fx i wybierzOverwrite all cells in this column with this formula
  • Dodaj nowy wiersz do tabeli, który powinien teraz automatycznie wypełniać formułę

To zadziałało dla mnie doskonale, mam nadzieję, że pomoże każdemu innemu.

S3DEV
źródło
0

Wright (w razie potrzeby ponownie zapisz) formułę i naciśnij klawisz Enter. Następnym razem, gdy dodasz dane do następnego wiersza, automatycznie zapełni formułę.

Natalie
źródło
Przeczytaj „Dlaczego potrzebuję 50 reputacji, aby móc komentować”, aby upewnić się, że możesz zacząć komentować.
Pimp Juice IT
Do zapisu coś na papierze, aby dokonać właściwej kolej, a Wright Bracia że podobno poleciał pierwszy samolot.
Pimp Juice IT
Nauka tego jest rytuałem przejścia.
Scott
-2

Możesz to zrobić za pomocą funkcji Justowanie w menu rozwijanym Wypełnienie. Znajduje się pod kartą Narzędzia główne w funkcjach edycji. W mojej kopalni jest daleko po prawej stronie paska narzędzi.

XLRookie
źródło
Chcesz dodać szczegóły, jak to się dzieje? Na tej podstawie nie robi tego, o co poprosił PO.
zagrimsan
To, co zrobiłem, to utworzenie tabeli z wypełnieniem sformatowanym w nagłówkach, formułami itp. Dla każdej komórki pod nagłówkami. Następnie w lewej kolumnie najbardziej wybrałem zakres, który jeszcze nie sformatowałem, poszedłem do rozwijanego menu wypełnienia i wybrałem uzasadnienie. Teraz, gdy zaczynam wprowadzać informacje w tym zakresie komórek, cały automatyczny format wierszy formatuje formuły, wypełnienia itp. Ustawione w mojej tabeli. Niestety, nie jestem zbyt zaawansowany technologicznie, więc nie wiem, jak wstawiać zdjęcia w tym komentarzu, aby mieć lepszy sens.
XLRookie,
Ta metoda powoduje, że wiersz, w którym obecnie wprowadzasz dane, sformatuje się tak samo jak wiersz bezpośrednio nad nim.
XLRookie
Nie możesz wstawiać zdjęć do komentarzy, ale możesz to zrobić w odpowiedzi. Jednak przetestowałem to i wydaje mi się, że Fill-> Justify nie jest potrzebne, aby nastąpiło automatyczne wypełnianie (wypróbuj to sam, pozostawiając krok uzasadnienia od kroków, które opisałeś). Omawiana tutaj funkcja automatycznego wypełniania w programie Excel jest przyczyną, a nie uzasadnieniem.
zagrimsan
Haha to prawda. To pokazuje mój poziom wiedzy w tej dziedzinie.
XLRookie