Size: a a a

Чат | Google Таблицы и скрипты

2020 March 16

A

Admin in Чат | Google Таблицы и скрипты
Максим Зубеев
Друзья. Нужна помощь с формулой.

Есть лист и на нем несколько столбцов. Ключевые - первые два.
В первом столбце данные времени (автоматический сбор с формы) второй столбец - id сотрудников.
Сотрудники делают много разных вещей, что фиксируется в остальных столбцах данного листа.

Как на втором листе вывести перечень id сотрудников с привязкой на последнее совершенное действие
На выходе у вас не верно... у 5201900266602 последнее действие должно быть "Ушел"
источник

A

Admin in Чат | Google Таблицы и скрипты
Выводим по уникальному ID последнее действие (лист Admin)
=FILTER( {'дано'!B1:B\'дано'!C1:E};
1 = СЧЁТЕСЛИМН( 'дано'!B1:B; 'дано'!B1:B; СТРОКА('дано'!B1:B); ">="&СТРОКА('дано'!B1:B)))
источник

A

Admin in Чат | Google Таблицы и скрипты
Ага, понял, в ТЗ не было прописан момент, что надо было заменять слова на "на месте/отсутствует"

В этом случае можно использовать ПОДСТАВИТЬ(), если вариантов немного

=ArrayFormula( ПОДСТАВИТЬ( ПОДСТАВИТЬ( ПОДСТАВИТЬ(
 FILTER( {'дано'!B1:B\'дано'!C1:E};
 1 = СЧЁТЕСЛИМН( 'дано'!B1:B; 'дано'!B1:B; СТРОКА('дано'!B1:B); ">="&СТРОКА('дано'!B1:B)));
   "пришел"; "на месте" );
   "ушел"; "отсутствует" );
   "вернулся"; "на месте" ))
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Получилось?
источник

G

GIVER in Чат | Google Таблицы и скрипты
Anton Grant
ну касается) В дальнейшем я прикручу парсинг сайтов поставщиков материалов, чтобы на лету отслеживать. Вопросв много, я питонист, а тут GAS и по питону куча материалов, а по GAS - прям тоска. сейчас хочу сделать кнопку "Копировать расчётв почту", который по сути будет из результатов расчёта собирать табличку или строку (в зависимости от того каким из калькуляторов пользовались)  копирвоать в буфер обмена, и расчётчик будет просто вставлять эту информацию в почту.
не надо в буфер и почту можно прямо на почту но ограничение 100 писем в день
источник

ОМ

Олег Медведев... in Чат | Google Таблицы и скрипты
Здравствуйте. Как сделать выпадающий список при выборе значения из которого, соседние ячейки заполняются соответствующими данными из другой таблицы?
источник

D

Dmitriy in Чат | Google Таблицы и скрипты
Олег Медведев
Здравствуйте. Как сделать выпадающий список при выборе значения из которого, соседние ячейки заполняются соответствующими данными из другой таблицы?
Храним данные в Properties и обращаемся к ним
Аналог функции ВПР

Друзья, Properties Service — это такие специальные отсеки для хранения данных. Вы можете положить туда данные, вы можете к ним обращаться и вы можете их удалить. Есть Properties пользователя, есть скрипта и есть Таблицы. Данные хранятся в парах ключ — значение. Подробнее про службу можно прочитать вот здесь: https://developers.google.com/apps-script/guides/properties?hl=ru.

Сегодня у нас отличный пример того, как можно работать с этой службой — гостевой скрипт от нашего читателя @vitalich. В первой функции Виталич берёт лист Таблицы, создает из него словарь и кладёт в Properties.

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

Сказать спасибо @vitalich-у или задать ему вопрос можно в нашем чате.

>> Таблица со скриптом
источник

РИ

Роман Игнатов... in Чат | Google Таблицы и скрипты
Олег Медведев
Здравствуйте. Как сделать выпадающий список при выборе значения из которого, соседние ячейки заполняются соответствующими данными из другой таблицы?
Пример таблицы?
VLOOKUP, HLOOKUP, LOOKUP, QUERY, FILTER.
источник

v

volond in Чат | Google Таблицы и скрипты
Vitaliy P.
Их мне очень не хватает в gas 😂
function* generateSequence() {
 yield 1;
 yield 2;
 return 3;
}

let generator = generateSequence();


function z(){
let one = generator.next();
log(JSON.stringify(one));
let two = generator.next();
log(JSON.stringify(two));
let three = generator.next();
log(JSON.stringify(three));
let d = generator.next();  
log(JSON.stringify(d));
}
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
volond
function* generateSequence() {
 yield 1;
 yield 2;
 return 3;
}

let generator = generateSequence();


function z(){
let one = generator.next();
log(JSON.stringify(one));
let two = generator.next();
log(JSON.stringify(two));
let three = generator.next();
log(JSON.stringify(three));
let d = generator.next();  
log(JSON.stringify(d));
}
Речь шла про синтаксический сахар вида
>>> [x for y in [1,2,3] for x in [z**2 for z in range(y)]]
[0, 0, 1, 0, 1, 4]
>>>
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Олег Медведев
Здравствуйте. Как сделать выпадающий список при выборе значения из которого, соседние ячейки заполняются соответствующими данными из другой таблицы?
Привет. Сделай пример Таблицы и приходи, поможем.
источник

AG

Anton Grant in Чат | Google Таблицы и скрипты
GIVER
не надо в буфер и почту можно прямо на почту но ограничение 100 писем в день
Прислали запрос, мы его обсчитали и на него ответили. Это общепринятая практика.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Anton Grant
Прислали запрос, мы его обсчитали и на него ответили. Это общепринятая практика.
Антон, ты что хочешь сделать-то? Что подразумеваешь под «буфером»?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Если ты про буфер компьютера, то ты не сможешь его наполнять из GAS
источник

AG

Anton Grant in Чат | Google Таблицы и скрипты
Который ctrl+c
источник

AG

Anton Grant in Чат | Google Таблицы и скрипты
Clipboard
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Anton Grant
Clipboard
Способов поместить что-то в буфер из скриптов я не знаю, попробуй погуглить, но сомнительно
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
можешь где-нибудь на отдельном листе / области собирать такую строку, а потом руками копировать, ну либо сразу формировать письмо в gmail
источник

AG

Anton Grant in Чат | Google Таблицы и скрипты
Eugeny Namokonov
можешь где-нибудь на отдельном листе / области собирать такую строку, а потом руками копировать, ну либо сразу формировать письмо в gmail
Сейчас так и делаю, но это не очень нравится
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
Anton Grant
Сейчас так и делаю, но это не очень нравится
А создание черновика письма не подойдет? https://stackoverflow.com/questions/17660601/create-draft-mail-using-google-apps-script
источник