Telegram Web
Почему объединение ячеек — это не очень хорошо?

Потому что за объединенной ячейкой всегда скрывается только одна заполненная (левая верхняя, первая, попросту говоря) и все остальные пустые!

А значит, формулами мы это дело не обработаем: в примере ломается ВПР / VLOOKUP, потому что название курса берется только из первой из объединенных ячеек.

Что если вы повторили все названия, но визуально хотите сохранить эффект объединения?

Как вариант — придумать формулу условного форматирования, которая будет "прятать" (применять белый цвет шрифта) все "лишние", нецентральные подписи.
1👍36🔥139👎3❤‍🔥1
Сортируем данные по фамилии (или другому слову в составе текстовой строки)

Вот такой лайфхак от маэстро табличных дел Бена Коллинса.

Если в ячейках данные формата Имя Фамилия, а нам надо сортировать по фамилии, а не по всей текстовой строке (включая имя), то можно в функцию SORT засунуть текстовые функции, которые будут извлекать фамилию:

=SORT(диапазон ;RIGHT(диапазон ;LEN(диапазон )-SEARCH(" ";диапазон ));1)

Здесь мы определяем, сколько символов в фамилии (находим с помощью SEARCH / ПОИСК или FIND / НАЙТИ разделитель — пробел — и вычитаем его позицию из общего числа символов в строке (LEN / ДЛСТР).
Затем извлекаем соответствующее число символов с конца строки с помощью функции RIGHT / ПРАВСИМВ.

А как это делается в Excel с новыми функциями (в частности, TEXTAFTER / ТЕКСТПОСЛЕ), можно посмотреть здесь:
https://www.tgoop.com/lemur_excel/273

Таблица с примером
1🔥26👍245👎1🤔1
Загружаем расходы в Таблицу по рекламе ВБ, API

Друзья, привет! Мы подготовили для вас Таблицу со скриптом, с помощью нее вы сможете загружать расходы по рекламным кампаниям из API ваших любимых диких ягод.

Копируйте Таблицу, вставляйте даты на первый лист (максимальный диапазон для загрузки - 31 день), вставляйте API-токен и запускайте скрипт из меню.

Из интересного, если захотите разобраться в коде - скрипт не будет задваивать строки, если они уже были загружены на лист и вернуться из ответа API, скрипт проверяет уникальность по ключу дата и время операции + номер кампании.

Также мы расшифровываем статус кампании и тип кампании.

Описание метода API: https://openapi.wildberries.ru/promotion/api/ru/#tag/Finansy/paths/~1adv~1v1~1upd/get

Таблица с кодом

Код отдельно:

function onOpen() {
SpreadsheetApp.getUi().createMenu("🔥")
.addItem('загрузить расходы за диапазон дат', 'google_sheets')
.addToUi();
};

function google_sheets() {
try {
url_api = 'https://advert-api.wb.ru/';
tz = Session.getScriptTimeZone();
name = 'Расходы';

ss = SpreadsheetApp.getActive();
sh = ss.getSheetByName(name);
d = sh.getDataRange().getValues();

[start, end, token] = ss.getRange("!!b1:b3").getValues().flat()
.map((f, i) => i < 2 ? d2s(f) : f);

o = [];
url = `${url_api}adv/v1/upd?from=${start}&to=${end}`

r = request(url, 'get', token);

r = r
.map(k => {
var [advertType, updTime, paymentType, advertStatus, updSum, advertId, campName] =
[advert_type[k.advertType] || k.advertType, new Date(k.updTime), k.paymentType, obj_status[k.advertStatus], k.updSum, k.advertId, k.campName];

updTime = d2s(updTime, 'yyyy-MM-dd HH:mm:ss', tz);
key = updTime + '|' + advertId;
if (!o.includes(key)) o.push(key);

return [advertType, updTime, paymentType, advertStatus, updSum, advertId, campName];
});

if (r.length) {

d = d.slice(1).filter(g => {
date = d2s(g[1], 'yyyy-MM-dd HH:mm:ss', tz);
key = date + '|' + g[5];
return !o.includes(key);
});

console.log('стало: ' + d.length);
r = [...d, ...r];

console.log('суммарно вставляем: ' + r.length);
sh.getRange("A2:M").clearContent();
sh.getRange(2, 1, r.length, r[0].length).setValues(r);
};
} catch (err) {
Browser.msgBox(err.message);
}
};

obj_status = {
4: 'готова к запуску',
7: 'завершена',
8: 'отказался',
9: 'активна',
11: 'приостановлена'
};

advert_type = {
9: 'поиск',
8: 'автокомпания'
};

function d2s(date, format = 'yyyy-MM-dd', tz = Session.getScriptTimeZone()) {
return Utilities.formatDate(date, tz, format);
};

function request(url, method, token, data) {
params = {
method: method,
muteHttpExceptions: true,
contentType: 'application/json;',
payload: JSON.stringify(data),
'headers': {
Authorization: token
}
};

r = UrlFetchApp.fetch(url, params);
r = JSON.parse(r)
return r;
};


PS Токен ВБ нужен "продвижение", получить можно в личном кабинете продавца ВБ (как)
1👍39🔥221👎1
Телеграм бот для техподдержки, связанный с Google Таблицами

Друзья, привет! Пока сделаем анонс того, что скоро выложим на канал. Идея простая и уже проверенная нами в ряде компаний.


Концепция
– Телеграм бот, которому ваши сотрудники (ну или клиенты) задают вопросы, то есть просто отправляют сообщения

– Все сообщения приходят в Google Таблицу

– Оператор отвечает на сообщение прямо из Таблицы и оно отправляется автору вопроса в Телеграм

– Помимо этого можно сделать рассылку среди тех, кто боту писал и его не заблокировал


Мы сейчас заканчиваем упаковывать этот скрипт, поэтому все целиком мы вам презентуем в ближайшие дни.
1🔥92👍228❤‍🔥6👎1
Google Таблицы
Телеграм бот для техподдержки, связанный с Google Таблицами Друзья, привет! Пока сделаем анонс того, что скоро выложим на канал. Идея простая и уже проверенная нами в ряде компаний. Концепция – Телеграм бот, которому ваши сотрудники (ну или клиенты) задают…
Media is too big
VIEW IN TELEGRAM
Горячая линия своими руками (телеграм бот + отвечаем на вопросы из Таблицы)

В видео - демонстрация работы.

Чтобы развернуть у себя - делаем копию Таблицы, открываем редактор скриптов, читаем лист "!!!ИНСТРУКЦИЯ". Всё очень просто, справится даже новичок.

Чтобы отформатировать сообщение, которое отправляем - используйте HTML style

Нужен бот посложнее – ⭐️ Заказ работы у нас

PS
Это – прекрасный пример того, как неожиданно мощны могут быть Таблицы. В этой Таблице мы развернули "сервер" с веб-приложением, который работает круглосуточно и бесплатно, ждёт сообщений от Телеграм бота и логирует их в Таблицу, далее также легко вы можете из этой Таблицы отвечать.
1🔥69👍249👎2
В последнее время в чатах и личных сообщениях с той или иной долей паники спрашивают, чем заместить доски Miro…

Которыми, как выясняется, пользуется едва ли не столько же компаний и команд, сколько и таблицами 🤠 Это такой же нужный инструмент для командной работы, в том числе, если не в первую очередь, для удаленных команд

Чем же заменить ушедший сервис? Опцию бесплатного переноса данных из Miro обещает VK Доска. Да и собственно весь сервис пока бесплатный. Число досок бесконечное, число участников тоже, так что если работаете удаленно (а раз вы пользуетесь Таблицами, то это весьма вероятно) — подойдет.

Пока это бета-версия, и кое-каких привычных вещей для совместной работы нет (комментариев, разграничения доступа) — но их обещают добавить скоро.

Будем надеяться, что это случится быстро и на этом новые инструменты не закончатся...
1🔥22🥴18👍10💊107🥱7👎4😭1
На Google Диске новые горячие клавиши

Старые, более короткие, увы, теперь холодны и не работают.

Например, для создания папки раньше нужно было нажать Shift + F и все.
А теперь Alt + C, а потом F.

Соответственно, для создания новых файлов теперь нужно нажать Alt + C (Control + C), а потом:
Документ — T
Таблица — S
Презентация — P
Форма — O

Переименовать файл или папку раньше можно было просто нажатием клавиши N. А теперь — F2 (или Ctrl + Alt + N).

Добавить в список помеченных (Starred) — раньше S, а теперь Ctrl + Alt + S 🤯 (Command + Option + S).

P.S. А почему поменялось? Добавилась возможность навигации по первым буквам файлов. То есть вводим букву и попадаем к файлу, имя которого начинается с нее.
1🔥15👍10😢7🤩3👎1
Решаем проблему поиска ВПР-ом в трех диапазонах

Допустим, у нас есть три Таблицы и нам нужно найти наше значение сначала в одной, потом, если не нашли, то в следующей, не нашли в следующей - ищем в последней.

Два варианта, вариант олдскульный и классический:


Функция ищет в первом диапазоне, если возвращается NA - в следующим и так далее.

=IFNA(VLOOKUP(A6;A1:B3;2;0);IFNA( VLOOKUP(A6;D1:E3;2;0);VLOOKUP(A6;G1:H3;2;0)))


И вариант молодежный и прогрессивный:


С помощью VSTACK соединяем диапазоны в один и дальше используем один ВПР.

=VLOOKUP(A6; VSTACK(A1:B3;D1:E3;G1:H3) ; 2; 0)


Статья про VSTACK и другие модные формулы от нашего Михаила
2👍56🔥2711❤‍🔥5👌2👎1🤗1
Вот такую задачу решали на практикуме по формулам: выгрузка из реальной жизни, только упрощенная и данные вымышленные.

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

Число строк по каждому городу разное, так что за это не зацепишься.

Какие варианты в такой ситуации возможны?

1 Смотреть на первое слово / символы в ячейке. Например, проверять, что первые 6 символов (ЛЕВСИМВ / LEFT) — это "филиал"
=ЕСЛИ(ЛЕВСИМВ(A2;6)="филиал"; A2; значение сверху)

2 А если не везде начало со слова "филиал", как в реальной жизни? Там было то "Филиал", то "Центр", то сразу город.

Тогда можно смотреть на следующую строку — если там подзаголовок другого уровня, значит, в текущей строке заголовок по городу. Это решение на скриншоте.

3 Можно смотреть на какой-то из соседних столбцов (B, C и так далее), но не конкретно в этом случае, т.к. здесь эти столбцы пустые и в строках с городами, и в строках с категориями услуг (Основные, дополнительные). Но в каких-то случаях это подойдет, можно будет проверять столбец на пустоту функцией ЕПУСТО / ISBLANK.
4👍327🔥4👨‍💻3👎1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Показывает чекбоксы только на строках с данными / снижаем визуальный шум :)

