GoogleSheets
March 18, 2023

Динамическая нумерация столбцов Google Sheets в виде массива Salebot

Таблицы Google - Google Sheets - безусловно являются мощным вспомогательным инструментом. И не только как база данных для совсем небольших массивов данных. Большие лучше хранить в полноценных базах данных. Об этом будут материалы. А пока про Google Sheets, которые помогают сильно добавить к функционалу чат-ботов.

Лайфхак, помогающий в динамике получать нумерацию в столбце Google Sheets

Допустим, есть таблица гугл, в столбце A которой содержатся порядковые значения строк (скрин 1). Таблица пополняется. Без лишней ручной работы нам нужно получить в бота число этих строк в виде массива (к примеру, в таблице 30 строк, пронумерованных от 1 до 30):

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]

В итоге получаем 👇

Как получили?

Этот массив содержится в конкретной ячейке, из которой мы спокойно забираем его с помощью штатной функции Salebot-а sheet_read_cells

В таблице используем следующую формулу Google Sheets:

=CONCATENATE("["; TEXTJOIN(",";1;A:A); "]")

Если использовать JOIN, то в массив будут включены также и пустые значения, что нам совсем не нужно.

Калькулятор Salebot:
r = sheet_read_cells('здесь_ваш_id_таблицы', '{"k2":"k2"}', 'L2')

Текстовый вывод Salebot:
#{r["K2"]}

Закономерный вопрос: с цифрами понятно - как вывести массив строковых значений?

Немного модифицируем формулу для следующего столбца:

=CONCATENATE("['"; TEXTJOIN("','";1;B:B); "']")

Результат:

['якубович','буратино','артемида','иероглиф','кувшинка','телеигра','оболочка','авантюра','авиагруз','авиабаза','абориген','авионика','авангард','аванпост','бабуля','багдадец','багетчик','базилика','вагонщик','важность','вакансия','гавканье','гадатель','гадливый','газовать','газометр','газончик','гаитянка','галерист','гамак']

Благодарность в виде доната приветствуется 😉. Как говорят восточные зулусы, buy me a coffee 😃

👇