答案 0 :(得分:0)
如果您将列b更改为计算的星期几字段,请执行以下操作:
//### get value of insert button in row when clicking on <td> ###
$("tr").on("click",function(event){
neededValue1 = $(this).attr('value');
neededValue = neededValue1;
console.log("<tr> button Value: "+neededValue);
//### id clicked in tr w/row value ###
$('#matName'+neededValue).click(function(){
// ### Swap <td> with <input>###
$ele1 = $(this);
$input1 = $('<input id="UpdatedInput'+neededValue+' "/>').val($ele1.text());
$ele1.replaceWith($input1);
//### Save the Input entered and swap back###
save = function(){
var $p = $('<td id="matName'+neededValue+'"/>').text($input1.val());
$input1.replaceWith($p);
};
$input1.one('blur', save).focus();
});
$('#bed0FL'+neededValue).click(function(){
$ele2 = $(this);
$input2 = $('<input id="UD'+neededValue+'"/>').val($ele2.text());
$ele2.replaceWith($input2);
save = function(){
var $p2 = $('<td id="bed0FL'+neededValue+'" />').text($input2.val());
$input2.replaceWith($p2);
};
$input2.one('blur', save).focus();
});
});
然后插入一个新的列c字段,计算月份如下:
=TEXT(B2, "ddd")
然后,您可以使用array formula来解决问题。您可能需要根据数据修改公式,但以下公式应该有效。
=TEXT(B2, "mmm")
请记住,因为这是一个数组公式,您必须在PC上按Ctrl + Shirt + Enter或在Mac上按Command + Return。基本上它所说的是,如果C列不是Sat而不是Sun而D列是May,那么将E列中的值平均。
答案 1 :(得分:0)
不太难。
试试这个:
= SUMPRODUCT((WEEKDAY(B2:B99,2)<6)+0,D2:D99)/SUMPRODUCT((WEEKDAY(B2:B99,2)<6)+0)
我的最后一行为99,但您可以将99更改为您需要的最后一行。
编辑:
刚刚注意到你说#34;按月&#34;。上面的公式将采用平均列D,其中列B是工作日。要修改特定月份,只需稍微修改公式以计算月份。请参阅下文,了解如何在5月份进行此操作。 (月= 5)我把它分成两行,这样更容易阅读。
= SUMPRODUCT((WEEKDAY(B2:B99,2)<6)+0,(MONTH(B2:B99)=5)+0,D2:D99)
/SUMPRODUCT((WEEKDAY(B2:B99,2)<6)+0,(MONTH(B2:B99)=5)+0)
答案 2 :(得分:0)
与彼得的回答类似,请在K2中使用以下公式:
=SUMPRODUCT((WEEKDAY(B:B,1)>1)*(WEEKDAY(B:B)<7)*(MONTH(B:B)=MONTH(DATEVALUE("01-"&$J$2&"-2017")))*(D:D))/SUMPRODUCT((WEEKDAY(B:B,1)>1)*(WEEKDAY(B:B)<7)*(MONTH(B:B)=MONTH(DATEVALUE("01-"&$J$2&"-2017"))))
警告:尽管不是CSE / ARRAY公式,SUMPRODUCT在其括号内执行类似计算的数组。因此,不应使用像B:B这样的完整列引用。而应调整B:B以匹配您的数据需求。在这种情况下,它应该是B2:B22。
在上面的sumproduct公式中,*
的行为类似AND
。它将逻辑比较评估为true或false。如果通过数学运算得到true或false,则true值变为1,false值变为0.因此,只计算一切都为真的行。 sumproduct的最后一步是总结所有结果。因此,包含false的所有行都将变为零,并且不会影响求和。
引用J2
的公式中的tid位基本上将假定为文本中的月份转换为可由excel识别的日期,然后将其转换为可以进行比较的数值到您的日期列表中的月份。现在唯一需要注意的是,无论是哪一年,它都是一年中的每个月。如果您需要特定年份的一个月,则需要调整公式。