Застосувати формулу до всього стовпця


96

Я намагаюсь перекодувати всі поштові індекси зі стовпця А до стовпця Б у формулі:

=TEXT(A1,"00000")

Подобається це:

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

Я хочу, щоб кожна клітинка у стовпці B була перетворена, використовуючи формулу вище. Але у мене понад 40 000 рядків, тому неможливо перетягнути формулу і застосувати її до всього стовпця B.

Чи є формула, яку я міг би використати для вирішення цієї проблеми?

Відповіді:


89

Я думаю, що це більш пізня функція, але вона працює для мене:

Подвійне клацання квадрата в правій нижній частині виділеної комірки копіює формулу виділеної комірки.

Сподіваюся, це допомагає.


20
Це правильна відповідь на запитання. Подвійне клацання на "індикатор перетягування" (нижній правий кут) скопіює формулу у всі комірки. Переконайтеся, що ви ОЧИСТИТИ спочатку дані своїх стовпців і застосовуєте лише свою формулу до однієї. Вищеназвана відповідь з "ArrayFormula", здається, зможе застосувати до однієї формули безліч комірок, а це не те, чого хотів ОП.
Танасіс Капелоніс

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

3
@ThanasisKapelonis, вам не потрібно очищати дані, ви просто двічі клацніть на індикаторі перетягування, і він застосовує формулу до всіх наступних рядків, де дані в кожному заповнювачі заповнюються у відповідних стовпцях для цього рядка. Він зупиниться там, де відсутні дані. як показав Бретт Саттон
вівторок

2
У мене занадто багато даних, щоб зробити цю відповідь, вона не вдається, і я повинен перезавантажити сторінку.
Даніель Райан

1
Хоча це може бути цінним підказом для вирішення проблеми, хороша відповідь також демонструє рішення. Будь ласка редагувати надати приклад коду , щоб показати , що ви маєте в виду. Крім того, розгляньте можливість писати це як коментар.
Toby Speight

58

Я думаю, вам пощастило. Будь ласка, спробуйте ввести B1:

=text(A1:A,"00000")

(дуже схоже!), але перед натисканням Enterнатисніть Ctrl+ Shift+ Enter.


32
Коли я пробую Ctrl + Shift + Enter, він просто оточує мою формулу ArrayFormula(…).
binki