Друзья, привет, представьте - вы выводите диапазон данных и хотите, чтобы слева или справа у вас выстроились чекбоксы по каждой строке выведенного диапазона, но не больше


Как?
1. создаём целый столбец чекбоксов (выделили столбец > вставка > флажок)

2. применяем белый цвет шрифта на этот столбец

3. и создаем правило условного форматирования формулой для этого столбца - если в соседнем столбце есть данные - крась шрифт ячейки со скрытым чекбоксом в черный (смотрите на на гифку)


ПС а еще чекбоксы называют крыжами, слышали про это?

Наш чат, про Таблицы, скрипты и крыжи: @google_spreadsheets_chat
6🔥59👍26👎32💩2🤨2
Forwarded from Eugeny Namokonov
Наша команда уже пять лет работает с маркетплейсами: с ОЗОНОМ, ВБ, Яндекс маркетом

Что мы делаем:


1. выгружаем разные отчеты через API прямо в Таблицу, от остатков товаров (и их можно копить) до заказов / продаж / показателей по вашей рекламе;

2. загружаем данные в маркетплейс, те же остатки ваших складов FBS или новые цены, меняем карточки товаров прямо из Талиц;

3. и все зз удобного интерфейса Google Таблиц. Никаких проблем с доступом нет, если верно соблюдать тайминги и не стучаться каждую наносекунду - всё летает;

