У меня есть лист Excel с основным макетом следующим образом:

| Setting | Value |
| x + 10  | ....  |
| x + 20  | ....  |
| x + 35  | ....  |

Где ячейка « Value для каждой строки рассчитывается на основе x + 10 и т.д. Ячейки в столбце « Settings форматируются как строки, так как они предназначены для визуального представления значения параметра. Есть ли простой способ преобразовать x + 10 из строки в числовое значение, если значение x доступно в ячейке где-то на листе?

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

2 ответа2

2

Существует встроенная старая функция VBA, которая называется «Оценка», которая будет принимать точную строку, которая является приемлемой математической формулой Excel, преобразовывать ее в числа и операторы и решать. В вашем случае у вас есть два шага, на которые вы смотрите. Один - выполнить замену X, а второй - решить полученное уравнение.

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

ЧАСТЬ 1 - ЗАМЕНА

Посмотрите на формулу замещения. Эта формула будет искать данную строку в другой ячейке и заменять ее другим значением.

SUBSTITUTE(string of text, text you are looking for, text you want to change to, optional occurrence to change)

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

=SUBSTITUTE(B2,"X",$Q$4)

Поэтому, если X равен 10, вы должны получить столбец, который выглядит следующим образом:

| Setting |helper | Value |
| x + 10  |10 + 10| ....  |
| x + 20  |10 + 20| ....  |
| x + 35  |10 + 35| ....  |

ЧАСТЬ 2 - Оценить

пара критических шагов здесь. Выберите ячейку справа от 10+10. Причина в том, что когда мы создаем эту формулу, мы хотим, чтобы она имела дело с ячейками относительно положения ячейки, в которой мы создаем формулу. Следующее, что нужно сделать, это создать именованную формулу. Для этого перейдите на вкладку ФОРМУЛА на ленте. На ленте «Формулы» в разделе «Определенные имена» выберите «Определить имя». В поле для имени введите имя по вашему выбору. Я склонен, как ОТВЕТ. что бы вы ни выбрали, будет то, как вы будете обращаться к нему в своей ячейке, как и любая другая функция. В поле «Ссылка» введите следующее уравнение:

=Evaluate(C3)

Важно, чтобы вы оставили значение $ off для ссылки на ячейку. С3 в этом случае ссылается на ячейку с 10+10. Нажмите OK, когда закончите. В ту ячейку, которую вы выбрали в начале, введите

=ANSWER

Где ОТВЕТ - это название вашей формулы. Затем следует взять ячейку слева, оценить ее и дать ответ 20. Когда вы копируете ячейку вниз, она будет ссылаться на следующую формулу вниз и так далее, насколько вы копируете.

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

=EVALUATE(SUBSTITUTE(B2,"X",$Q$4))

Теперь уловка в том, что вам нужно будет создать это для каждого рабочего листа, на котором вы хотите его использовать, и ваш наклон не может повторить имя вашей формулы. Я еще не нашел обходной путь для этого улова.

0

Вы можете сделать это, используя текстовые редакторы, на самом деле - при условии, что определенная переменная (и) в ваших текстовых формулах сопоставлена с определенными ячейками рабочего листа.

Сначала скопируйте текстовые формулы в текстовый редактор, например Notepad++ (даже Word или Windows Notepad могут работать в простых случаях).

Затем замените ваши переменные ссылками на ячейки, например, замените x → A1.

Теперь перейдите к представлению формул в Excel, если вы используете Excel 2010, это можно сделать, щелкнув формулы -(группа кнопок аудита формул)- показать формулы.

В-четвертых, скопируйте новые формулы из текстового редактора обратно в Excel.

Наконец, снова нажмите "Показать формулы", чтобы выйти из представления формул. Вуаля!

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