|
V Excelu 2016 imam tabelo z letnicami rojstva. Rad bi makro, ki bi združil letnice rojstva, ki so blizu v eno celico, tako, da bi imel na koncu manj vrstic.
primer:
Letnica Vrednost
1991 3
1992 1
1993 2
1994 3
1995 1
1996 1
1997 1
1998 2
1999 1
2000 2
2001 1
2002 1
2003 1
2004 4
2005 2
2006 2
2007 3
2008 3
2009 4
2010 2
bi postalo:
Letnica rojstva Vrednost
1991-1993 6
1994-1996 5
1997-1999 4
2000-2003 4
2004-2006 8
2009-2010 6
spremenjeno: filips (28.2.2017, 15:56)
|
|
|
Potrebuješ psevdokodo ali dejansko implementacijo?
|
|
|
Lahko karkoli, še bolje pa je dejanska koda.
|
|
|
const leto_i = 0; //index v polju vrstice, ki ponazarja tvoj stolpec za leto
const vrednost_i = 1; //index v polju vrstice, ki ponazarja tvoj stolpec za vrednost
var vrstice = [[1991 ,3],[1992 ,1],[1993 ,2],[1994 ,3],[1995 ,1],[1996 ,1],[1997 ,1],[1998 ,2],[1999 ,1],[2000 ,2],[2001 ,1],[2002 ,1],[2003 ,1],[2004 ,4],[2005 ,2],[2006 ,2],[2007 ,3],[2008 ,3],[2009 ,4],[2010 ,2]];
var zdruzene = []; //resitev algoritma se bo nahajala v tem polju
const zdruzi = 3; //algoritem bo zdruzeval 3 letnice.
for(let i=0;i<vrstice.length;i+=zdruzi){
let vsota = 0;
let n = zdruzi;
if(i+n >= vrstice.length){
n = n - (i+n - vrstice.length)
}
for(let j=0;j<n;j++){
vsota += vrstice[i+j][vrednost_i];
}
zdruzene.push([vrstice[i][leto_i]+"-"+vrstice[i+n-1][leto_i],vsota]);
}
console.table(zdruzene); //ce prilepis to kodo v chrome console (F12 -> console) bos videl tvojo resitev. (oz strukturo restive algoritma)
To je rešitev v javascriptu. Upam da pomaga?
spremenjeno: MC++ (3.3.2017, 0:59)
|
|
Prikazujem 1 od skupno 1 strani |
|