4. Средний отчет (обращение к одному API с последующей обработкой, скажем, накоплением заказов по ВБ) у нас стоит 10 000 рублей;

5. Помимо просто выгрузки сырых данных мы можем придумать из них дашборды, которые вам нужны;

6. Ну и конечно, данные можно грузить не только с одного ключа / магазина, а с многих, а если данных много - мы их храним не в Таблицу, а в облачной базе Google Biqquery;

7. Хотите продолжать выгружать отчетики из личного кабинета и как-то сводить с помощью бедных аналитиков - пожалуйста вы им даете работу, мы же, можем свести весь процесс для вас до одной кнопки (или вообще без кнопки, сделать автоматическую загрузку по расписанию);



Хотите из Таблицы / Локер Студио видеть все по своей империи - пишите мне, @namokonov, по всеми вопросам
4👍29🤪3👎2😎1
Google Таблицы
Наша команда уже пять лет работает с маркетплейсами: с ОЗОНОМ, ВБ, Яндекс маркетом Что мы делаем: 1. выгружаем разные отчеты через API прямо в Таблицу, от остатков товаров (и их можно копить) до заказов / продаж / показателей по вашей рекламе; 2. загружаем…
Продолжаем про маркетплейсы или "в поисках идеального дашборда"

У нас очень много клиентов на разработку всякого и точно бОльшая их часть - это продавцы ВБ, ОЗОН, Яндекс Маркета.

