Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

137
Visualizações
App Script COUNTIF para la fecha máxima en la columna

Tengo una lista de fechas en la columna A:

 Column A 2022-02-28 2022-02-28 2022-02-28 2022-02-14 2022-02-14 2022-02-07

Estoy tratando de escribir un script que cuente la cantidad de veces que ocurre la fecha más grande. Escribí el siguiente guión

 function maxcount() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var devdeploy = ss.getSheetByName("Sheet1") var Avals = devdeploy.getRange("A2:A").getValues(); var Alength = Avals.filter(String).length; var max = Avals[0][0] var unique_count = 0 for (i=0; i < Alength; i++){ if (Avals[i][0] == max){ unique_count++; } } Logger.log(unique_count) }

Este script funciona si uso valores enteros y tengo el valor máximo en la celda A2. Sin embargo, cuando uso fechas en lugar de números enteros, siempre devuelve un valor de 1. ¿Alguna idea de por qué el bucle if no funciona en fechas, pero funciona en números enteros/cadenas? Además, ¿hay alguna manera de mejorar la secuencia de comandos para buscar el valor máximo en la columna A y luego encontrar cuántas veces ocurre?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si su fecha en la columna "A" es el objeto de fecha, ¿qué tal la siguiente modificación? Pensé que en su secuencia de comandos, por var max = Avals[0][0] , solo se compara el primer elemento. Y, si los valores de la columna "A" son el objeto de fecha, se compara el objeto de fecha. Pensé que esta podría ser la razón de su problema.

Guión modificado:

 function maxcount() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var devdeploy = ss.getSheetByName("Sheet1") var Avals = devdeploy.getRange("A2:A" + devdeploy.getLastRow()).getValues().filter(([a]) => a.toString() != ""); var values = Avals.map(([a]) => a.getTime()); var max = Math.max(...values); var unique_count = values.filter(v => v == max).length; console.log(unique_count) }
  • En esta modificación, los valores se convierten al tiempo de Unix y se recupera el valor máximo. Y se puede recuperar el número del valor máximo.

Referencias:

  • mapa()
  • filtrar()
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda