首页 > 解决方案 > 为什么excel将@放入VBA代码的公式中?

问题描述

我想问一下excel公式中的“@”,我已经在基于某些条件的计算中位数下面写了公式。当我直接在单元格中手动编写公式时,该公式有效,但每次我尝试通过下面的 VBA 代码填充公式时

ThisWorkbook.Sheets("Pivot").Range("S3").Formula = "=MEDIAN(IF($L$4:$L$" & x & "=$Q3,IF($M$4:$M$" & x & "=S$2,$N$4:$N$" & x & ")))"

excel 将“@”置于 IF 条件下,然后,它不返回 vales 但返回 0,如果我删除公式中的“@”,它会再次开始工作。

=MEDIAN(IF(@$L$4:$L$190=$Q3,IF(@$M$4:$M$190=R$2,$N$4:$N$190)))

我用谷歌搜索,但找不到有同样问题的人的解释。

标签: excelvbaexcel-formula

解决方案


@是一项名为隐式交集的新功能,旨在简化 Excel 的动态数组。

https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34

您的函数将仅检查第 3 行(为空),因此返回0.


推荐阅读