Знаете, что мы за годы работы заметили?

Как правило, даже те, кто понял, что нужна автоматизация - приходят без конкретного понимания, какие показатели выводить, как это должно выглядеть в целом и какие решения по всему этому можно принимать в своем бизнесе.

Поэтому давайте вместе придумаем нашу народную Табличку по маркетплейсам, действительно полезную.

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

🚨 Исходим из того, что все, что можно загрузить из API маркетплейсов - мы загружаем и превращаем в любой вид.

Поэтому, друзья - отправляйте свои варианты, либо чем сами пользуетесь, либо дашборд мечты, который хотели бы получить для управления своими магазинами (можете макет нарисовать).

Можно скришотами, можно с комментариями по показателями и по решениям, которые по ним будут принматься. Давайте сделаем это

💰 А чтобы вам было интереснее - мы выберем 1-2 человек с лучшими вариантами и сделаем для них похожее бесплатно
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍38🔥157🤷‍♂1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Ключевая ставка ЦБ РФ на дату - или формула имени Эльвиры Сахипзадовны

Ребятки, привет!

Вот формула:



=LET(_data; IMPORTHTML("https://cbr.ru/hd_base/KeyRate/?UniDbQuery.Posted=True&UniDbQuery.From=17.09.2013&UniDbQuery.To=" & TEXT(TODAY(); "dd.mm.yyyy"); "table"; 1); REDUCE({"Дата"\ "Ключевая ставка"}; SEQUENCE(ROWS(_data) - 1; 1; ROWS(_data); -1); LAMBDA(_acc; _i; LET(_date; --INDEX(_data; _i; 1); _value; INDEX(_data; _i; 2) / 100; IF(INDEX(_acc; ROWS(_acc); 2) <> _value; {_acc; _date\ _value}; _acc)))))


Формула достаёт значения ключевой ставки ЦБ РФ с сайта с 17.09.2013 (до этой даты данных нет) по сегодняшний день, приводит строки с датой и значением ставки к числовым значениям (формат столбца с датой надо будет задать руками, чтоб красиво отображалось).

Ещё она оставляет только новые значения: строки с датами, когда ставка не менялась отфильтровываются. Так получается 55 строк вместо 2700+. А пользоваться также: VLOOKUP (ВПР) с 4-м параметром True.

Спасибо за внимание! Всех с 1-м сентября!

🏄 И спасибо нашему прекрасному Михаилу Смирнову, он хоть и не в ЦБ (пока), но многое сделал для извлечения информации про курсы валют и показатели
9🔥60👍3310👎1🙏1
Задача: пронумеровать список, но так, чтобы пропуски игнорировались.

Если бы пропусков не было, можно просто использовать функцию СТРОКА / ROW, возвращающую номер строки, и одной формулой массива получить все номера:


=ArrayFormula(ЕСЛИ (ЕПУСТО(B2:B);""; СТРОКА(B2:B)-1))


