2013-09-26 12 views
25

Okej, więc mam Formularz Google, który zrzuca informacje do arkusza kalkulacyjnego. W każdym wierszu muszę wykonać proste obliczenia. Problem polega na tym, że nie mogę wymyślić, jak zmusić go do powtórzenia formuły w każdym nowym wierszu w miarę dodawania nowych linii.Uczyń Arkusz kalkulacyjny Arkusza Google powtarzać w nieskończoność

Tak, wiem, jak używać uchwytu wypełnienia do kopiowania formuł, a co nie, ale chcę, aby automatycznie dodawała formułę zamiast mnie, ręcznie ją kopiując.

Na przykład ten jest używany do śledzenia czasu, więc nie jest komórka do In Time i komórka do Out Czas w każdym wierszu. Chcę mieć kolumnę o nazwie Czas spędzony, który odejmie ich czas od czasu na zewnątrz, aby określić, ile czasu spędzili. Ale ponieważ istnieje nieskończona liczba wierszy, nie jest dla mnie praktyczne wejście i skopiowanie formuły.

Jeśli ktoś ma jakieś pomysły, byłbym bardzo wdzięczny. Rozglądam się od wieków i jedyne, co mogę kiedykolwiek znaleźć, to to, że ludzie mówią, że używają uchwytu do wypełniania, aby ręcznie kopiować formuły, co nie jest tym, czego chcę.

Odpowiedz

45

powiedzmy In Time komórki znajdują się w kolumnie A i out time komórki w kolumnie B, a chcesz czas spędzony się w kolumnie C Umieść tę formułę w komórce C2 (zakładając, że A1, B1, C1 i zawiera nagłówek, a nie danych)

=ARRAYFORMULA(B2:B - A2:A) 

funkcja ARRAYFORMULA instruuje arkusz iterację zamkniętego wzoru w podanych zakresach, a odwołanie bez końcowego numeru, takiego jak B2:B, odnosi się do zakresu zawierającego wszystkie pozostałe wiersze w arkuszu kalkulacyjnym.

+2

Dziękuję tak bardzo, że jest dokładnie to, co potrzebne. Szukałem tego od miesięcy i nigdy nie mogłem znaleźć prostej odpowiedzi. Jeszcze jedno pytanie od czasu, w którym składnia formuły Array nadal trochę mnie podsuwa, w jaki sposób mogę zaimplementować instrukcję if.Na przykład chciałbym czegoś takiego jak JEŻELI (B2 = "?", "?", B2-A2) – slister

+3

Nieważne, wymyśliłem to = ARRAYFORMULA (JEŻELI (F2: F = "?", "?", F2: F - E2: E)) Dziękuję bardzo za skierowanie mnie we właściwym kierunku. – slister

+0

@Brionius Jak mogę zastosować formułę HTTPResponse dla całej kolumny dla starych i nowych danych? arrayformula nie działa dla = HTTPResponse! . nie chcę ręcznie kopiować formuły dla całej kolumny! – user1788736

5

Jeśli z jakiegoś powodu uważasz, że tablica jest trudna do zastosowania w twojej sytuacji, alternatywną opcją jest utworzenie zwierciadła tabeli na innym arkuszu za pomocą zapytania, do którego zapisano formuły.

E.g. jeśli mają numery w kolumnach A i B oraz formuły, aby dodać je razem:

=query(Data!A:B, "select A, B, A + B") 

Zaletą tego podejścia jest to, że będziesz często chcą zrobić agregacji i podsumowania Twoich danych formularzy, można zabić dwie ptaki z jednym kamieniem, robiąc to w tym samym zapytaniu, którego używasz do zastosowania formuł.

Wspomnę o jeszcze jednej sztuczce, która była przydatna w przeszłości, gdy składnia zapytań Google ma lukę w funkcjonalności. Można faktycznie zastosować formułę tablicową do danych przed przekazaniem jej do funkcji zapytania, jak w poniższym przykładzie, który ma wynik równoważny z poprzednim zapytaniem.

=query({Data!A:B, arrayformula(Data!A:A+Data!B:B)}, 
    "select Col1, Col2, Col3") 

Zauważ, że kolumny są już o których mowa w piśmie, ale przez Col1, COL2 itp

+0

Dzięki za sztuczkę zapytania @Tmdean, dobrze wiedzieć. – slister

Powiązane problemy