• Подключение почты домена одновременно к нескольким почтовым службам?

    jamessvetsky
    @jamessvetsky
    Специалист по почтам и рассылкам
    Возможно. Есть одно но - входящие письма будут приходить только на один сервис. Два варианта - если MX запись одна или они с разным приоритетом - будет приходить на тот где приоритет меньше. Если указать два и больше с одинаковым приоритетом - будет приходить на один из них случайным образом.
    Ответ написан
    4 комментария
  • Как формулой вернуть значение пустой ячейки?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Мне больше всего нравится ссылка на пустой диапазон. Просто создайте именованный диапазон, в моем случае это BLANK, который ссылается на какую-то всегда пустую ячейку. Далее, например, в B1

    =IF(A1=1;BLANK;A1)

    Если в C1 добавить =ISBLANK(B1), то вернет TRUE

    601a2b7b23fc8863726221.png
    Ответ написан
    Комментировать
  • Как добавить пробелы и скобки в формулу?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    К сожалению, интерпретатор регулярных выражений, на котором основана эта программа, не поддерживает вложенные вызовы. Поэтому необходимо самостоятельно распарсить строку и соединить ее как надо.

    ="Итого с учетом всего : " & TEXT(D8;"#,##0.00") & REGEXREPLACE(
      MONEYTEXT(D8;"RUB") & " ноль копеек ";
      "(.*)\s(руб[а-я]+)(.*?)(коп[а-я]+)(.*)";
      " ($1) $2 " & TEXT(ROUND(MOD(D8;1);2)*100;"00") & " $4"
    )


    6022a4496d118990363140.png

    Замечание. Представление текста валют обусловлено общим форматом интерпретатора и видением группы разработчиков и не поддерживает никаких банковских или других стандартов. Основная причина - отсутствие поддержки в развитии продукта. Времени и сил хватает только на исправление багов.


    Обновлено

    Подсказывают https://t.me/googleappsscriptrc/35292 чуть более гуманную для человеческих глаз формулу для получения числа копеек

    ="Итого с учетом всего : " & D8 & " " & REGEXREPLACE(
      MONEYTEXT(D8; "RUB");
      "(.*?)\s(руб[а-я]{0,})[\s].*?(коп[а-я]{0,})";
      "($1) $2 " & REGEXEXTRACT("" & D8;",(\d{2})") & " $3"
    )
    Ответ написан
  • Как рассчитать в гугл-таблице возраст от даты рождения?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Лучше так, иначе могут быть проблемы из-за високосных годов рядом с днем рождения:
    =РАЗНДАТ(A1;СЕГОДНЯ();"Y")
    Ответ написан
    Комментировать
  • Как запретить просмотр отдельных листов Таблицы Гугл?

    ProgrammerForever
    @ProgrammerForever Автор вопроса, куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Нашёл как обойти все ограничения. IMPORTRANGE не подходил, т.к. была вероятность того что юзер скопирует ссылку, скопирует документ и расчехлит документ как захочет. Сделал так: Файл - Опубликовать в Интернете. И юзеры видят свои данные, и до материнского файла не докопаться. Спасибо всем откликнувшимся
    Ответ написан
    2 комментария
  • Какой Office лучше использовать в качестве замены MS Office?

    shambler81
    @shambler81 Куратор тега Linux
    wps office без вариантов
    XpXnzPXGjisFR3Ko6EEdNQ.jpg
    Верховный суд китая ненашел ничего общего с известным вам майкрасофт офисом, это вам показалось ;)
    Совместимость куда как лучше чем у либры. Либра и почившый ООо курят в сторонке.
    Русский с коробки, кросплатформенный
    Китайцы рулят. Проект бурно развивается.
    Ответ написан
    21 комментарий
  • Можно ли в гугл-таблицу добавить возможность сортировки без изменения самой таблицы?

    Люди, которые читают эти таблицы, могут сами зайти через меню данные и создать временные фильтры которые позволят сортировать как им заблогарассудится.
    Данные -> Фильтры -> Создать новый временный фильтр
    Ответ написан
    Комментировать
  • Насколько важно писать лаконично?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Пишите понятно. Лаконичность она хороша, но при некоторых конструкциях просто взрывает мозг.
    Ответ написан
    Комментировать
  • Какие серверные языки можно использовать в HTML?

    vabka
    @vabka Куратор тега Веб-разработка
    Никакой нельзя. HTML отображется у клиента - в браузере.
    А в браузере есть только браузерный javascript.

    На сервере вы можете средствами серверного языка генерировать html, который будет выдан клиенту.
    Это можно делать на любом языке, который может выполняться на сервере, с разной степенью удобства (есть даже примеры на bash и ассемблере)

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

    Надеюсь, я смог ответить на ваш вопрос достаточно подробно - если что-то непонятно, то пишите в комментарий.

    PS: чисто теоретически вы можете скомпилировать код на любом языке в js или wasm и выполнять его в браузере: такое решение точно есть для C/C++, golang, rust, C#, F#, kotlin. На счёт других языков я не уверен.
    Но не думаю, что это именно то, что вам нужно.
    Ответ написан
    Комментировать
  • Какие системные требования ПК нужны для программирования?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Посмотрел я, что за контора такая MCG Group... И немножко "выпасть в осадок" :)

    Агентство маркетинговых коммуникаций.

    Пардон, кто там у вас будет преподавать, если Вы, вроде как CEO (то есть не менее чем второе лицо компании) задаете такие прости-Господи-вопросы? Вам, как СEO (уж извините, что советы даю) - не мышками и софтом заниматься надо - а бизнес-планы разрабатывать и персонал нанимать. А мышки и ПО пусть нанятый Вами админ считает, который сам знает про системные требования.

    Потому что применительно скажем к покупке автомобиля, Ваш вопрос можно перефразировать так - "Хочу машину. Сколько мне денег нужно?"
    Ответ написан
    2 комментария
  • Как разделить данные ячейки, перечисленные через запятую, и перенести на другой лист? Как это автоматизировать?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Я рекомендую скрипт.

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

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

    5fc9046ab40da210800326.png

    Далее, уже на другом листе, вы создаете массив из массивов всех вариантов и фильтруете его. Количество массивов зависит от числа уникальных значений, которые можно получить, если перебрать все значения в ячейках для разбития. И это самая трудная задача. Если у вас 20 и более значений, то формула может приобрести чудовищные размеры. В данном случае значений всего три "Яблоки, Груши, Сливы".

    5fc904fbd90fc820384161.png

    Таблица с примером https://docs.google.com/spreadsheets/d/1hmbgD-nW7w...
    Ответ написан
    Комментировать
  • Как настроить подтягивание данных?

    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)

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