Может ли Excel создать странную, но логичную последовательность чисел?

16

У меня есть этот шаблон в Excel:

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

Логика для этого +2, +2, +1, промыть и повторить. Но когда я пытаюсь расширить шаблон, Excel начинает просто считать.

Как я могу продолжить эту схему? Мой список продолжается до 700.

baswijdenesdotcom
источник
5
Вы можете определить свою собственную формулу с этой логикой, которая относится к ячейке выше. Например что-то вроде =A1+2в ячейке B1и так далее, что приведет ко всем нечетным числам.
IQV
1
Это не сработает, потому что мне все равно придется делать ручной подсчет: S
baswijdenesdotcom
26
Что вы имеете в виду под «ручным подсчетом»? Какова логика вашего счета? Когда вы не можете определить свою логику, как программа может сделать это для вас?
IQV
1
@ IQV: Честно говоря, на тесте IQ это не будет одним из самых сложных вопросов. Определить паттерн + 2, + 2, + 1 легко. Переводить это в Excel немного сложнее.
MSalters
2
Если вы когда-нибудь задумывались: «Может ли Excel это сделать?», Ответ «Да, это возможно». Это потому, что Excel завершен по Тьюрингу , что означает, что он способен выполнять любые вычисления, которые может выполнить компьютер.
RubberDuck

Ответы:

40

Excel распознает только арифметические шаблоны.

В вашем случае вы можете определить формулу и заполнить ее до нужных строк.

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

Измените A1 на ячейку, где начинается ваша последовательность.

В этом снимке экрана ниже, A1 имеет значение 14. В A2 я ввел эту формулу

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

И скопировал это

введите описание изображения здесь

Vylix
источник
12
Я подозреваю, что это проблема языка. На вашем родном языке будет либо MOD, либо ROW. На каком языке настроен ваш компьютер? Может помочь piuha.fi/excel-function-name-translation/… MOD возможно RESTи ROWвозможно RIJ@baswijdenesdotcom
Дейв
67
В Excel есть настройка, которая сделает вашу поддержку в Интернете в миллион раз проще: « Используйте английские названия функций »
Falco
74
Excel интернационализирует имена функций? О боже :(
pjc50
26
@ pjc50 Как программист, я тоже нахожу это ужасающим, но программисты - не целевой рынок Excel. Конечные пользователи, которые, если не на полуанглийском языке, вряд ли запомнят список ключевых слов на английском языке, являются. Для них написание формулы с нуля локализованных ключевых слов является гораздо более удобным для пользователя вариантом. OTOH Я должен задаться вопросом, насколько трудно было бы поддерживать локализованные и английские ключевые слова. С другой стороны, локализация, вероятно, восходит к временам до Интернета; и мое предложение будет почти гарантированно сломать кому-то электронные таблицы, если сделать это сейчас.
Дэн Нили,
4
@DanNeely Я согласен, что локализованные имена функций в Excel могут быть более подходящими для непрограммистов, но, по крайней мере, они должны преобразовывать имена на английский язык для внутреннего использования. Я видел много проблем при открытии листов Excel в другой локали с другими именами функций и запятой / точкой в ​​виде радиальной точки stackoverflow.com/q/19518644/995714 stackoverflow.com/q/13247771/995714
phuclv
57

Excel поддерживает арифметические шаблоны с размером шага> 1. Введите первые 3 значения, а затем используйте шаблон оттуда вниз.

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

а затем скопируйте это вниз. Т.е. A5 становится =A2+5равным 21.

MSalters
источник
17
Это, наверное, самый простой и интуитивно понятный метод, который также довольно общий.
jpaugh
3
иногда я вижу вопрос с несколькими ответами от одного и того же человека. чаще всего это новый пользователь, не имеющий опыта работы с сайтом, без разрешения комментировать. В любом случае, 1 (или обычно оба) ответа не особенно хороши. это первый раз, когда я видел двойной ответ, когда ОБА ОТВЕТЫ ХОРОШИЕ И СОБСТВЕННО ОБНОВЛЕНЫ. ум: взорван. отправляемся к вам, @MSalters
chiliNUT
13

Предполагая, что вы начинаете со строки 1, это =ROUND((ROW()*5+37)/3,0)

Для каждых 3 строк вы добавляете 5, следовательно, 5/3. 37 должен получить начальное значение правильно (строка 1 => значение 14). ROUNDдо двух цифр, чтобы увидеть, как это работает.

MSalters
источник
9

Мне очень нравится интуиция за уже опубликованными ответами, но кажется, что все упускают из виду самое простое решение, встроенное в Excel.

  • Просто наберите 14 в ячейке A1

  • в A2типе=A1 + 2

  • в A3типе=A2 + 1

  • в A4типе=A3 + 2

  • выделите ячейки A2, A3 и A4 и перетащите маркер заливки в нижнем правом углу в нужную точку. Excel действительно будет повторять формулы, как напечатано.

Изменить: просто чтобы добавить, хотя вопрос ОП является арифметическим по своей природе и может быть решен с помощью элегантных математических решений, если кто-то сталкивается с этим с любыми другими нематематическими формулами, которые они хотят повторить таким образом, любая условная математика будет просто загромождать и замедлить лист.

ЧП
источник