Задать вопрос
  • Как настроить подтягивание данных?

    shebanits
    @shebanits
    1. Создайте простую таблицы
    600ff0b05eb84698106396.png
    2. Скопируйте в переменную ID переменную вашей главной папки.
    3. С помощью функции downloadData() загрузите в таблицу данные о вложенных папках.
    4. Чтобы создать папку напишите название папки в столбике folder name и запустите функцию createFolder().
    600ff1aaea441717717040.png
    let ID = "<id вашей папки>";
    
    function createFolder() {
      let mainFolder = DriveApp.getFolderById(ID);
      let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      let foldersNames = sheet.getRange(2, 1, sheet.getLastRow(), 3).getValues();
      let folders = mainFolder.getFolders();
      let arr = [];
    
      while (folders.hasNext()) {
        let folder = folders.next();
        arr.push({
          "name": folder.getName(),
          "folderID": folder.getId(),
          "lastUpdated": folder.getLastUpdated()
        })
      }
    
      let res = arr.map(item => item.name);
    
      foldersNames.forEach((el, index) => {
        if (typeof el[0] === "string" && res.indexOf(el[0]) === -1 && el[0] != "") {
          let nFolder = mainFolder.createFolder(el[0]);
          sheet.getRange(index + 2, 2, 1, 2).setValues([[nFolder.getId(), nFolder.getLastUpdated()]]);
    console.log(`New folder created! 
    name: ${el[0]}
    creation date: ${nFolder.getLastUpdated()}
    `)
        }
    
      })
    
    }
    
    function downloadData() {
      let mainFolder = DriveApp.getFolderById(ID);
      let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      let foldersNames = sheet.getRange(2, 1, sheet.getLastRow(), 3).getValues().map(item => item[0]);
      let folders = mainFolder.getFolders();
      let arr = [];
    
      while (folders.hasNext()) {
        let folder = folders.next();
        arr.push({
          "name": folder.getName(),
          "folderID": folder.getId(),
          "lastUpdated": folder.getLastUpdated()
        })
      }
    
      arr.forEach(el => {
        if (foldersNames.indexOf(el.name) === -1 && foldersNames.indexOf(el.folderID) === -1) {
          sheet.getRange(sheet.getLastRow() + 1, 1, 1, 3).setValues([[el.name, el.folderID, el.lastUpdated]]);
        }
      })
      console.log(arr)
    }
    Ответ написан
    1 комментарий
  • Как заполнить ячейку по словарю?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Как сказали выше SEARCH или FIND могут решить эту задачу

    60104f8f7e541660391961.png

    =ARRAYFORMULA(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(
      IF(
        FIND(TRANSPOSE(LOWER('словарь'!B2:B11));LOWER(B2:B11));
        TRANSPOSE('словарь'!B2:B11)
      )
    ));;9^9))))


    Пример https://docs.google.com/spreadsheets/d/1YxaovrYFH8...
    Ответ написан
    Комментировать
  • Как сделать категорию досок в Trello?

    Yandoru
    @Yandoru
    "Персональные доски" это не категория, а командная принадлежность (читай "без команды"). На том же уровне будет еще как бы категория "Отмеченные", если вы доску отметите звездочкой. А вот если будут у вас еще другие команды, то ниже будет написано название команды и дальше — доски, с которыми эта команда работает:
    5e21bbc6ee614545036026.png

    Так что для сольной работы можно только поделить на 2 категории — "Персональные доски" и "Отмеченные доски" (будут вверху). Ну или можно создать команду и добавить себя одного туда.
    Ответ написан
    Комментировать
  • Где брать задания?

    8Alfa
    @8Alfa
    веб-разработчик, фотограф, менеджер по продажам
    Всегда считал, что лучшее задание для обучения берется из реальной жизни. Тогда это не выхолощенный для адаптивности пример, а захватывающй, живой и полезный для дальнейшего развития.
    Всплывающие реальные проблемы помогут понять свои слабые места и способности, уровень заинтересованности.
    Согласитесь: натренироваться на подготовленных кем-то примерах и сдаться при первом же заказе, что может быть хуже в плане развития и самооценки?

    Я бы посоветовал не торопясь выполнять задания из ленты фриланса, но делать их не для заказчика, а для себя - не торопясь и подучивая слабые места. А вот потом уже дерзать на работе или в том же фрилансе.
    Ответ написан
    Комментировать
  • Как консолидировать данные из нескольких страниц?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Соглашусь с @oshliaer, проще всего в таких исходных - делать формулу скриптом. Вот код для получения списка листов:
    function getSheetNames(){
      return [SpreadsheetApp.getActiveSpreadsheet().getSheets().map(sheet=>sheet.getName())];
    };
    Ответ написан
    1 комментарий
  • Как расположить текст в excel по столбцам?

    hint000
    @hint000
    у админа три руки
    Как этот процесс автоматизировать?
    Смотря что считать автоматизацией.

    Встать в B1, нажать =A1, встать в C1, нажать =A2, выделить от B1 до С3 и протянуть вниз, скрыть столбец A. Готово.
    Вот это считается автоматизацией или не считается?
    Ответ написан
    1 комментарий
  • Какие действия мне нужно сделать в таблице?

    hint000
    @hint000
    у админа три руки
    Смотрите ответ на почти такой же вопрос: Как расположить текст в excel по столбцам?
    Разница в том, что там цикл составлял 3 строки, а у вас 8 строк. Поэтому вам на 10..20 секунд больше ручной работы, чем там. :) Но суть та же.
    Ответ написан
  • Как сделать так, чтобы Google таблица открывалась в нужном месте?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Правой кнопкой - Получить ссылку на эту ячейку

    6006a931f32a6032473491.png
    Ответ написан
    1 комментарий
  • Как вы организуете большое кол-во собеседований?

    glaphire
    @glaphire
    PHP developer
    Искала работу этой осенью)
    Могу сказать что если Вы давно проходили собеседования, то лучше не начинать с компаний, в которые очень хотите попасть, потому что можно быть умным, но поплыть на ряде простых вопросов просто потому, что не освежили память и это собъет хорошее впечатление. Мода на стандартный набор вопросов меняется, то что спрашивали 5 лет назад могут не спросить сейчас, но при этом придумать новые вопросы из стандартного списка. Я была уверена что спросят что-то из серьезных тем, а спрашивали совсем другое и простое, причем нужно было быстро напрячься и вспомнить, чтобы ответить)
    У меня была пара дней, когда были два hr и два технических собеса подряд и это была огромная ошибка - это выматывает очень сильно. Лучше планировать не больше одного тех.собеса в день или делать между ними перерыв минимум 2 часа, а лучше больше.
    На прескрининге/hr собеседовании очень часто говорят - да мы максимум на полчаса созвонимся - не верьте)) Это спокойно растягивается на час и больше, если разговор пошел не по шаблону.
    По итогу могу сказать, что важно помнить о своих жизненных силах и не пытаться с наскоку пройти все собесы, важно оставаться со свежей головой и оставлять время проработать все вопросы, на которых завалились, на некоторые из них может уйти весь вечер)
    Удачи в поисках)
    Upd. Неплохо бы составить список стандартных вопросов, у меня это были:
    1) локация офиса
    2) предоставляет ли компания технику
    3) есть ли овертаймы и оплачиваются ли они, какой темп работы и дедлайны
    4) как оформляется и ведется сотрудничество, когда подписывать контракт
    5) сколько месяцев испыталка
    6) состав команды, кто ею управляет
    7) тематика проекта
    8) технологии, какие из них основные, какие второстепенные
    9) какие средства разработки и коммуникации используются (может вылезти нежданчик с виндой, запретом на лицензионный софт и прочей ерундой)
    10) для чего нужен английский (только технический, только переписка или полноценное общение one-to-one)

    Часть этих вопросов помогла избежать разочарований и зря потраченного времени
    Ответ написан
    Комментировать
  • Как верстать доступные сайты?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    То, о чём Вы спрашиваете, официально называется WAI-ARIA.
    Тут можно скачать бесплатно экранного диктора и с помощью него тестировать свои сайты, осуществляя навигацию по ним с помощью табуляции, а так же открывая специальное меню с помощью горячих клавиш (командная кнопка приложения, которую назначите, по умолчанию ins+f7, или f6? Не помню уже точно :-) )

    Доклады Вадима Макеева на ютубе:
    https://www.youtube.com/watch?v=MWJKwn_gKR4
    https://www.youtube.com/watch?v=ssJsjGZE2sc

    Если действительно умеете соблюдать семантику, то, скорее всего, Вы уже сделали достаточно.
    Рускоязычные ресурсы по доступности:
    https://weblind.ru/
    specialbank.ru/guide (В данный момент чёт не работает, но должен)
    Есть курс, где учат именно этому: https://kurmak.info/
    Статья на хабре: https://habr.com/ru/post/40730/ (там внизу есть полезные ссылки)
    Тут можно найти информацию по этому вопросу, в том числе перевод статей из первой ссылки англоязычных ресурсов

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

    Есть англоязычные ресурсы
    Про доступные компоненты: https://inclusive-components.design/ (нажимаете в хроме справа сверху "перевести страницу" и профит)
    Есть спецификация: https://www.w3.org/TR/wai-aria-1.1/#usage (аналогично, перевод в браузере и профит)
    MDN: https://developer.mozilla.org/en-US/docs/Learn/Acc...
    Ответ написан
    1 комментарий
  • Есть ли способ узнать возраст страницы?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно искать записи об изменениях. Как вы понимаете, это зависит от того, что это за страница, что за сайт и т.д.
    • Если это ваш собственный сайт, можете посмотреть дату создания/изменения соответствующего файла на жестком диске.
    • Если это форум, запись в блоге или статья, то может быть указана дата написания в самой статье.
    • Сервер также может указывать дату в http-заголовках, например: Last-Modified. Хотя для динамических страниц такое не должно работать.
    • Если это Википедия, то в истории есть дата самой первой правки, это и есть время создания.
    • Если удалось где-то найти архивную версию сайта (с указанием даты, естественно), то можно проверить, была ли там уже данная страница или ещё нет на тот момент.
    • Как вариант, можно периодически сканировать целевой сайт, и самостоятельно логировать создание/изменение его страниц.
    • Можно ориентироваться на всякие косвенные признаки.
    • и т.д.

    Как видите, так или иначе это какие-то записи о создании или изменении. Разные источники имеют разную степень доверия к себе и разную точность.
    Ответ написан
    Комментировать
  • Можно ли в Trello поделиться карточкой с человеком и при этом не открывать доступ к доске?

    @danil555565 Автор вопроса
    В принципе я нашел для себя выход из ситуации. делиться карточками можно через интеграцию телеграмма с помощью integram.org. Удобная штука в использовании если честно, мне её функционала вполне хватит. Спасибо всем кто пытался помочь в решении задачи
    Ответ написан
    Комментировать
  • Есть ли сервисы коротких ссылок, позволяющие самому задавать эту ссылку, а не случайный код?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    получить ссылку примерно такого вида как хочеться

    Регистрируете не примерно, а такой домен, как хочется. Покупаете простой хостинг, ставите туда это: https://yourls.org/

    Дальше вы сам себе хозяин без необходимости думать сколько проживёт ссылка и будет ли она свободна.
    Ответ написан
    Комментировать
  • Как перенести DokuWiki на телефон с Android?

    Akr0n
    @Akr0n Автор вопроса
    Решилось установкой на DokuWiki плагина "Site Export Plugin", экспорт всей вики в html, открытие полученных файлов в обычном браузере без киких-либо веб-серверов.
    Ответ написан
    Комментировать
  • Как автоматизировать однотипные действия в windows?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Если нельзя поставить софт, то можно собрать на Ардуино эмулятор клавиатуры.
    Ответ написан
    Комментировать
  • Как усвоить большой массив информации за короткое время?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Основное:
    1. Полное понимание и осознание того, что читаете (и желание познавать!).
    2. Структурирование и выделение контрольных "точек входа" в процесс обработки информации с расписыванием по-шагам.
    3. Периодическое использование полученных знаний (практика).

    Важно:
    1. Не нужно учить всё подряд и недопонимая полностью материал.
    2. Не нужно учить то, чем не будете пользоваться в ближайшее время.
    3. Не нужно пытаться понять материал, когда отсутствует концентрация внимания.
    4. Не нужно пренебрегать использованием гугла и созданием коротких заметок в сложных для понимания местах.

    PS: это никому не интересно, но напишу про свою реализацию заметок: я создаю HTML-ки, "сшиваю" своей js-либой и запускаю с рабочего стола index.html локально в стиле своей локальной note/вики по нужной мне теме, правлю контент - в обычном notepad++.
    Ответ написан
    Комментировать
  • Как отправить html письмо через mail.ru?

    Можно вставить в исходный код редактора через devtools.
    Или себе можно тут отправить https://sendhtmail.ru/ и переслать потом
    Ответ написан
    4 комментария
  • Как посчитать количество заявок за месяц?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    =счётз(filter( a:a ; c:c >= ссылка_на_дату_от ; c:c < ссылка_на_дату_до ))

    или так, если охота хардкода
    =СЧЁТЗ(filter(C2:C;C2:C>=ДАТА(2020;11;1);C2:C<ДАТА(2020;12;1)))
    Ответ написан
    Комментировать
  • Как сделать автоматическое заполнение ячеек исходя из числа в определенной ячейки?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Для Google Sheets.
    =array_constrain(ArrayFormula(ЕСЛИ(ТРАНСП(sort(ТРАНСП(ArrayFormula({RANDARRAY(1;31-B3)\1+RANDARRAY(1;B3);RANDARRAY(1;31)}));2;1))>=1;"!";""));1;31)

    B3 - количество нужных символов (в 2 местах формулы)
    31 - всего столбцов (в 3 местах формулы)
    "!" - символ (в 1 месте формулы)
    "" - "пустой" символ (в 1 месте формулы)
    Формула лесенкой

    =array_constrain(
    	ArrayFormula(
    		ЕСЛИ(
    			ТРАНСП(sort(
    				ТРАНСП(ArrayFormula(
    					{RANDARRAY(1;31-B3)\1+RANDARRAY(1;B3);
    					 RANDARRAY(1;31)
    					}
    				))
    				;2;1))>=1
    		;"!";"")
    	)
    ;1;31)

    Ответ написан
    1 комментарий
  • Как создать зависимость между строками консолидированной таблицы и дополнительными данными?

    PolarBearGG
    @PolarBearGG
    I know that I know nothing
    добавляйте дату и делайте сортировку по дате тогда последние строки будут внизу
    Ответ написан
    2 комментария