Ссылка на ячейку в Google Sheets через URL?

30

Можно связываться с Google Sheets через ключ, а также через ключ и идентификатор листа:

  • https://docs.google.com/spreadsheet/ccc?key=SOME_KEY
  • https://docs.google.com/spreadsheet/ccc?key=SOME_KEY#gid=WORKSHEET_ID

Можно ли также ссылаться на определенную строку или даже ячейку через параметры или фрагменты URL-запроса?

Похоже на механизм привязки ссылок в HTML?

Мик
источник

Ответы:

17

Теперь эта функция реализована, попробуйте:

https://docs.google.com/spreadsheets/d/13PuCx8zKUjXvofFYBGzoOYog7UHpvLzCgxMLF9INnr8/edit#gid=0&range=D10

щелкните правой кнопкой мыши по любой ячейке и попробуйте get link to this cell

Макс Махров
источник
Хорошо, но, похоже, не работает в приложении Android Sheets. Есть ли решение, которое работает там тоже? Или какой-нибудь ключ, если приложение Sheets получит эту функцию?
Виктория
В настоящее время приложение «Листы» откроет правильный лист, но с последним использованным листом вместо того, который указан gid, и не будет попытки попасть в нужную ячейку.
Виктория
То есть, используя такую ​​ссылку из-за пределов приложения, она загружает приложение Sheets, но не переходит к нужному уровню или диапазону.
Виктория
@Victoria Для приложения для Android гораздо проще: =HYPERLINK("#gid=0&range=Sheet1!B5")gid всегда будет равен 0, а параметр range принимает имя листа вместо сложного идентификатора, такого как рабочий стол.
TheMaster
1
Это, очевидно, выбор по идентификатору ячейки (например, D10), но есть ли способ сослаться на ячейку, которая будет следовать данным? В своих листах я часто сортирую таблицу, и было бы здорово, если бы я мог отслеживать, где находится конкретная строка даже после сортировки.
Майкл
16

Заметки:

* Электронные таблицы, созданные в старой версии Sheets, в конечном итоге будут преобразованы в новые Sheets, что не потребует каких-либо действий с вашей стороны. Более подробная информация скоро.


Да, можно связать строку, используя следующую ссылку.

Ссылка

https://docs.google.com/spreadsheet/lv?
  key={your_key}&                // spreadsheet key
  type=view&                     // view (list under menu view)
  gid=0&                         // sheet number
  f=true&                        // markup parameter
  sortcolid=-1&                  // sort parameter
  sortasc=true&                  // sort parameter (asc/desc)
  page=4&                        // row to edit (counts for 5)
  rowsperpage=1                  // number of rows per page (needs to be n=1)

Скриншот

введите описание изображения здесь

пример

Следующая ссылка открывает файл, созданный в этом ответе , и перехватывает 5- ю строку: пример ссылки

Ссылка

Пост блога:
http://mashe.hawksey.info/2013/07/how-to-open-a-google-spreadsheet-at-a-specific-row-for-editing/

Мартин Хокси :
активный блогер, в основном пишущий о скриптах Google Apps в сочетании с таблицами Google. Смотрите его блог для более интересных вещей или следите за ним в Google+.

Джейкоб Ян Туинстра
источник
2
Эта ссылка открывает представление списка - есть ли возможность связать непосредственно с ячейкой в ​​режиме редактирования (как я подозреваю, хочет ОП)?
Видар С. Рамдал
2
Не то чтобы этот трюк не был хорошим (он есть), но он дает совершенно другое представление данных электронной таблицы, с видимой только одной строкой. Пример ссылки на OP предназначен для /cccполного представления редактирования, поэтому я подозреваю, что он (и я) предпочел бы. Может быть, ОП мог бы уточнить.
Видар С. Рамдал
1
Да, я бы предпочел решение, где электронная таблица «переходит» на указанную позицию, как якоря в HTML.
мику
5
Согласно support.google.com/docs/answer/139561?rd=1 представление списка было удалено в "новых" таблицах Google.
bgoodr
2
Документ из "ссылки на пример" был перенесен в Новые листы Google, и теперь он не работает так, как предполагалось, когда был опубликован ответ.
Рубен
9

