Вставьте результаты формулы СЧЁТЕСЛИ, а не формулу

Я боролся с этим часами.

У меня есть скрипт, который каждые 24 часа берет значение с другого листа и сохраняет его в ячейке. Так что мы можем поддерживать порядок...

нравиться

04.10.23 - 10

4.11.23 - 15

4.12.23 - 24

и т. д. и т. д.

Работает нормально .... однако проблема в том, что мой скрипт работает, вставляя формулу, а не результаты формулы. Так что на самом деле я получаю лист, который постоянно обновляется, например....

04.10.23 - 10

4.11.23 - 10

04.12.23 - 10

Кто-нибудь знает способ, с помощью которого вместо вставки формулы я могу вставить вывод формулы? Или даже способ скопировать результат и вставить его только как значение?

Мой сценарий здесь;

function addDate() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getActiveSheet();
  var tz = ss.getSpreadsheetTimeZone();
  var d = Utilities.formatDate(new Date(), tz, 'yyyy-MM-dd');
  sh.appendRow([d,'=COUNTIF(currentAffiliates!C:C,"Joined")','=COUNTIF(currentAffiliates!C:C,"Rejected")']);
}
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я считаю, что ваша цель заключается в следующем.

  • Вы хотите поставить фактические значения вместо формул '=COUNTIF(currentAffiliates!C:C,"Joined")','=COUNTIF(currentAffiliates!C:C,"Rejected")'.

В таком случае, как насчет следующей модификации?

Модифицированный скрипт:

function addDate() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getActiveSheet();
  var tz = ss.getSpreadsheetTimeZone();
  var d = Utilities.formatDate(new Date(), tz, 'yyyy-MM-dd');
  
  // I modiifed the below script.
  var { joined, rejected } = ss.getRange("'currentAffiliates'!C:C").getDisplayValues()
    .reduce((o, [c]) => {
      ["joined", "rejected"].forEach(e => {
        if (e == c.toLowerCase()) {
          o[e]++
        }
      });
      return o;
    }, { joined: 0, rejected: 0 });
  sh.appendRow([d, joined, rejected]);
}
  • Когда этот скрипт запускается, фактические значения добавляются вместо формул '=COUNTIF(currentAffiliates!C:C,"Joined")','=COUNTIF(currentAffiliates!C:C,"Rejected")' на лист.

  • В этом случае я подумал, что можно было бы также использовать следующую модификацию.

    • От

        var { joined, rejected } = ss.getRange("'currentAffiliates'!C:C").getDisplayValues()
          .reduce((o, [c]) => {
            ["joined", "rejected"].forEach(e => {
              if (e == c.toLowerCase()) {
                o[e]++
              }
            });
            return o;
          }, { joined: 0, rejected: 0 });
      
    • К

        var [joined, rejected] = ["joined", "rejected"].map(e => range.createTextFinder(e).matchCase(false).matchEntireCell(true).findAll().length);
      

Использованная литература:

Большое спасибо, это идеально и работает именно так, как нужно.

hamd01 19.04.2023 11:54

Другие вопросы по теме

Выпадающий фильтр по продукту
Как заставить формулу массива применить существующую формулу массива к столбцу?
Как я могу сравнить 2 списка и использовать результат для вставки строк
Как правильно использовать мою уникальную формулу LAMBA вместо скопированной формулы?
Как использовать рисунок в качестве кнопки для редактирования или навигации по электронной таблице, в которой он существует, без использования класса SpreadsheetApp?
Найти первый подстановочный знак/выражение, соответствующее заданному значению
Добавление данных в лист Google с помощью n8n не работает должным образом. Вместо добавления он заменяет первую строку
Есть ли более эффективная формула для применения условного форматирования с использованием функции ROW?
Переформатировать информацию о листе Google с помощью Apps Script
Как пройти аутентификацию в GogoleApis с помощью Node.js в лямбда-функции

Похожие вопросы

Выпадающий фильтр по продукту
Как скрыть предварительно заполненный вопрос в формах Google с помощью скрипта Google Apps?
Как я могу сравнить 2 списка и использовать результат для вставки строк
Скрипты приложений Google не заменяют весь текст на слайде
Как использовать рисунок в качестве кнопки для редактирования или навигации по электронной таблице, в которой он существует, без использования класса SpreadsheetApp?
Сценарий Google Apps: как получить FileByID и установить желаемый тип файла и многое другое
Заполните данные из вызова API в раскрывающемся списке с соответствующим идентификатором учетной записи
Загружать различные CSS в зависимости от пользовательского устройства в веб-приложении Google Script
Есть ли более эффективная формула для применения условного форматирования с использованием функции ROW?
Переформатировать информацию о листе Google с помощью Apps Script