Найти "настоящую" формулу для группы формул - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь найти «реальную» формулу группы.Например, это формулы

=If(A$4>$A1,"Long","Short") 
=If(B$4>$A1,"Long","Short") 
=If(A$4>$A2,"Long","Short")
=If(A$4>$A$2,"Long","Short)

Четвертая формула является другой.Первые 3 формулы должны быть той же самой формулой, которая представляет собой ячейку с фиксированной 4-й строкой, сравниваемую с ячейкой, зафиксированной в столбце А. Результат должен отображать 2 «реальные» формулы.Примерно так:

=If($4>$A,"Long","Short")
=If($4>$A$2,"Long","Short")

Как мне разработать регулярное выражение (или любой другой метод) в VBA для извлечения этой "реальной" формулы из "номинальных" формул?

1 Ответ

1 голос
/ 26 июня 2019

Преобразуйте свои формулы для отображения в формате R1C1, используя Файл, Параметры, Формулы и отметив стиль R1C1.В таком стиле ваши четыре примера формул будут отображаться (если они были введены в столбце 3) как

=IF(R4C[-2]>RC1,"Long","Short")
=IF(R4C[-1]>R[-1]C1,"Long","Short")
=IF(R4C[-2]>R[-1]C1,"Long","Short")
=IF(R4C[-2]>R2C1,"Long","Short")

Фиксированные части адресов не имеют фигурных скобок [], поэтому, если вы удалите фигурные скобки и ихсодержимое, которое вы получаете

R4C>RC1
R4C>RC1
R4C>RC1
R4C>R2C1

и никакое 4 не отличается от других

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...