Як попросити excel робити послідовні формули в одній комірці


0

Ось трохи інформації у комірці A1.

Тоді комірка B1 має формулу (звану "Формула1") для зміни А1, в результаті чого значення B1.

Тоді комірка С1 має формулу (звану "Формула2") для модифікації B1, значення якої було створено після застосування його формули до A1, в результаті чого значення C1.

Чи є спосіб, щоб я міг написати формулу, яка просить його в одній комірці зробити спочатку формулу 1, а потім формулу 2, не потрібно писати 2 різні формули в різні комірки?

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

= Формула1

= Формула2

Також спробували = Formula1 & Formula2 і = Formula1 + Formula2, але вони роблять інші речі ...

Як я можу записати формули в одну клітинку, кажучи:

= Формула1 ТОГО Формула2 ТОГО Формула3 тощо (кожна вища формула робиться за результатом попередньої)

Дякую


Приклад

Вхідні комірки

A1: Michael.John $ Josh.Andrews

A2: Майкл% Джош.Андрюс

A3: Майкл Джон

A4: Michael.John

Формула1 для стовпця B: = ВЛИВО (A1, FIND ("$", A1 і "$") - 1)

Формула2 для стовпця C: = IF (SUMPRODUCT (LEN (B1) -LEN (SUBSTITUTE (B1, "$", ""))) = 1, LEFT (B1, FIND ("$", B1) -1), IF (SUMPRODUCT (LEN (B1) -LEN (SUBSTITUTE (B1, "%", "")) = 1, MID (B1, FIND ("%", B1) + 1, LEN (B1) -FIND ("% ", B1)), IF (SUMPRODUCT (LEN (B1) -LEN (SUBSTITUTE (B1,". "," "))>> = 1, B1," ")))

Мені потрібно записати стовпчик А, потім зробити формулу1 для отримання стовпця В, потім знову зробити формулу2 поверх значення стовпця В після її результату формули 1, щоб тільки потім отримати стовпець C. Це робить таблицю Excel відображати інформацію, яку я не хочу, щоб він не з’являвся і не обчислювався по частинах, а показувати лише кінцевий результат, обчислений одразу.

Я хотів би мати лише стовпці A і B, у яких A є вхідними даними, а B має всі формули, обчислені одразу. Як зробити одну єдину формулу з цими 2 формулами, які слід виконати спочатку формулою1, а потім формулою2, застосованою до результату формули безпосередньо?

Дякую

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

Відповіді:


1

Відповідь на ваше первісне запитання: " Чи є спосіб я написати формулу, яка просить його в одній комірці зробити спочатку формулу 1, а потім формулу 2, не потрібно писати 2 різні формули в різні комірки? " - НІ, це не так " t існують до останніх випусків Excel 2016.

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

=IF(ISERROR(FIND(".",MID(A1,IFERROR(FIND("%",A1)+1,1),LEN(LEFT(A1,FIND("$",A1& "$")-1))-IFERROR(FIND("%",A1),0)))),"",MID(A1,IFERROR(FIND("%",A1)+1,1),LEN(LEFT(A1,FIND("$",A1& "$")-1))-IFERROR(FIND("%",A1),0)))

Оскільки ви фактично не заявляли своїх вимог, я можу лише припустити, що ви намагаєтесь досягти наступного:

  1. Скоротіть будь-який текст після символу $, якщо він присутній, І ТО
  2. Скоротіть будь-який текст перед символом%, якщо він присутній, І ТО
  3. Перевірте наявність "." символ, якщо його немає, будь ласка, приймайте результат попереднього кроку

Попросіть і повідомте нам ваші думки.


Я також помітив дрібницю, але важливу деталь у вашій початковій формулі, ви перевіряєте наявність "1" символу "%" перед тим, як скинути будь-який текст перед цим символом "%". Якщо ні, то переходите до перевірки наявність ".". У такому підході може бути недолік порівняно з тим, що ви маєте намір досягти.
Бхарат Ананд

Привіт Бхарат. Що мені потрібно зробити, це наступне в цьому порядку: * Якщо $ існує, отримайте те, що знаходиться за першим $, що з’являється лише в комірці (за винятком $), лише якщо в тексті є точки (не після, не раніше текст). * Якщо ви ще не отримали результату, то перевірте на предмет появи першого% у комірці, якщо він існує, отримайте результат після нього (за винятком%), лише якщо в ньому є точки (не після ні перед текстом). * Якщо $ nor% існує, скопіюйте комірку як результат лише у тому випадку, якщо вона має точку всередині (ні до тексту, ні після тексту). Якщо немає сенсу, результат порожній. Спасибі
Жоао

Вам потрібно більш чітко розробити свої вимоги з усіма ifs та else-ifs, перш ніж ми продовжуватимемо працювати над цим, або зазначити те, що не виконано у запропонованому нами рішення. В даний час вам здається, що ви годуєте крапельницею і розвиваєте свої вимоги, що виявляється контрпродуктивним для багатьох із нас
Бхарат Ананд,

Привіт Бхарат, дякую за допомогу. Якщо ви можете перевірити наступні деталі, будь ласка, було б ідеально: 1) Після того, як вся формула зробила, якщо все-таки з'являється в результаті $, то до цього результату, видаліть $ і що після цього праворуч. Приклад: Стільниця: MichaelMichael% John.John $ Це тест на довге речення Результат зараз: John.John $ Це тест (його перевершення $) Результат повинен бути: John.John (після отримання цього остаточного результату цього% пошуку, видаліть все, що з’явиться після $, включаючи його)
Жоао,

2) Крім того, формула вирізає частину тексту, коли трапляються $ і%: Приклад: клітинка: MichaelMichael $ John.John% Це тест. Тест на довге речення Результат зараз такий: Це .a test (результат буде будьте правильні, якщо він не зупинився на половині речення, не надрукувавши всіх символів) Результат повинен бути: Це тест. довге речення (тут його захоплення правильної інформації, але вирізання з якоїсь причини) Відпочинок все ідеально. Спасибі
Жоао

0

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

A1= 2 (ваш вхід)
B1= A1 * 2 (ваша перша операція)
C1= B1 / 12 (ваша друга операція)

Можливо, єдина формула C1 =(A1*2)/12, що використовує () для примусового виконання операції.


Привіт, Дау, у вашому прикладі це прекрасно працює, оскільки ваші формули складаються лише з цифр, а не з функціями. Але якщо всередині B1 формула: ЯКІ, ЗНАЙДІТЬ, ЗАМОВЛЮВАТИ, LEN, MID, ЛІВО, ВПРАВО, ВІДПОВІДНОСТІ і т. Д. Кілька речей, і тоді С1 потрібно зробити багато речей, щоб отримати результат B1, то як об’єднати все так, щоб це було одним а інше, а замість того, щоб мати комірки A1, B1, C1, мати лише A1 з введенням і B1, а весь матеріал для обчислення, а потім обчислювати поверх результатів першого обчислення? Іншими словами, як ви пишете C1 = (A1 * 2) / 12, використовуючи клітинку B1 у цій формулі замість (A1 * 2)?
Жоао

1
@Joao, було б простіше відповісти, якби ти наводив приклад реального життя та того, що ти очікуєш як результат, а також фактичну формулу, яку ти випробував.
Скотт Кренер

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