Как ответил другой пользователь , Google наконец-то добавил в электронные таблицы Google Sheets (GS) функцию, позволяющую напрямую связываться с ячейками. Эта функция предназначена для связи с диапазонами ячеек, но также работает и указание отдельных ячеек. GS также поддерживает привязку к именованным диапазонам ячеек в электронной таблице, но для использования этой функции требуется немного больше работы, чем для диапазона ячеек по адресу. Дополнительные усилия могут стоить, хотя.

💡 Примечание:

  • Для приведенных ниже примеров используется случайная электронная таблица .
  • URL-адреса Документов Google обычно включают /editсразу после длинной строки идентификатора документа. Это раздражает, потому что они занимают место, и они не нужны. Если URL-адрес не указан /edit, Документы Google в любом случае обычно открывают документ в режиме редактирования. Они были исключены из URL в приведенных ниже примерах.

Ссылка на: отдельную ячейку на листе

  1. Нажмите на ячейку электронной таблицы, на которую нужно сослаться. Например, ячейка C7.
  2. Откройте контекстное меню (с помощью вторичного щелчка: щелчок правой кнопкой мыши, нажатие Ctrl и т. Д.).
  3. Прокрутите меню вниз и щелкните элемент «Получить ссылку на эту ячейку». Появится сообщение «Ссылка была скопирована в буфер обмена».
  4. Вставьте URL ссылки из буфера обмена в любое место. Это будет похоже на:

    https://docs.google.com/spreadsheets/d/1yk6W3iyZM7JKffsRTjPhm9I_PWerrJbltoHZ37Tqdh0#gid=2021414981&range=C7

Несколько замечаний по поводу аргументов, содержащихся в идентификаторе фрагмента этого URL:

  1. gid=- Это идентификатор листа в электронной таблице. Новые таблицы имеют один лист с идентификатором 0. Идентификатор видимого в данный момент листа обычно отображается в строке URL браузера.
  2. range= - Это адрес указанной ячейки в формате «А1» (буква столбца и номер ячейки).

Кажется, что контекстное меню - единственный способ в интерфейсе GS получить URL-адреса ячеек. Нет никаких других пунктов меню, которые делают это.

Ссылка на: диапазон ячеек на листе

  1. Выделите диапазон ячеек электронной таблицы, на которые нужно сослаться. Например, ячейки с C7 по D13.
  2. Откройте контекстное меню.
  3. Прокрутите меню вниз и щелкните элемент «Получить ссылку на этот диапазон». Появится сообщение «Ссылка была скопирована в буфер обмена».
  4. Вставьте URL ссылки из буфера обмена в любое место. Это будет похоже на:

    https://docs.google.com/spreadsheets/d/1yk6W3iyZM7JKffsRTjPhm9I_PWerrJbltoHZ37Tqdh0#gid=2021414981&range=C7:D13

💡 Примечание . Чтобы выбрать группу непустых непрерывных ячеек на листе, щелкните одну ячейку в группе, а затем нажмите сочетание клавиш «выбрать все» (команда-A, ctrl-A и т. Д.). В зависимости от содержимого соседних ячеек будет выбран диапазон ячеек или все ячейки на листе. Например, в ячейке C7 примера электронной таблицы этот метод выбирает ячейки в диапазоне A1: K28.

Ссылка на: Все ячейки на листе

This В этом и следующих разделах инструкции по получению URL-адреса сокращены. Только первый шаг, выбор ячеек, описан. Смотрите предыдущий раздел для подробных инструкций.

В поле слева от буквы «А» и номера строки «1» откройте контекстное меню, затем нажмите «Получить ссылку на этот диапазон».

URL будет похож на:

https://docs.google.com/spreadsheets/d/1yk6W3iyZM7JKffsRTjPhm9I_PWerrJbltoHZ37Tqdh0#gid=2021414981&range=1:605

Обратите внимание, что диапазон - это только номера строк, начиная с 1 и заканчивая самым высоким номером строки. Если задан диапазон только номеров строк, все столбцы в этих строках включаются в диапазон.

