Czy Excel może wygenerować dziwną, ale logiczną sekwencję liczb?

16

Mam ten wzór w Excelu:

14
16
17
19
21
22
24
26
27
29
31
32
34
36
37
39
41
42
44
46
47
49
51
52
54
56
57
59
61
62

Logika to: +2, +2, +1, spłukać i powtórzyć. Ale kiedy próbuję rozszerzyć wzór, program Excel zacznie po prostu liczyć.

Jak mogę kontynuować ten wzór? Moja lista trwa do około 700.

baswijdenesdotcom
źródło
5
Możesz zdefiniować własną formułę za pomocą tej logiki, która odnosi się do komórki powyżej. Np. coś =A1+2w komórce B1i tak dalej, które doprowadzą do wszystkich liczb nieparzystych.
IQV,
1
To nie zadziała, ponieważ nadal będę musiał ręcznie zliczyć: S
baswijdenesdotcom
26
Co masz na myśli przez „ręczne liczenie”? Jaka jest logika twojego liczenia? Jeśli nie możesz zdefiniować swojej logiki, jak program może to dla Ciebie zrobić?
IQV,
1
@IQV: Szczerze mówiąc, w teście IQ nie byłoby to jedno z trudniejszych pytań. Wykrywanie wzoru + 2, + 2, + 1 jest łatwe. Tłumaczenie tego na program Excel jest nieco trudniejsze.
MSalters
2
Jeśli kiedykolwiek zastanawiasz się, „Czy Excel może to zrobić?”, Odpowiedź brzmi „Tak, może”. Wynika to z faktu, że program Excel jest Turing Complete , co oznacza, że ​​może wykonywać dowolne obliczenia, które może wykonać komputer.
RubberDuck

Odpowiedzi:

40

Excel rozpoznaje tylko wzorce arytmetyczne.

W twoim przypadku możesz zdefiniować formułę i wypełnić ją do wymaganych wierszy.

=A1 + IF(MOD(ROW(), 3) = 0, 1, 2)

Zmień A1 na komórkę, w której rozpoczyna się sekwencja.

Na poniższym zrzucie ekranu A1 ma wartość 14. W A2 wprowadziłem tę formułę

=A1 + IF(MOD(ROW(),3)=0,1,2)

I skopiowałem to

wprowadź opis zdjęcia tutaj

Vylix
źródło
12
Podejrzewam, że to problem językowy. W Twoim języku ojczystym będzie odpowiednik MOD lub ROW. W jakim języku jest skonfigurowany komputer? Może pomóc piuha.fi/excel-function-name-translation/… MOD jest możliwe RESTi ROWjest możliwe RIJ@baswijdenesdotcom
Dave
67
W programie Excel jest ustawienie, które sprawi, że Twoje życie w Internecie będzie milion razy łatwiejsze: „ Używaj angielskich nazw funkcji
Falco,
74
Excel internacjonalizuje nazwy funkcji? O Boże :(
pjc50,
26
@ pjc50 Jako programista też uważam to za przerażające, ale programiści nie są rynkiem docelowym programu Excel. Użytkownicy końcowi, którzy nie są w języku pół-angielskim, prawdopodobnie nie zapamiętali listy słów kluczowych w języku angielskim. Dla nich pisanie formuły od podstaw zlokalizowane słowa kluczowe są znacznie bardziej przyjazną opcją. OTOH Zastanawiam się, jak ciężko byłoby poprzeć zlokalizowane i angielskie słowa kluczowe. Lokalizacja chwytającej ręki prawdopodobnie pochodzi z czasów sprzed internetu; a moja sugestia byłaby prawie na pewno złamać czyjeś arkusze kalkulacyjne, gdyby zrobiono to teraz.
Dan Neely,
4
@ DanNeely Zgadzam się, że zlokalizowane nazwy funkcji w programie Excel mogą być bardziej odpowiednie dla osób niebędących programistami, ale przynajmniej powinny wewnętrznie przekonwertować nazwy na angielski. Widziałem wiele problemów podczas otwierania arkuszy Excela w innej lokalizacji z różnych nazw funkcji i przecinek / kropka jako podstawa punkt stackoverflow.com/q/19518644/995714 stackoverflow.com/q/13247771/995714
phuclv
57

Excel obsługuje wzorce arytmetyczne o rozmiarze kroku> 1 Wypełnij pierwsze 3 wartości, a następnie użyj wzorca od tego miejsca

  1. 14
  2. 16
  3. 17
  4. =A1+5

a następnie skopiuj to. Tj. A5 staje =A2+5się rzeczywiście 21.

MSalters
źródło
17
Jest to prawdopodobnie najłatwiejsza i najbardziej intuicyjna metoda, która jest również dość ogólna.
jpaugh,
3
czasami widzę pytanie z wieloma odpowiedziami od tej samej osoby. najczęściej jest to nowy użytkownik, który nie ma doświadczenia z witryną, bez zgody na komentowanie. bez względu na przypadek, 1 (lub zwykle obie) odpowiedzi nie są szczególnie dobre. po raz pierwszy widziałem podwójną odpowiedź, w której OBA ODPOWIEDZI SĄ DOBRE I POZWALA DOBRA. umysł: zdmuchnięty. szczury do ciebie, @MSalters
chiliNUT
13

Zakładając, że zaczynasz w pierwszym rzędzie, to jest =ROUND((ROW()*5+37)/3,0)

Do każdego 3 wierszy dodajesz 5, stąd 5/3. 37 ma wyrównać wartość początkową (wiersz 1 => wartość 14). ROUNDdo dwóch cyfr, aby zobaczyć, jak to działa.

MSalters
źródło
9

Naprawdę podoba mi się intuicja za już opublikowanymi odpowiedziami, ale wydaje się, że wszyscy przeoczają najprostsze rozwiązanie wbudowane w program Excel.

  • Po prostu wpisz 14 w komórce A1

  • w A2typie=A1 + 2

  • w A3typie=A2 + 1

  • w A4typie=A3 + 2

  • zaznacz komórki A2, A3 i A4 i przeciągnij uchwyt wypełniania w prawym dolnym rogu do żądanego punktu. Excel rzeczywiście powtórzy formuły zgodnie z typem.

Edycja: Wystarczy dodać, chociaż pytanie PO ma charakter arytmetyczny i można go rozwiązać za pomocą eleganckich rozwiązań matematycznych, jeśli ktoś natknie się na to z innymi nie-matematycznymi formułami, które chce powtórzyć w ten sposób, każda matematyka warunkowa po prostu zaśmieci i zwolnij arkusz.

ChP
źródło