Мне нравится, чтобы мои таблицы Excel были достаточно чистыми. Поэтому часто я заканчиваю тем, что пишу такие заявления:
IF([formula x]=[value],"",[formula x])
По сути, это говорит о том, что если формула соответствует заданным критериям, не отображать результат, в противном случае отображать результат.
В некоторых случаях [formula x]
повторяется по всему столбцу ячеек, и каждая ячейка имеет ссылку в [formula x]
которая указывает на ячейку над ней. Чтобы избежать ошибок формул, я должен добавить еще один слой, например:
IF(C2="","",IF([formula x]=[value],"",[formula x])
Однако, особенно, когда [formula x]
очень длинная, это может привести к тому, что конечная формула будет выглядеть намного сложнее, чем она есть, и ее будет намного сложнее устранять и устранять, чем следует.
Вот один ужасающий пример ...
Базовая формула:
=IF(A3>=$E$11,C2+(C2*($F$2/12))-$E$9,C2+(C2*($F$2/12))-$E$7)
Добавить условное гашение:
=IF(C2="","",IF(IF(A3>=$E$11,C2+(C2*($F$2/12)-$E$9),C2+(C2*($F$2/12))-$E$7)<=0,"",IF(A3>=$E$11,C2+(C2*($F$2/12))-$E$9,C2+(C2*($F$2/12))-$E$7)))
Уже очень длинная формула более чем удвоена по размеру, так что я могу отображать пробел (или любое другое выбранное значение, если на то пошло), когда эта же формула удовлетворяет заданному условию. Если я попытаюсь сделать это по всей строке, в зависимости от начальной формулы, я легко столкнусь с ошибками циклических ссылок.
Есть ли способ самостоятельно ссылаться на существующую формулу или аргумент в той же ячейке, или, может быть, другую функцию или функцию, которые можно использовать для более чистого достижения этого результата?
Функция, которая делает то, что я ищу, может быть такой:
=FnName([base formula],[match condition],[condition result])
Аргумент 1 - это базовая формула, аргумент 2 - это условие, которое мне интересно сопоставить. Аргумент 3 - это результат отображения, если условие соответствует. В случае, если условие не соответствует, функция возвращает результат базовой формулы.