我有以下问题:
包含列(HOUR)和另一列(AM / PM)的数据表。第一列中的条目包括1,2,3,4,5,6,7,8,9,10,11或12,第二列包含'AM'或'PM'。他们一起定义事件的时间(关于以下问题,请注意我不允许在源数据表中创建新列或更改现有列)。以下公式1.)至3.)非常适合在上午8点到下午4点之间或在此时间窗口之外的事件中获得'1或'0,只要我在某处创建新列。
1.) =IF(AND(A1>=8, A1<=11),IF(B1="AM",1,0),0) + IF(AND(A1>=1, A1<=4),IF(B1="PM",1,0),0) + IF(AND(A1=12),IF(B1="PM",1,0),0)
2.) =--OR(AND(A1>=8, B1="AM", A1<>12), AND(OR(A1<=4, A1=12), B1="PM"))
3.) =--OR(AND(OR(A1={8,9,10,11}),B1="AM"), AND(OR(A1={1,2,3,4,12}), B1="PM"))
但是,我希望将“1”概括为 - 而不创建额外的列 - 作为数据透视表中的计算字段。虽然excel在计算字段选项中根本不接受3.)公式,但excel接受1.)和2.),但在所有数据透视表单元格中仅输出“0”。以下是在数据透视表中仅输出“0”的公式之一。
=--OR(AND(HOUR>=8,'AM/PM'="AM",HOUR<>12), AND(OR(HOUR<=4,HOUR=12),'AM/PM'="PM"))
字段值设置没有区别,并且使用1.)或2.)创建的字段无法针对“1”或0“s进行过滤,因此字段必须出错计算我想。是否有人知道我需要改变什么才能使它工作?是否有适用于公式1的透视表中的公式的特殊规则。)和2.)使它们有效?
感谢您对此提供的任何帮助
答案 0 :(得分:0)
我认为限制不是你,而是Excel。
答案 1 :(得分:0)
我尝试了你的代码,确实我发现它不起作用。即使使用简单的if代码,它似乎也不起作用。我认为它被明确地称为计算字段,因为您只能计算Sum / Total / Count等列中的字段。
看看MS,这个功能非常有限。 我会尝试另一种解决方法来实现你的目标。