Ссылка на ячейку в 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 обычно открывает лист по умолчанию на первом листе.


Сумасшедший вопрос. Кто-нибудь знает способ вернуть результат ссылки на электронную таблицу в текст? Возможно, в BBCode, где у вас будет [url] [/ url]? Я знаю, это маловероятно, потому что я сомневаюсь, что они дадут нам возможность использовать веб-сервисы ... По сути, вывод результатов этой ячейки на страницу.
— HumbleWebDev

Хороший обзор, большое спасибо! Я просто хотел бы отметить, что существует легкий дополнительный обходной путь, использующий комментарии в этом ответе . Это займет немного меньше времени для реализации, чем использование именованных диапазонов, если вы ищете ссылку на «динамический» адрес ячейки (вместо «статического», такого как «A3»)
— Альбин

Любой способ назвать «диапазон», который будет автоматически следовать за этим диапазоном, когда таблица отсортирована? (Я вижу, это уже следует, когда строки вставляются или удаляются)
— Майкл

Я хотел бы, чтобы названный идентификатор диапазона было легче найти
— Иван Досев

6

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

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

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


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]
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.