#GoogleТаблицы — это аналог #Excel с веб-интерфейсом и возможностями для удобной совместной работы. Они похожи, и все же в Таблицах есть свои особенности, функции, плюсы и минусы. Работать в Google Таблицах просто и мы покажем как.
=REGEXREPLACE(A1;"\D+"; ) * 1
"выпито 580 литров молока и съедено 10 пирожков", вытащим 580 и 10 в отдельные ячейки.
Сначала, с помощью REGEXREPLACE заменим все "не числа" на пончик, потом с помощью SPLIT (делит строку по указанному разделителю) разделим нашу строку по этому пончику:
=SPLIT(REGEXREPLACE(A2;"\D+";"🍩") ; "🍩")
🍩 уйдут, а числа останутся и встанут в отдельные ячейки, смотрите скриншот :)ИСТИНА / TRUE на ЛОЖЬ / FALSE и наоборот) нажатием пробела!
На самом деле нет, мы писали об этом пару лет назад, но не грех и повторить! К тому же в старом посте было про отключение флажков в скриптах.
А вы знали?😺SEQUENCE. Правда, она отказывается работать с шагом, когда это не целое число, но можно сделать так - получить числа от 1 до 100 и поделить их на 100.
=ArrayFormula(SEQUENCE(10;10;1;1)/100)
Вариантов решения задачи (как и ориентации квадратиков, кстати - в каноническом варианте незакрашенные сверху), конечно, может быть много - предлагайте свои!
Таблица с примером
Мы поздравляем прекрасных девушек с праздником! 👩🌸
PS А у кого получится все сделать только внутри условного форматирования? Пишите в комментариях.={'Лист1'!A1:B}
Еще один вариант - сослаться на диапазон и нажать Ctrl+Shift+Enter, тогда будет введена функция ArrayFormula. Она будет работать вместо фигурных скобок.
Можно ввести ее и вручную.
=ArrayFormula('Лист1'!A1:B)
А вот излишние манипуляции с массивами в формулах, которые мы иногда наблюдаем в разных таблицах:
- Не нужно тянуть данные с другого листа с помощью IMPORTRANGE! Это функция для импорта из других таблиц.
=IMPORTRANGE("Ссылка на ту же таблицу, где формула"; "'Лист1'!A1:B") - такая конструкция вместо того, что выше - это лишнее.
- Не нужно добавлять фигурные скобки к диапазонам, если они внутри функций, которые и так предполагают диапазон. Например:
=FILTER({A1:E1000}; {A1:A1000} = "...")
---
⭐️ Наш курс по Excel, Таблицам и скриптам: тыц
⭐️ Оглавление канала: ты-дыц
⭐️ Самый табличный чат на свете: бадабумNOW() возвращает текущую дату и время. При любом изменении в Таблице функция будет обновляться и показывать актуальное время.
Недавно пытливые умы в нашем чате нашли способ, с помощью которого можно заставить функцию остановиться (но не навсегда):
=LAMBDA(z;IF(B2;z;))(NOW())
Проверяем, активирован ли чекбокс в B2 и если да, то выводим текущую дату и время. Весь секрет в LAMBDA, как вы понимаете.
Это решение можно использовать как фиксацию даты и времени при работе в Таблице для последующей вставки этой даты и времени как значения.
💬 Будете пробовать – напишите в комментариях, когда функция обновилась у вас и что послужило причиной, если сможете отследить.
Фиксируем время навсегда
Ну а намертво зафиксировать время можно с помощью скрипта onEdit(), сделаем его по той же логике:
function onEdit(e) {
if (e.range.getColumn() == 2 && e.value == 'TRUE') {
e.range.offset(0, 2).setValue(new Date());
}
}lambda-функции мы можем заставить классический sumifs работать в массиве.
Показываем. Смотрите на скриншот, у нас есть продажи по каждому сотруднику за отдельные дни. Посчитаем общие продажи по двум условиям: сотрудник и товар.
Формула:
=MAP(A2:A7;B2:B7;LAMBDA(имя;товар; SUMIFS(D2:D7;A2:A7;имя;B2:B7;товар)))
Разберём:
– Передаем в map два столбца
– Передаем в lambda эти ячейки как "имя" и "товар"
– Пишем sumifs с суммированием столбца "общие продажи", передавая по каждой строке аргументы, которые мы задали
Вуаля, получаем внутри одной формулы много sumifs, которые будут работать по каждой строке.
А так мы можем зашить формулу в заголовок:
={"Общие продажи" ; MAP(A2:A7;B2:B7;LAMBDA(имя;товар; SUMIFS(D2:D7;A2:A7;имя;B2:B7;товар)))}
Про новые функции:
Накопительный итог построчно
Подсчёт значений построчно
JOIN построчно
---
⭐️ Наш курс по Excel, Таблицам и скриптам: тыц
⭐️ Оглавление канала: ты-дыц
⭐️ Самый табличный чат на свете: бадабум