javascript - Google Spreadsheet ranking values -


I am currently establishing decision matrix with Google Spreadsheet and I want to apply the ranking feature for the results. . I will not do this, if there were only 4 options, but in my case 32 options are available ...

I tried to do it with Google Script API, but the result is somewhat disappointing:

  function ranking () {var sheet = SpreadsheetApp.getActiveSpreadsheet (); Var alldata = sheet.getDataRange () GetValues ​​(); Var data = []; Var j = 8; For (var i = 0; i & lt; = 31; i ++) {data [i] = aldada [18] [j]; J = j + 2; } Sorted var = data.slice (). Sort (function (a, b) {return b-a}}; Var rank = data. Slice (). Map (function (v) {return sorted.indexOf (v) +1}); . Sheet.getRange ("I-20") setValue (Rank [0]); . Sheet.getRange ("K20") setValue (Rank [1]); . Sheet.getRange ("M20") setValue (Rank [2]); . Sheet.getRange ("O20") setValue (Rank [3]); . Sheet.getRange ("Question 20") setValue (Rank [4]); . Sheet.getRange ("S20") setValue (Rank [5]); . Sheet.getRange ("U20") setValue (Rank [6]); . Sheet.getRange ("W20") setValue (Rank [7]); . Sheet.getRange ("Y20") setValue (Rank [8]); . Sheet.getRange ("AA20") setValue (Rank [9]); . Sheet.getRange ("AC20") setValue (Rank [10]); . Sheet.getRange ("AE20") setValue (Rank [11]); . Sheet.getRange ("AG20") setValue (rank [12]); . Sheet.getRange ("AI20") setValue (Rank [13]); . Sheet.getRange ("AK20") setValue (rank [14]); . Sheet.getRange ("AM20") setValue (Rank [15]); . Sheet.getRange ("AO20") setValue (Rank [16]); . Sheet.getRange ("AQ20") setValue (Rank [17]); . Sheet.getRange ("AS20") setValue (Rank [18]); . Sheet.getRange ("AU20") setValue (Rank [19]); . Sheet.getRange ("AW20") setValue (rank [20]); . Sheet.getRange ("AY20") setValue (Rank [21]); . Sheet.getRange ("BA20") setValue (Rank [22]); . Sheet.getRange ("BC20") setValue (Rank [23]); . Sheet.getRange ("BE20") setValue (rank [24]); . Sheet.getRange ("BG20") setValue (Rank [25]); . Sheet.getRange ("BI20") setValue (Rank [26]); . Sheet.getRange ("BK20") setValue (Rank [27]); . Sheet.getRange ("BM20") setValue (Rank [28]); . Sheet.getRange ("BO20") setValue (Rank [29]); . Sheet.getRange ("BQ20") setValue (Rank [30]); . Sheet.getRange ("BR20") setValue (Rank [31]); }   

As you can see, the code is really messy. This is probably the reason why I have never used JavaScript before and my coding knowledge is very basic in general.

Is there any way to apply this feature directly to the spreadsheet without the need of script API?

Thanks in advance for help!

 for  (i = 0; i & lt; numRanks; i ++) sheet .GetRenz (20, i * 2 + 9) .setview (rank [i]);   

In fact, you only repeat every other column for loop on the twentieth line.

Function Documents.

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

github - Teamcity & Git - PR merge builds - anyway to get HEAD commit hash? -

ios - Replace text in UITextView run slowly -