1847
Чат посвящен вопросам обработки данных и автоматизации работ с помощью сервисов Google Cloud и Yandex Cloud. Изначально посвящен Google Apps Script. Google Workspace чат t.me/gsuiterc Заказать работу @oshliaer и @GoogleSheets_ru_cm
Напиши формулу, тогда. Замени точку в начале на пустоту
Читать полностью…
Привет. Ситуация такая. Есть исходные данные (не мои), в которых почему-то есть точка в начале, которую я убрать не могу, для примера:
1
.2
3
=QUERY(A1:A3;"SELECT *")
1
3
Чем оно коронно, если оно не отличается от IF-TRUE-TRUE
Читать полностью…
в формуле на 1,2...10 аргументов это может не сыграть роль, но если эта же формула "протянута" вниз на 10 тысяч строк, то может и сыграть.
использование ARRAYFORMULA вместо протягивания у меня уже десятки раз сыграло в понижение производительности — и рядовые работники жалуются что на их пентиумах всё работает плохо, и у начальников с телефонов файлы перестают запускаться, а изменения в таблице происходят очень долго.... по этому не использую
Конечно. Откуда движку знать, что в конечном итоге всё сводится к true/false?
Он просто выполняет математические операции.
Как например:
=IF( SUM(1;2;3;4;5;..... ) > 2; "да"; "нет")
Естественно, cумма будет посчитана до последнего аргумента SUM, ведь сама функция SUM не знает, что тебе не важно после результата 2 что дальше считать уже не нужно
IF может заменить AND/OR. Но очень далеко не всегда.
И если говорить и выигрыше в производительности, то 1,2, да и 10 аргументов - это "пыль"!
А вот когда польза была бы явная, то на IF уже никак не заменишь.
=AND(ARRAYFORMULA(A:A=""))
Можно, конечно, использовать свою функцию на основе рекурсивного цикла, но, к сожалению, работать он будет ещё медленней.
И самое, на мой взгляд, вот коронное ифовое 👑
=IF(FALSE,'Несуществующий лист'!C7,FALSE)
Лучше использовать в редакторе кода, если не работали раньше с форматом консоли
Читать полностью…
https://docs.claude.com/en/docs/claude-code/overview
Читать полностью…
Здравствуйте
А есть ли какой-нибудь лаконичный способ сделать дропдаун-лист по диапазону но при этом добавив туда дополнительно какое то другое значение?
Я пока что это реализовал выводом в отдельный диапазон нужного мне списка полей и + дополнительное, но можно ли это сделать внутри настройки дропдауна без пребегания к отдельному диапазону?
я пробовал посдавить формулу или диапазон в таком формате, но ничего не получилось:
={"Ручной выбор"; 'Список акций'!A2:A}
Читать полностью…
Но часовой пояс имеет значение, т.к. даты-время в таблице обычно представляется в локальном времени.
Читать полностью…
🙂 так и думала))
Читать полностью…
Я исхожу из того, что часовой пояс таблицы и скриптов может отличаться.
И хоть проблема редкая, но лучше перебдеть.
Поэтому я получаю SERIAL вот так:
function dateToSerial(date, timeZone) {
const localStr = Utilities.formatDate(date, timeZone, "yyyy-MM-dd'T'HH:mm:ss");
const localAsUtc = new Date(localStr + 'Z');
const epochMs = Date.UTC(1899, 11, 30);
return (localAsUtc.getTime() - epochMs) / (24 * 60 * 60 * 1000);
}
Ну, приведи пример проблемы. Числа вставляются согласно измереню дат. Вот атк их можно получить https://apps-script-snippets.contributor.pw/snippets/common_js/sheet_datetime/ И вообще не требуются часовые пояса и всякое такое.
Читать полностью…
Вставляй цифрами в отсчете ISO -- аккурат попадаешь в настройки Таблицы
Читать полностью…
ГПТ считает, что проблема в преобразовании к числу и пытался всё привести к строке:
=QUERY({TO_TEXT(A1:A3)}, "select Col1")
=QUERY({A1:A3&""}, "select Col1")
=QUERY({"A"; A1:A3&""}, "select Col1")
Тем, что наглядно показывается что в случае условия FALSE, условие_а не выполняется
В документации
IF(A2 = "foo","A2 is foo")
IF(A2,"A2 was true","A2 was false")
IF(TRUE,4,5)
=ЕСЛИ(ИСТИНА;"вариант_а";"вариант_б")
=ЕСЛИ(ЛОЖЬ;"вариант_а";"вариант_б")
Странный опыт.
Правильное использование AF наоборот повышает производительность ...
я так или иначе уже согласился с тем, что OR вычисляет все аргументы
Читать полностью…
Леша, а перемножение аналогично себя ведет? If((true)*(false);1;0)
Читать полностью…
Сильно быстрый комп у вас.
Ну ОК, более явный пример.
Тут формула вернёт TRUE
=IF(TRUE,TRUE,'Несуществующий лист'!C7)
=OR(TRUE,'Несуществующий лист'!C7)Читать полностью…
Да, лучшая вещь для программиста
Но очень быстро съедает лимит по контексту
Нет. Вы доложны это сделать в отждельном диапазоне и сослаться на него.
Читать полностью…
Если вставлять даты-время с помощью App, то да, хоть .setValue(new Date())
А вот если с помощью API - то нет.
Оно автоматически будет выставляться без нашего участия. Вроде бы сделано для совместимости с excel.
Читать полностью…
Если работать с численным предоставлением даты-времени, то часовой пояс значения не имеет)
Читать полностью…
Проблема комплексная. Ну как сказать проблема, скорее хотелка.
Записать дату/время в часовом поясе таблицы.
Используя Sheets.Spreadsheets.Values.batchUpdate
При изменении локали таблицы формат записанной даты менялся согласно текущего формата даты в локали.
Пока такого эффекта я добился только с помощью Sheets.Spreadsheets.batchUpdate ... updateCells.
Точно, как же я сам не догадался )
Просто какие-то цифры...
Необходимость - в данном случае субъективная: если есть возможность - надо пользоваться.
Читать полностью…