按单元格填充色统计合计值

可以根据自己的需要,继续改进。

👋
function test(){
    sumByrgb(Range("F4:I15"))    
}
function sumByrgb(rng){
    let tsum = 0;
    let arr = {};
    let jint = 0    
    if(typeof rng === "function"){
    for(let rg of rng){
    let tc = rg.Interior.Color;
    let v = rg.Value2 === undefined ? 0 : rg.Value2;
    if(tc in arr){                
        arr[tc]  = arr[tc] + v ;                
    }else{                
        arr[tc] = v;                
            }            
        }
    }
    Object.entries(arr).forEach(([key, value]) => {
        
        let c= ActiveCell.Offset(jint,0);
        c.Interior.Color = key;
        c.Value2 = value;
        jint++;
    });
    console.log(JSON.stringify(arr))
}

可以按照指定区域单元格和指定的填充色进行求和。

function sumByrgb(rng,r,g,b){
    let tsum = 0;    
    if(typeof rng === "function"){
        for(let rg of rng){
            if(rg.Interior.Color == RGB(r,g,b)){                
                tsum += rg.Value2;
            }
        }
    }
    return tsum;
}

黑龙江省
浏览 314
收藏
7
分享
7 +1
+1
全部评论