Як зробити так, щоб Excel 2010 автоматично заповнив новий рядок формулами?


12

Я можу покластись на те, що я бачив таку поведінку, коли Excel автоматично заповнює щойно вставлений рядок з тією ж формулою, що і в рядку вище.

Я знаю, що це можна зробити за допомогою VBA, але, якщо можливо, я хотів би знайти те, що спричиняє це, що відбудеться на самому світі (якщо я не мріяв). Хтось знає, як це робиться?

Відповіді:


6

Це не мрія, і ти маєш рацію: AI Excel запускає ці речі, і не тільки для таблиць. Лише невеликий приклад для демонстрації:

  • Відкрийте нову робочу книжку та заповніть стовпчик Aіз збільшенням кількості, наприклад:
1
2
3
4
5
  • Далі, у стовпчик B додайте будь-яку просту формулу, наприклад, =A1*10і автоматично заповнюйте список номерів, щоб отримати це:
1      10
2      20
3      30
4      40
5      50
  • Тепер, щоб побачити, як працює AI, введіть 6(або будь-яке число) у наступному рядку під 5(це повинно бути A6в контексті) та натисніть або TABАБО ENTER- як це робите зазвичай.
  • Насолоджуйтесь магією! (:

Це не повинно відбуватися лише для формул - форматування може бути застосовано також автоматично, наприклад, коли ви додаєте новий стовпець право до набору даних, а ваш "Заголовок" (1-й рядок) має спеціальне форматування (чорна заливка / білий текст) і починає вводити текст значення там - швидше за все, він буде кольоровим так само.

Я не можу надати повний перелік справ, але я думаю, що ти зрозумів!)


Цікаво, що я можу змусити це працювати лише у стовпцях, а не у рядках (наприклад, якщо ви перекладете свій приклад, я не можу змусити його працювати).
RipperDoc

Я поняття не маю, чому так ... Можливо, тому, що дані, як правило, зберігаються в режимі стовпців зі зростанням - це як природніше))
Пітер Л.,

Їх повинно бути не менше чотирьох.
Лука

@PeterL., Приємна інтерпретація +10 ☺
Раджеш S

3

Ви можете уникнути функції автозаповнення повністю за допомогою формул масиву . Просто введіть формулу, як звичайна, але додайте :columnв кінці кожної посилання на клітинку, а потім натисніть Ctrl+ Shift+Enter . Потім формула буде застосована негайно до всіх комірок стовпця, не перетягуючи нічого


Редагувати:

Новіші версії Excel автоматично використовуватимуть формули масиву для заповнення, коли з'явиться новий рядок даних

Починаючи з оновлення для Office 365 у вересні 2018 року, будь-яка формула, яка може повернути кілька результатів, автоматично переливає їх або вниз, або в сусідні комірки. Ця зміна поведінки також супроводжується кількома новими функціями динамічного масиву. Формули динамічного масиву, використовуючи вони вже існуючі функції або функції динамічного масиву, потрібно лише ввести в одну клітинку, а потім підтвердити натисканням клавіші Enter. Раніше застарілі формули масиву вимагають спершу вибрати весь діапазон виводу, а потім підтвердити формулу за допомогою Ctrl+ Shift+ Enter. Їх зазвичай називають формулами CSE.

Вказівки та приклади формул масиву

Якщо ви використовуєте старішу версію Excel або хочете дізнатися більше про формули масиву, продовжуйте читати


Наприклад, введення =B3:B + 2*C3:CD3 та Ctrl+ Shift+ Enterеквівалентно набору тексту =B3 + 2*C3та перетягування до кінця вниз, починаючи з рядка 3

Це швидко вводиться, але є недоліком, що невикористані комірки в кінці (поза поточною таблицею) все ще обчислюються і показують 0. Існує простий спосіб приховати 0 . Однак ще кращим способом є обмеження обчислення останнім стовпцем таблиці. Знаючи, що у формулі масиву ви можете X3:X101застосовувати лише до комірок від X3 до X101, ми можемо використовувати INDIRECTфункцію для досягнення того ж ефекту

  • Введіть =LOOKUP(2, 1/(A:A <> ""), A:A)у якусь клітинку за межами таблиці, щоб знайти останню не порожню клітинку таблиці та назвіть її LastRow. Альтернативно використовувати, =COUNTA(A3:A) + 2коли перший рядок таблиці становить 3
  • Тоді замість B3:Bвикористання=INDIRECT("B3:B" & LastRow)

Наприклад , якщо ви хочете осередки в стовпці D , щоб утримувати продукти клітин в В і С, а стовпець Е містить суми B і C, замість того щоб використовувати D3 = B3*C3і E3 = B3 + C3і перетягнути вниз , ви просто поставити нижче формул D3 і E3 відповідно і натисніть Ctrl+ Shift+Enter

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

Відтепер щоразу, коли ви додаєте дані в новий рядок, таблиця буде автоматично оновлюватися


Формула масиву дуже швидка, оскільки модель доступу до даних вже відома. Тепер замість того, щоб робити 100001 різних обчислень окремо, їх можна векторизувати та робити паралельно , використовуючи декілька ядер та SIMD-блок у ЦП. Він також має наступні переваги:

  • Послідовність: Якщо натиснути будь-яку клітинку від E2 вниз, ви побачите ту саму формулу. Ця послідовність може допомогти забезпечити більшу точність.
  • Безпека: Ви не можете перезаписати компонент формули з багатоклітинним масивом. Наприклад, натисніть на комірку E3 і натисніть Видалити. Вам потрібно або вибрати весь діапазон комірок (від E2 до E11) і змінити формулу для всього масиву, або залишити масив таким, яким він є. Як додатковий захід безпеки, вам потрібно натиснути Ctrl+ Shift+ Enterдля підтвердження зміни формули.
  • Менші розміри файлів: часто можна використовувати одну формулу масиву замість кількох проміжних формул. Наприклад, книга використовує одну формулу масиву для обчислення результатів в колонці E. Якщо ви використовували стандартні формули (такі як =C2*D2, C3*D3, C4*D4...), ви б використовували 11 різних формул для розрахунку одні і ті ж результати.

