Excel автоматически изменяет =IMAGE() на =@IMAGE()

Вопрос или проблема

Когда у меня есть формула =IMAGE(<url>) в Google Sheets и я экспортирую в файл Excel, а затем открываю его в Excel, Excel автоматически преобразует ее в =@IMAGE(<url>).

Это ломает формулу. Я могу исправить это, просто убрав @, и изображение теперь правильно отображается в Excel.

Я проверял файл .xlsx перед его открытием в Excel, и я вижу, что формула =IMAGE, а не =@IMAGE, так что я знаю, что именно Google Sheets добавляет @.

Как мне предотвратить добавление этого @ в Excel?

Excel автоматически преобразует его в =@IMAGE().

Это ломает формулу.

Нет, добавление символа @ (см. оператор неявного пересечения) не ломает формулу.

  1. Excel выполняет ряд шагов и модификаций для файлов в архиве XLSX при использовании таких функций, как IMAGE.
  2. Эти действия выполняются, когда функция рассчитывается, и включают создание и сохранение локального (в архиве) миниатюры и проведение различных проверок безопасности.
  3. Поскольку файл на самом деле не является файлом Excel, а файлом, который был сгенерирован для соответствия параметрам файла Excel, архив имеет ограниченные возможности по ряду обоснованных причин.
  4. Просто введя затронутую ячейку в режим редактирования, а затем снова сохранив ее с символом @ или без него, вы позволите Excel выполнить все необходимые шаги для проверки URL и импорта изображения.

Сравнение файлов

Все электронные таблицы содержат только один лист с одной формулой в A1:

=@IMAGE("https://picsum.photos/100")
   XLSX создан в     Размер    Папки   Файлы 
+------------------+--------+---------+-------+
|  Excel Web       | 26.3KB |    9    |  17   |
|  Excel Desktop   | 23.3KB |    9    |  17   |
|  Sheets (неисправленный) |  9.9KB |    7    |  10   |
|  Sheets (исправленный)  | 19.8KB |    9    |  17   |

Файлы в архивах

1 FilePath Excel Web Excel Sheets Sheets (исправленный)
2 _rels.rels
3 [Content_Types].xml
4 docProps\app.xml
5 docProps\core.xml
6 xl_rels\workbook.xml.rels
7 xl\calcChain.xml
8 xl\drawings\drawing1.xml
9 xl\media\image1.jpeg
10 xl\metadata.xml
11 xl\richData_rels\rdRichValueWebImage.xml.rels
12 xl\richData\rdrichvalue.xml
13 xl\richData\rdrichvaluestructure.xml
14 xl\richData\rdRichValueTypes.xml
15 xl\richData\rdRichValueWebImage.xml
16 xl\sharedStrings.xml
17 xl\styles.xml
18 xl\theme\theme1.xml
19 xl\workbook.xml
20 xl\worksheets\_rels\sheet1.xml.rels
21 xl\worksheets\sheet1.xml

Примечание:

  1. Сгенерированный в Sheets XLSX не содержит жирных имен файлов в строках 4, 5, 7, 9-15.
  2. Файлы выделенные кодом находятся в сгенерированном в Sheets XLSX, но не остальные.

Ответ или решение

Excel автоматически изменяет формулу =IMAGE() на =@IMAGE() — как это предотвратить?

В процессе работы с Google Sheets и Excel пользователи сталкиваются с определёнными проблемами, связанными с совместимостью функций. Одной из таких проблем является автоматическое изменение формулы =IMAGE(<url>) на =@IMAGE(<url>) при открытии файла Excel, экспортированного из Google Sheets. Это изменение вызывает определённые неудобства, особенно если формула перестаёт работать должным образом. В данной статье мы разберёмся с причинами этого явления и предложим возможные решения.

Причины изменения формулы

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

  1. Документация и Интероперабельность: Всё началось с того, что Google Sheets генерирует файл .xlsx с формулой =IMAGE(<url>). Однако, когда этот файл открывается в Excel, Microsoft автоматически модифицирует формулу, добавляя символ @. Это символ обозначает "неявную интерсекцию" (implicit intersection) и предполагает, что результат формулы должен извлекаться только из одного значения, а не из массива данных.

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

  3. Исходные данные: Важно отметить, что сам файл, сохраняемый Google Sheets, не содержит символа @. Вы можете открыть файл в текстовом редакторе или использовать архиватор для просмотра содержимого архива .xlsx и убедиться в этом.

Возможные решения

Если характер работы с формулами в Excel לא позволяет избежать добавления символа @, вы можете предпринять следующие шаги для устранения проблемы:

  1. Редактирование формул: После открытия файла в Excel, перейдите в ячейку, содержащую формулу, и нажав на клавишу F2, войдите в режим редактирования. Затем просто удалите символ @ и нажмите Enter для подтверждения. Это позволит Excel переоценить формулу и вернуть изображение.

  2. Проверка совместимости формул: Обратите внимание, что некоторые функции, доступные в Google Sheets, могут не поддерживаться в Excel или вести себя по-другому. Убедитесь, что используемые вами функции являются совместимыми с Excel, прежде чем экспортировать файл.

  3. Замена формул: Если проблема повторяется, можно временно заменять =IMAGE() на аналогичные функции, доступные в Excel, например, с использованием встроенной функции вставки изображения.

  4. Использование сторонних решений: Существует множество плагинов и утилит, которые могут помочь вам конвертировать Google Sheets в Excel с минимальными потерями данных и адаптировать формулы под формат, поддерживаемый Excel.

Заключение

Итак, изменение формулы =IMAGE() на =@IMAGE() в Excel при открытии файлов, созданных в Google Sheets, обусловлено особенностями обработки формул в Excel. Хотя это изменение может привести к временным неудобствам, пользователи могут избавиться от символа @ через простые действия в Excel. Для дальнейшего повышения эффективности работы с таблицами и предотвращения подобных проблем рекомендуется быть в курсе совместимости используемых функций и внедрять дополнительные инструменты для оптимизации рабочего процесса.

Сохранение внимательности к формулами и шагам экспорта, несомненно, способствовало бы эффективной работе в обеих средах.

Оцените материал
Добавить комментарий

Капча загружается...