Ссылка на: диапазон столбцов или строк

Выберите одну или несколько меток букв столбцов или номеров строк.

URL будет похож на:

Ссылка на: именованный диапазон

Связать с именованным диапазоном сложнее, чем получить ссылку на диапазон ячеек по адресу. GS не имеет функции для прямой связи с указанным диапазоном. Использование имени именованного диапазона в range=аргументе не работает. Выполните следующие действия, чтобы получить URL рабочей ссылки для именованного диапазона:

  1. Убедитесь, что в таблице есть именованный диапазон. Если это не так, создайте его. (Например, в электронной таблице в качестве примера диапазон, названный «judgenames», был определен как «C1: C», который GS сохраняет как «C1: C605».)
  2. Нажмите на пустую ячейку таблицы.
  3. Используйте функцию «Вставить ссылку» (т. Е. Из пункта меню «Вставка»> «Ссылка», из пункта контекстного меню «Вставить ссылку», сочетания клавиш Ctrl-K или Ctrl-K и т. Д.).
  4. В появившемся окне редактора ссылок нажмите «Именованные диапазоны в этой электронной таблице», затем щелкните имя диапазона, показанного под ним (например, «judgenames»)
  5. Нажмите кнопку «Применить».
  6. Наведите курсор на новую ссылку. Появится всплывающее окно с отображением части URL (например, #rangeid=1332253898).
  7. Скопируйте эту новую ссылку из всплывающего окна :

    1. Копирование текста ссылки и использование его вместо идентификатора фрагмента в URL текущей электронной таблицы.
    2. Скопируйте адрес ссылки. (Формулировка используется Google Chrome.)

    Эти методы будут варьироваться от браузера к браузеру.

URL будет похож на:

https://docs.google.com/spreadsheets/d/1yk6W3iyZM7JKffsRTjPhm9I_PWerrJbltoHZ37Tqdh0#rangeid=1332253898

Несколько замечаний по поводу аргументов, содержащихся в идентификаторе фрагмента этого URL:

  1. rangeid=- Этот аргумент используется вместо range=найденного в ссылках на диапазон адресов ячеек.
  2. gid=- Этот аргумент не используется. Возможно, это связано с тем, что идентификатора именованного диапазона достаточно для указания идентификатора листа и диапазона его ячеек.

💡 Почему стоит использовать именованный диапазон?

Когда URL ссылается на именованный диапазон GS, электронная таблица откроется, и фокус будет помещен на любой диапазон ячеек, на который ссылается указанный диапазон в настоящее время . Когда диапазон «Judgenames» был первоначально определен, он был для диапазона «C1: C605», который получит фокус при открытии электронной таблицы. Однако представьте, что диапазон "judgenames" переопределен, скажем, "D1: D5". В следующий раз, когда этот же URL-адрес будет использован для открытия электронной таблицы, новый диапазон получит фокус, а не старый.

Ссылка на: лист

Наконец, самая простая ссылка из всех - конкретный лист в электронной таблице. Самый простой способ получить это - выбрать лист в электронной таблице, а затем скопировать URL-адрес из адресной строки веб-браузера.

URL-адрес листа аналогичен диапазону ячеек. В нем отсутствует только range=аргумент идентификатора фрагмента:

https://docs.google.com/spreadsheets/d/1yk6W3iyZM7JKffsRTjPhm9I_PWerrJbltoHZ37Tqdh0#gid=583749522

При связывании с несуществующим листом GS обычно открывает лист по умолчанию на первом листе.

LS
источник
Сумасшедший вопрос. Кто-нибудь знает способ вернуть результат ссылки на электронную таблицу в текст? Возможно, в BBCode, где у вас будет [url] [/ url]? Я знаю, это маловероятно, потому что я сомневаюсь, что они дадут нам возможность использовать веб-сервисы ... По сути, вывод результатов этой ячейки на страницу.
HumbleWebDev
Хороший обзор, большое спасибо! Я просто хотел бы отметить, что существует легкий дополнительный обходной путь, использующий комментарии в этом ответе . Это займет немного меньше времени для реализации, чем использование именованных диапазонов, если вы ищете ссылку на «динамический» адрес ячейки (вместо «статического», такого как «A3»)
Альбин
Любой способ назвать «диапазон», который будет автоматически следовать за этим диапазоном, когда таблица отсортирована? (Я вижу, это уже следует, когда строки вставляются или удаляются)
Майкл
Я хотел бы, чтобы названный идентификатор диапазона было легче найти
Иван Досев
6

Один из обходных путей - добавить комментарий в ячейку. В комментарии напишите + адрес электронной почты, например, «Этот комментарий является ссылкой на ячейку для +me@emailaddress.com».

«Me@emailadress.com» получит электронное письмо со ссылкой, которая, если вы нажмете на нее, автоматически выделит эту ячейку + комментарий в электронной таблице.

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

Veesh
источник
2
Более того, после того, как вы оставили комментарий, он появляется в выпадающем списке «Комментарии» (кроме кнопки «Поделиться»). Каждый комментарий имеет метку времени и маленькую стрелку для меню. Существует пункт «Ссылка на этот комментарий ...», который открывает диалоговое окно ссылки на комментарий для копирования и вставки.
Мирослав
На данный момент (2014-11-15), «затем получит письмо со ссылкой» не происходит (возможно, это когда-то произошло). Я проверил это, изменив «+me@emailaddress.com» на свой собственный адрес электронной почты, затем щелкнул ссылку на него в комментарии и проверил письмо, которое было отправлено мне обратно. В отправленном электронном письме такой URL или ссылка не найдены. Возможно, я неверно истолковал это, или Google изменил поведение.
bgoodr
По состоянию на 2015-02-16 я иногда получал электронное письмо с ссылкой. Он находится в первом голубом выделенном тексте, который был отправлен, ссылка была в гипертексте, озаглавленном названием таблицы, например: <my name> added a comment to <title of my spreadsheet>где <title of my spreadsheet>содержалась ссылка, заканчивающаяся на «disco = ...», в которой была выделена ячейка с комментариями в желтом. Тем не менее, и это сумасшедшая часть, Google больше не отправляет эти электронные письма, я сначала получил несколько, может быть, 3-4 электронных письма, но теперь, независимо от того, сколько раз я пытаюсь, не идти. Может быть, защита от спама?
ликетический
2
@likethesky Я обнаружил, что этот трюк не отправляет мне электронное письмо, если я упоминаю себя в комментарии, но если я упоминаю коллегу, у которого есть доступ к листу, он получает уведомление.
CupawnTae
Я использовал этот метод в течение длительного времени. Это все еще работает с текущей версией Google Sheets. Один из его недостатков заключается в том, что открытие ссылки на комментарий приводит к его отображению. Это не все плохо, но это может скрыть целевую клетку. Иногда я хочу направить пользователя в ячейку и не показывать комментарий. Итак, как подробно описано в моем ответе , новые функции связывания GS гораздо более гибкие. Комментарии не требуются, и ссылки могут быть сделаны на диапазоны (и именованные диапазоны, с небольшим количеством работы).
LS
0

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

  1. Создайте новый вид, который вы хотели бы использовать. Удалите все фильтры и сортировки (или установите некоторую последовательную сортировку по умолчанию, где данные не могут быть вставлены).
  2. На листе щелкните правой кнопкой мыши ячейку / диапазон, на который вы бы ссылались, и выберите меню «Получить ссылку на эту ячейку / диапазон». Вставьте это значение куда-нибудь, как в Блокноте.
  3. Посмотрите URL-адрес и получите идентификатор просмотра по адресу, обычно в конце, который выглядит как & fvid = 32010312357 или как-то по-другому. Вставьте это значение в конец ссылки, которую мы получили на предыдущем шаге
  4. Теперь ваша ссылка должна выглядеть следующим образом: https://docs.google.com/spreadsheets/d/[SHEET_ID]/edit#gid=0&range=A40:H40&fvid=[VIEW_ID]
Боян Барос
источник