Здесь есть некоторая информация в ячейке А1.

Затем ячейка B1 имеет формулу (называемую "Formula1") для изменения A1, в результате чего получается значение B1.

Затем ячейка C1 имеет формулу (называемую "Формула2") для изменения B1, значение которого было создано после применения его формулы к A1, в результате чего получается значение C1.

Есть ли способ, которым я могу написать формулу, которая просит его в одной ячейке выполнить сначала формулу 1, а затем формулу 2 без необходимости писать 2 разные формулы в разных ячейках?

Я попытался написать в окне формулы, как это, но он сравнивает одно с другим вместо того, чтобы делать одно потом другое с результатом первого:

= Formula1

= Formula2

Также пытался = Formula1 & Formula2 и = Formula1+Formula2, но они делают другие вещи ...

Как я мог написать формулы в одной ячейке, говоря:

= Formula1 THEN Formula2 THEN Formula3 и т.д. (Каждая более высокая формула делается с результатом предыдущей)

Спасибо


пример

Входные ячейки

A1: Майкл.Джон $ Джош.Andrews

A2: Майкл% Джош.Andrews

A3: Майкл Джон

A4: Майкл.Джон

Формула1 для столбца B: = ВЛЕВО (A1, НАЙТИ ("$", A1 & "$")- 1)

Формула2 для столбца C: = IF(SUMPRODUCT(LEN(B1)-LEN(ЗАМЕНА (B1, "$", "")))= 1, ВЛЕВО (B1, НАЙТИ ("$", B1)-1), IF(SUMPRODUCT(LEN(В1)-LEN(ПОДСТАВИТЬ (В1, "%", "")))= 1, MID (В1, FIND ("%", В1)+1, LEN (В1)-Найти ("% », В1)), ЕСЛИ (SUMPRODUCT(LEN(В1)-LEN(ПОДСТАВИТЬ (В1, "", "")))> = 1, В1, "")))

Мне нужно написать столбец A, затем сделать формулу1 для получения столбца B, затем снова сделать формулу2 поверх значения столбца B после результата формулы 1, чтобы просто получить столбец C. Это заставляет диаграмму Excel отображать информацию, которую я Не хочу, чтобы он появлялся и не рассчитывался по частям, а отображал только окончательный результат, рассчитанный сразу.

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

Спасибо

2 ответа2

1

Ответьте на свой первоначальный вопрос: « Есть ли способ, которым я могу написать формулу, которая просит его в одной ячейке выполнить сначала формулу 1, а затем формулу 2, без необходимости писать 2 разные формулы в разных ячейках?"- НЕТ, его нет до последних выпусков Excel 2016.

Существует множество эффективных способов написания формул. Превосходно, и, основываясь на приведенных вами примерах, я считаю, что приведенное ниже должно служить вашим потребностям.

=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. Проверьте наличие "." символ, если он отсутствует, в противном случае принять вывод предыдущего шага

Идите и дайте нам знать ваши мысли.

0

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

A1 = 2 (ваш вклад)
B1 = A1 * 2 (ваша первая операция)
C1 = B1/12 (ваша вторая операция)

Единственная формула может быть C1 =(A1*2)/12 , используя (), чтобы форсировать порядок операций.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .