Вопрос или проблема
Когда у меня есть формула =IMAGE(<url>)
в Google Sheets и я экспортирую в файл Excel, а затем открываю его в Excel, Excel автоматически преобразует ее в =@IMAGE(<url>)
.
Это ломает формулу. Я могу исправить это, просто убрав @, и изображение теперь правильно отображается в Excel.
Я проверял файл .xlsx
перед его открытием в Excel, и я вижу, что формула =IMAGE
, а не =@IMAGE
, так что я знаю, что именно Google Sheets добавляет @.
Как мне предотвратить добавление этого @ в Excel?
Excel автоматически преобразует его в =@IMAGE().
Это ломает формулу.
Нет, добавление символа @
(см. оператор неявного пересечения) не ломает формулу.
- Excel выполняет ряд шагов и модификаций для файлов в архиве XLSX при использовании таких функций, как IMAGE.
- Эти действия выполняются, когда функция рассчитывается, и включают создание и сохранение локального (в архиве) миниатюры и проведение различных проверок безопасности.
- Поскольку файл на самом деле не является файлом Excel, а файлом, который был сгенерирован для соответствия параметрам файла Excel, архив имеет ограниченные возможности по ряду обоснованных причин.
- Просто введя затронутую ячейку в режим редактирования, а затем снова сохранив ее с символом
@
или без него, вы позволите 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 | ✓ | ✓ | ✓ | ✓ |
Примечание:
- Сгенерированный в Sheets XLSX не содержит жирных имен файлов в строках 4, 5, 7, 9-15.
- Файлы
выделенные кодом
находятся в сгенерированном в Sheets XLSX, но не остальные.
Ответ или решение
Excel автоматически изменяет формулу =IMAGE()
на =@IMAGE()
— как это предотвратить?
В процессе работы с Google Sheets и Excel пользователи сталкиваются с определёнными проблемами, связанными с совместимостью функций. Одной из таких проблем является автоматическое изменение формулы =IMAGE(<url>)
на =@IMAGE(<url>)
при открытии файла Excel, экспортированного из Google Sheets. Это изменение вызывает определённые неудобства, особенно если формула перестаёт работать должным образом. В данной статье мы разберёмся с причинами этого явления и предложим возможные решения.
Причины изменения формулы
Рекомендуется сначала рассмотреть, что происходит с формулой, когда файл сохраняется и открывается в разных приложениях.
-
Документация и Интероперабельность: Всё началось с того, что Google Sheets генерирует файл
.xlsx
с формулой=IMAGE(<url>)
. Однако, когда этот файл открывается в Excel, Microsoft автоматически модифицирует формулу, добавляя символ@
. Это символ обозначает "неявную интерсекцию" (implicit intersection) и предполагает, что результат формулы должен извлекаться только из одного значения, а не из массива данных. -
Формирование файла: Excel использует различные механизмы для интерпретации формул и выполнения дополнительных шагов при их процессе, что приводит к добавлению этого символа.
-
Исходные данные: Важно отметить, что сам файл, сохраняемый Google Sheets, не содержит символа
@
. Вы можете открыть файл в текстовом редакторе или использовать архиватор для просмотра содержимого архива.xlsx
и убедиться в этом.
Возможные решения
Если характер работы с формулами в Excel לא позволяет избежать добавления символа @
, вы можете предпринять следующие шаги для устранения проблемы:
-
Редактирование формул: После открытия файла в Excel, перейдите в ячейку, содержащую формулу, и нажав на клавишу F2, войдите в режим редактирования. Затем просто удалите символ
@
и нажмите Enter для подтверждения. Это позволит Excel переоценить формулу и вернуть изображение. -
Проверка совместимости формул: Обратите внимание, что некоторые функции, доступные в Google Sheets, могут не поддерживаться в Excel или вести себя по-другому. Убедитесь, что используемые вами функции являются совместимыми с Excel, прежде чем экспортировать файл.
-
Замена формул: Если проблема повторяется, можно временно заменять
=IMAGE()
на аналогичные функции, доступные в Excel, например, с использованием встроенной функции вставки изображения. -
Использование сторонних решений: Существует множество плагинов и утилит, которые могут помочь вам конвертировать Google Sheets в Excel с минимальными потерями данных и адаптировать формулы под формат, поддерживаемый Excel.
Заключение
Итак, изменение формулы =IMAGE()
на =@IMAGE()
в Excel при открытии файлов, созданных в Google Sheets, обусловлено особенностями обработки формул в Excel. Хотя это изменение может привести к временным неудобствам, пользователи могут избавиться от символа @
через простые действия в Excel. Для дальнейшего повышения эффективности работы с таблицами и предотвращения подобных проблем рекомендуется быть в курсе совместимости используемых функций и внедрять дополнительные инструменты для оптимизации рабочего процесса.
Сохранение внимательности к формулами и шагам экспорта, несомненно, способствовало бы эффективной работе в обеих средах.