Добавление функции в существующую формулу

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

=Sheet1!D38-Sheet1!E38

и хотел бы добавить =IFERROR так это выглядит так:

=IFERROR(Sheet1!D38-Sheet1!E38, 0%)

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

есть ли простой способ добавить новую функцию к существующим формулам без переживают их все по-одному?

приведенный пример является случайным; я мог бы сделать это с более длинными и более сложными формулами, как =COUNTIFS

на quick исправить я пробовал раньше состоял на:

  1. найти и заменить все = в начале формулы с # - это преобразует формулу в обычный текст
  2. скопируйте и вставьте вторую часть новой формулы, идите в конце, в каждую клетку. В этом случае это будет , 0%)
  3. заменить # С =IFERROR(, чтобы получить формулу обратно, с дополнительной информацией, которую я хотел

но это не очень эффективный способ сделать это.

27
задан Irantzu
23.11.2022 1:50 Количество просмотров материала 3101
Распечатать страницу

4 ответа

вы можете заменить в 2 шага, без ручного редактирования:

1-поиск и замена = с =IFERROR(

(это вызовет много ошибок)

2-поиск и заменить конец строки с ,0%)

Введите следующие 2 нажатия клавиш для конца строки:

Управление-M

Control-J

обратите внимание, что вы не увидите ни одного символа на входе, но он будет работать.

1
отвечен user1016274 2022-11-24 09:38

Я обычно использую regex надстройка работать с текстом с большей гибкостью, чем встроенный поиск / замена.

Он предоставляет функции поиска / замены, а также функции листа с регулярными выражениями.

в вашем примере вам нужно

  • ищут: =(.*)
  • заменить на: =iferror(,0%)

обратите внимание, что эта надстройка не имеет возможности заменить только в выборе, поэтому нужно позаботиться чтобы написать конкретное достаточно поискать выражение.

0
отвечен Máté Juhász 2022-11-24 11:55

Допустим, у нас есть группа ячеек, которые мы можем редактировать en-mass:

enter image description here



Выделяем ячейки и запускаем этот короткий макрос:

Sub FixFormula()
'
'   hi-light the cells you wish to process
'
    Dim r As Range, rngF As Range, s As String

    Set rngF = Selection.Cells.SpecialCells(xlCellTypeFormulas)
    For Each r In rngF
        s = "(" & Mid(r.Formula, 2) & ")"
        r.Formula = "=IFERROR(" & s & ","""")"
    Next r
End Sub

и все формулы будут преобразованы из:

=A1/B1

to:

=IFERROR((A1/B1),"")
0
отвечен Gary's Student 2022-11-24 14:12

на temporary решение для демонстрации возможного исправления; см. изображение. Но условия на мой комментарий.

Копировать/Вставить формулу, нажмите и удерживайте метод. enter image description here

0
отвечен ejbytes 2022-11-24 16:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх