2016-04-10 17 views
0

Bir Google sayfasındaki bazı verilerin ortalamalarını karşılayan özel bir işlev yazmaya çalışıyorum. Bu işlev şu anda bir tamsayı eşdeğerine dönüştürür, ancak hücre =average(convertToInt(map:data)) gibi bir şey söylemekten ziyade, özel işlevdeki ortalamayı hesaplayan tek bir işlev =averageData(map:data) olmasını isterim.Özel bir Google Uygulama İşlevi içinde yerleşik işlevler kullanma

Yerleşik average işlevi Özel bir işlevden E-Tablolar'da nasıl kullanılır?

+0

Bu şekilde ortalama almak için, sunucu tarafında JavaScript kodunda elektronik tablo işlevlerini kullanamadığınız için döndürülecek ortalamayı belirlemek için JavaScript kullanmalısınız. – ScampMichael

cevap

1

Elektronik sayfa işlevlerine erişim sağlamayan Google Apps Komut Dosyası'nda (JavaScript tabanlı) özel bir işlev yazılmıştır. Böylece, özel bir işlev kullanmayı seçtiğinizde, tüm mantığını uygulamak size kalmıştır.

Aklınızdan vardı tamsayıya dönüşüm tam olarak ne tür bilmiyorum, ama bu yuvarlama eğer o int metni ayrıştırma geçtiyse, fonksiyon bu

function averageData(arr) { 
    return arr.map(function(a) {return Math.round(a);}) 
      .reduce(function(a, b) {return a+b;}, 0) 
      /arr.length; 
} 

gibi görünebilir, o zaman parseInt yerini alacak Math.round.


Bu, özel işlevlerin yerleşik işlevlerden önemli ölçüde daha yavaş ve daha kırılgan olduğunu belirtti. Açıkladığınız işlem kadar basit bir şey için özel bir işlev kullanmak istemem.

İlgili konular