А с пустыми строками?
Вот такой вариант — простой , но и без формулы массива (то есть формулы будут в каждой строке листа) — сработает. Берем диапазон с началом в первой ячейке (и ее закрепляем долларами) и с концом в текущей строке (для первой строки таблицы и начало и конец у диапазона совпадают, $B$2:B2.

И считаем количество значений в этом диапазона (СЧЁТЗ / COUNTA). Проверяем на пустоту и в таком случае ячейку с номерами тоже оставляем пустой.


=ЕСЛИ(B2="";"";СЧЁТЗ($B$2:B2))

А можно ли это решить одной формулой? Можно 🤠Но это будет посложнее. Можно через MAP и СМЕЩ (OFFSET). Какие еще предложения будут у вас?
8👍353👨‍💻3😎2👎1
А вот и ссылки

📗 Чат, где почти 6к активных подписчиков: @google_spreadsheets_chat

📕 Оглавление канала

⭐️ Заказ работы у нас
👍5👎1🫡1
СОБИРАТОР 4.0


Друзья, после публикации собиратора к нам пришло много клиентов, которые рассказали, что активно используют скрипт в своей работе. Это приятно. Повторяем пост про собиратор для новых подписчиков нашего канала



Про что это вообще?
Как-то к нам пришел Дима @IT_sAdmin и сказал – ребята, помогите! Мне очень нужно регулярно брать данные из больших Таблиц, фильтровать, а потом копировать результат в другие Таблицы, других Таблиц будет много (сотни их). Нужно, чтобы был интерфейс и всем этим волшебством можно было управлять из него.

Мы ответили – окей, будет тебе интерфейс. Так и появился наш скрипт для копирования Таблиц, в этом посте – его третья версия.


В прошлом году мы выпустили свой СОБИРАТОР – интерфейс для сбора других Таблиц через sheets api (самый быстрый скриптовый способ).

Задаёте правила сбора Таблиц в другие Таблицы и собираете, к примеру, 50 Таблиц ваших продавцов в одну сводную Таблицу и 30 Таблиц в другую сводную Таблицу, на лету фильтруя и оставляя только нужные столбцы.

Сегодня выпускаем обновление:
— теперь можно указать частоту загрузки каждой таблицы в минутах;
— можно выбрать тип копирования данных (formula / formatted_value / unformatted_value);
— решена проблема с добавлением новых данных: раньше они (иногда) вставлялись со сдвигом;

Главное:
Решение стало полностью автоматическим – теперь один раз заполняете конфиг сбора, выставляете частоту обновления в минутах, ставите скрипт в расписание и вуаля – данные собираются регулярно и уже без вашего участия.

СОБИРАТОР

ИНСТРУКЦИЯ

=
🔥НАШ КУРС НА SKILLBOX: Таблицы и GAS, Excel и VBA
📗ОГЛАВЛЕНИЕ КАНАЛА, категории | всё оглавление
⭐️ Заказ работы у нас
🔥61👍196👎1😈1
ОЗОН, Список отправлений FBO | @google_sheets

Друзья, выкладываем Таблицу со скриптом, с помощью которой можно выгрузить список отправлений FBO из API маркетплейса OZON.

Таблица с котом кодом.

Страничка из описания API OZON про этот метод.


И если вы совсем новичок, что нужно, чтобы скрипт заработал:

1) делаем копию Таблицы
2) идем в личный кабинет OZON и получаем client_id и client_secret, открываем свою копию Таблицы, редактор скриптов и вставляем эти аргументы на лист main
3) далее в Таблице выбираем диапазон, за который нужны отправления, жмакаем кнопку и получаем список на лист
4) кстати, данные вставляются с помощью sheets api, поэтому, если будете копировать просто код - не забывайте включить эту службу в сервисах


⭐️ У нас много наработок для OZON / WB / Яндекс Маркет, поэтому, нужна любая автоматизация - напишите в нашего бота, а мы к вам оперативно вернемся
1🔥17👍105💩2👎1🤗1
Google Таблицы
ОЗОН, Список отправлений FBO | @google_sheets Друзья, выкладываем Таблицу со скриптом, с помощью которой можно выгрузить список отправлений FBO из API маркетплейса OZON. Таблица с котом кодом. Страничка из описания API OZON про этот метод. И если вы совсем…
Обновили Таблицу загрузки отправлений из OZON.

Теперь данные выгружаются даже если API возвращает больше 1000 строк.

Спасибо нашему подписчику за наводку 🏄‍♂️
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍17👎2🔥2💩1🦄1
Google Таблицы
Обновление нашей Таблицы WB: загружаем отчет по реализации из API Продолжаем разговор и продолжаем добавлять полезное в нашу Таблицу WB. Отчёт по реализации – главный отчёт продавца Wildberries. Внутри отчёта – прибыль продавца за каждый товар, также те…
Отчет по реализации WB заработал

1) Таблица, с отчетом по реализации ВБ и остатками ФБО www.tgoop.com/google_sheets/1143

2) Загружаем расходы в Таблицу по рекламе ВБ, API www.tgoop.com/google_sheets/1460

3) Пост "в поисках идеального дашборда для маркетплейсов" с интересными комментариями www.tgoop.com/google_sheets/1475

4) WB, достаём топ-100 товаров по запросу www.tgoop.com/google_sheets/1116

5) Таблица для расчета себестоимости на KazanExpress www.tgoop.com/google_sheets/1199

6) Достаём характеристики и описание товаров из ВБ, Таблица со скриптом www.tgoop.com/google_sheets/1404

🏄 Заказ у нас @vas_mnogo_a_ya_bot
👍165👎1😎1
2025/07/09 21:00:27
Back to Top
HTML Embed Code: