最近,你们通过在数据透视表旁边插入动态公式并自动填充来帮助我解决数据透视表的循环问题。
'formula
frml = "=if(" & myrange.Address(0, 0) & ">0.3%," & myrange2.Address(0, 0) & ","""")"
'where i want the formula to go
pt.ColumnRange.End(xlToRight).Offset(1, 0).End(xlToLeft).Offset(1, 1).formula = frml
ActiveSheet.range("P7:P36588").FillDown
我尝试通过添加
来更新此公式"=if(and("
然后还添加另一个范围。问题是额外的(
永远不会出现。我还尝试添加"("
作为自己的部分,但接下来的部分('公式所在的位置)停止工作,这对我来说毫无意义。
有人可以帮助我将此公式转换为ifand语句,并解释为什么公式应该去的地方'所有突然停止工作的部分?
修改:
总的来说,新增加的内容如下:
"if(and(" & myrange.address(0,0) & ">0.3%," & myrange3.address(0,0) & ">$100," & myrange2.address(0,0) & ","""")
通过数据透视表
在相应的单元格中输出此公式=if(and(c3>.3%,d3>$100),a3,""
现在的问题是将and
部分添加到d3的公式中。如果这两个陈述有效,那么它应该带出a3,否则它将不返回任何内容。
答案 0 :(得分:2)
您没有使用)
关闭AND子句。
'formula
frml = "=if(and(" & myrange.address(0,0) & ">0.3%, " & myrange3.address(0,0) & ">$100), " & myrange2.address(0,0) & ", text(,))
text(,)
可以替代引用字符串公式中的""""
。
答案 1 :(得分:2)
几点说明:
)
添加右括号AND
。Chr(34)
在公式字符串中记下"
。myrange.address(0,0) & ">0.3%"
而不是myrange.address(0,0) & ">0.003"
。<强>代码强>
frml = "=IF(AND(" & myrange.Address(0, 0) & ">0.003," & myrange3.Address(0, 0) & ">100)," & myrange2.Address(0, 0) & "," & Chr(34) & Chr(34) & ")"