Вказівки та приклади формул масиву

Більше інформації читайте


INDIRECTце мінлива функція, яка змушує робочий зошит перерахувати його щоразу, коли змінюється комірка. Чи існує спосіб (CSE чи іншим способом) заповнити певну кількість рядків без використання INDIRECT?
footwet

0

Це поведінка Excel за замовчуванням, якщо ви вводите формулу в порожній стовпчик таблиці . Для цього вам потрібно вставити таблицю :

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


Дякую, це працює, але не використовуючи таблицю раніше, я бачив цей ефект на окремих клітинах. Я вважаю, що це повинна бути якась настройка автоматичного заповнення.
RipperDoc

є два способи, як ви можете це швидко зробити: 1. введіть формулу, а потім двічі клацніть на маленькому "+", коли наведіть курсор миші на правий нижній кут комірки 2. Виберіть повний діапазон і введіть формулу за допомогою Ctrl-Enter . Але жоден варіант не є "справжнім автозаповненням", як у таблицях. Досить впевнений, що його не існує (якщо не побудовано на замовлення у VBA)
Пітер Альберт

0

Один із способів домогтися передового досвіду автоматично для вас - скопіювати та вставити потрібні формули у кілька рядків. Якщо ви робите це по одному, не зрозуміло, що копія та вставлення повинні бути автоматично заповнені для кожного наступного рядка. Якщо ви копіюєте та вставляєте в блок, excel візьме на себе і автоматично скопіює та вставить формулу для майбутніх рядків.


0

Проблема, яку ви бачите, ймовірно, тому, що для деяких стовпців таблиці ви не встановлені для автоматичного заповнення. Ви можете зробити автоматичне заповнення стовпця, вибравши клітинку з формулою, захопивши зелене поле у ​​правому нижньому куті та перетягнувши до останнього рядка чи таблиці. Після цього стовпець автоматично заповнюється, так що всі нові рядки автоматично матимуть формулу в цьому стовпці.


0

Для мене він працював над двома колонками формул і раптом зупинився лише для однієї з них. Я думаю, що, мабуть, скопіював і вставив іншу клітинку над нею і переплутав посилання. Щоб виправити це, я вибрав клітинку і зайшов у головну> Редагування> Заливка> Серія та ще раз підтвердив деталі. Сподіваюся, що це допомагає.


Це відповідь на іншу проблему і не відповідає на запитання, як задано.
DavidPostill

0

У мене виникла ця проблема, коли таблиця перестала автоматично заповнюватися ... Я не знаю, чому вона раптом перестала працювати, але ось виправлення:

  • Додайте формулу до відповідного стовпця в останньому рядку таблиці та натисніть enter
  • Клацніть маленьке квадратне спливаюче вікно з позначкою fx та виберітьOverwrite all cells in this column with this formula
  • Додайте до своєї таблиці новий рядок, у якому тепер формула повинна бути заповнена автоматично

Це блискуче працювало для мене, сподіваюся, що це допомагає комусь іншому.


0

Райт (якщо потрібно повторно), формулу і натисніть клавішу Enter. Наступного разу, коли ви додасте дані в наступний рядок, він автоматично заповнює формулу.


Прочитайте "Чому мені потрібно коментувати 50 репутацій", щоб зрозуміти, як можна починати коментувати.
Pimp Juice IT

Щоб написати щось на папері, зробити правильний поворот, і брати Райт, які нібито полетіли першим літаком.
Pimp Juice IT

Вивчення цього матеріалу - це обряд проходження.
Скотт

-2

Це можна зробити, скориставшись функцією Вирівнювання у спадному меню Заливка. Він розташований на вкладці Домашня сторінка у функціях редагування. На моїй крайній правій панелі інструмента.


Хочете додати деталі, як це відбувається? Виходячи з цього, він не робить того, чого вимагала ОП.
zagrimsan

Що я зробив, це створити таблицю із заголовками, відформатованими заголовками, формулами тощо для кожної комірки під заголовками. Потім у самому лівому стовпці я вибрав діапазон, який я ще не відформатував, перейшов до випадаючого заповнення та вибрав виправдання. Тепер, коли я починаю вводити інформацію в цей діапазон комірок, весь рядок автоматично формується у формули, заливки тощо, які я встановив у своїй таблиці. Вибачте, що я не дуже технічний, тому не знаю, як розмістити фотографії в цьому коментарі, щоб мати кращий сенс.
XLRookie

Цей метод призводить до того, що рядок, у який ви зараз вводите дані, форматує такий самий, як і рядок безпосередньо над ним.
XLRookie

Ви не можете вставляти зображення до коментарів, але можна у відповідь. Однак я перевірив це, і мені здається, що Fill-> Justify не потрібен, щоб автоматичне заповнення відбулося (спробуйте це самостійно, просто залишаючи крок виправдання від кроків, описаних вами). Функція автоматичного заповнення в Excel, про яку йдеться тут, є причиною результату, а не виправданням.
загримсан

Ха-ха, це правда. Це добре показує мій рівень знань у цій галузі.
XLRookie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.