2
@pnuts що, значить, ти маєш на увазі, що має? це у мене теж не працює. продовжуйте отримувати ArrayFormula (
JayPex

4
@pnuts, можливо, це змінилося за останній рік, але ArrayFormula не розширює формулу до стовпця B як зображення з OP. Для мене це просто заповнює значення вибраної комірки.
Ассімілатер

11
Дякую, що поділились. Працювали дуже добре для мене. Я думаю, що однієї речі, якої люди можуть бракувати, є частина B1: B, з якою я боровся кілька секунд. Вам потрібно замінити свій одиночний стовпець, скажімо B1, масивом стовпців B1: B у вашій формулі, щоб він міг функціонувати. Безумовно, це найкращий метод і найдинамічніший.
Шахаб Ярмохаммаді

4
Це спрацювало і на мене. Дякую за роз'яснення в коментарях. Додаткова річ, яка мене спонукала, - це те, що клітини внизу повинні бути порожніми. Здається, я думав, що їх просто перепишуть.
LOAS

52

Схоже, деякі інші відповіді застаріли, але для мене це спрацювало:

  1. Клацніть на клітинку з текстом / формулою для копіювання
  2. Shift + Клацніть на останню комірку для копіювання
  3. Ctrl + Enter

(Зверніть увагу, що це замінює текст, якщо клітинки призначення не порожні)


7
Працює з CMD + Enter на Mac.
StapleGun

4
Це найкраща відповідь у 2019 році.
Happy Bird

1
Ця відповідь працює для набагато ширшого кола формул, і вона повинна бути прийнятою відповіддю
фраза

1
Працює лише в одному стовпчику за раз, але працює добре. Якщо ви хочете швидко зробити це для багатьох речей, Ctrl+Shift+Downвиберіть, Ctrl+Enterяк ви вже сказали, унизу поточного стовпця Up, Right, [Down]( тоді останній не знадобиться, якщо ви знаходитесь у рядку 1), щоб дістатися до наступна колонка.
Адам Барнс

Працює як шарм у 2020 році. Дякую!
nxmohamad

8

Скажімо, ви хочете щось підставити в масив рядків, і ви не хочете виконувати копіювання на весь аркуш .

Візьмемо це як приклад:

  • Масив рядків у стовпці "А": {яблуко, банан, апельсин, ..., авокадо}
  • Ви хочете замінити символ "a" на "x", щоб мати: {xpple, bxnxnx, orxnge, ..., xvocado}

Щоб застосувати цю формулу до всього стовпця (масиву) на вишуканий елегантний спосіб, ви можете зробити:

=ARRAYFORMULA(SUBSTITUE(A:A, "a", "x"))

Скажімо, він працює і для 2D-масивів:

=ARRAYFORMULA(SUBSTITUE(A2:D83, "a", "x"))

8

Знайшли інше рішення:

  • Нанесіть формулу на перші 3 або 4 комірки стовпця
  • Ctrl+ Cформула в одному з останніх рядків (якщо ви скопіюєте перший рядок, він не буде працювати)
  • Клацніть на заголовку стовпця, щоб вибрати весь стовпець
  • Натисніть Ctrl+, Vщоб вставити його в усі клітинки внизу

2
Здається, це працює надійніше, ніж подвійне клацання для мене. Дякую!
Іван

4

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

  1. Виділіть комірку стовпця, яку потрібно скопіювати вниз
  2. Натисніть Ctrl+ Shift+, щоб виділити клітинки нижче
  3. Натисніть Ctrl+, Enterщоб скопіювати вміст першої комірки в комірки нижче

БОНУС:

Ярлик для переходу до самого контенту (щоб двічі перевірити копію) - Ctrl+ . Щоб повернутися вгору, ви можете використовувати Ctrl+, але якщо ваші верхні рядки заморожені, вам також доведеться натиснути Enterкілька разів.


1
Це самий прямий хак. Дякую!
Сопія Альфред

0

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

.ег

1,a,b
2,a
3,
4,a

Якщо вище є електронною таблицею, то за допомогою індикатора перетягування подвійного клацання у комірці 'b' буде заповнено рядок 2, а не рядок три чи чотири.


1
Якщо ви намагаєтесь застосувати формулу до рядків у відфільтрованому наборі в Excel за допомогою "Двічі клацніть індикатор перетягування", вона зупинятиметься кожного разу, коли серійний номер рядка перескакує, тобто номер рядка. 1, 2, 3, якщо вони з'являються для того, буде застосовано формулу, проте якщо рядок немає. 5 з’являється після рядка №. 3 (за рахунок фільтрування), тоді рядок немає. 5 не отримає формулу appled. У цьому випадку вам потрібно скопіювати з комірки в рядку №. 3 і вставте його в рядок №. 5, а потім використовуйте той же подвійний клацання. Так, Excel Sucks.
десерт

Хоча це може бути цінним підказом для вирішення проблеми, хороша відповідь також демонструє рішення. Будь ласка редагувати надати приклад коду , щоб показати , що ви маєте в виду. Крім того, розгляньте можливість писати це як коментар.
Toby Speight

0

Ви можете використовувати Ctrl + Shift + Down + D, щоб додати формулу також до кожної комірки стовпця.

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


0

Щоб я не втратив свою відповідь, яка працює:

  1. Виділіть клітинку для копіювання
  2. Виберіть кінцеву комірку у стовпці
  3. Натисніть CTRL + D

-2

Ви можете заповнити стовпець, двічі клацнувши в нижньому правому куті комірки, з якого ви хочете скопіювати (точка на полі, з якої ви б інакше перетягнули), і вона буде застосована до цілого стовпця.

NB: Це не спрацьовує, якщо у вас застосовано фільтр, а також якщо вже є щось у клітинках нижче.


Це правильно, однак, ви повинні переконатися, що в комірках під коміркою, що містить вашу формулу, немає даних.
BinaryJoe01

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