Как получить и исправить необработанное значение ячейки с #ERROR - PullRequest
0 голосов
/ 12 февраля 2019

У меня проблема при копировании и вставке данных таблицы с веб-страницы в таблицы, что значения ячеек, начинающиеся со знака равенства ("=") и имеющие неправильный десятичный разделитель (",") для локали, дляпример

=+90,00

заставляет Листы жаловаться на #ERROR! - Formula parse error.

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

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

Например, на листе с именемЯчейка RawSource A1 У меня есть значение (формула)

=+90,00

, которое вызывает #ERROR!на этой камере.На листе назначения я попытался с помощью этой формулы исправить ошибку, удалив первый символ (знак равенства):

=RIGHT(CELL("contents", RawSource!A1), LEN(CELL("contents", RawSource!A1))-1)

Но пока не повезло, так как я думаю, что значение ОШИБКИ распространяется даже через функцию CELL ине сырое содержимое клетки.

Есть ли способ исправить это без изменения исходных данных вручную?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Если это то, что вы будете делать однажды, рассмотрите следующую процедуру

  1. Создайте новую электронную таблицу
  2. Измените региональные настройки на те, которые используют запятую в качестве десятичной дробиразделитель
  3. Импорт данных, которые используют запятую в качестве десятичного разделителя
    • Хитрость в том, что Google Sheets будет интерпретировать импортированные формулы как имеющие действительное число
  4. Скопируйте значения в электронную таблицу, в которой в качестве десятичного разделителя используется точка.

Другой альтернативой является использование скрипта Google Apps для получения формулы, поскольку встроенные формулы не могут видеть формулытолько их результаты или свойства ячейки, т. е. есть встроенная функция для проверки, имеет ли ячейка формулу ISFORMULA , но нет такой, которая возвращает формулу.

0 голосов
/ 12 февраля 2019

после того, как вы импортировали #ERROR!, он не может быть исправлен другой формулой, потому что эта использованная формула не может увидеть эту ошибку.Обходные пути:

  • , если вы импортируете такие данные с помощью IMPORTHTML / IMPORTXML / и т. д., оберните их в REGEXREPLACE или SUBSTITUTE, а в некоторых случаях даже в TO_TEXT со спискомARRAYFORMULA чтобы избавиться от ошибок, вызывающих случаи
  • , если он вставлен (как в вашем случае), ваш единственный вариант - вручную добавить ' перед каждой ячейкой ошибки (например, '=+90,00)
  • Также вы всегда можете попробовать вставить его в лист с другим языком (французский, Испания, чешский и т. Д.), А затем скопировать и вставить его на свой лист изтам
...