仅对特定单元格执行 excel 公式

Execute excel formula only for specific cells

我正在尝试创建一个同时检查多项内容的公式,但我在处理其中的一部分时遇到了问题。

公式如下:

=IF(COUNTIFS($N$2:$N$17095,N3,$K$2:$K$17095,"<>"&"")>6, IF((SUMPRODUCT(--(ROUND($K$2:$K$49,2)=ROUND(K3,2)))>9),"总是迟到/可能的自动化", IF(COUNTIFS($N$2:$N$17088,N3,$K$2:$K$17088,"<3.5")>0,"提前至少交付一次",IF(COUNTIFS($N$2:$N$17088, N3,$K$2:$K$17088,">3.5")>6,"总是迟到","假"))))

第一部分检查范围内有多少条目与单元格 N3 中的值相同,但值不同于空白,我们希望这些条目多于 6。 第二部分比较难,它应该检查舍入范围内有多少值与单元格 K3 中的舍入值匹配。问题是公式检查整个范围,我只想检查匹配 N3 的值(本质上就像 CountIf 只适用于该值)。

剩下的就不那么重要了。

一些示例数据:

![在此处输入图片描述][1]

正如您在 table 末尾看到的那样,四舍五入的公式有效,但这只是因为我将显示的数据限制为 N 列中的 3 个唯一值。即使在这里,如果我有一个空白不行,因为我还没考虑。

提前致谢。

假设你有 Office 365 compatibility/Excel 版本,使用一堆过滤器。为了避免笨拙的公式,我将范围扩展到最大行数(根据需要自定义)...

=LET(x_,$E:$E,a_,FILTER($E:$E,--(x_=E3)),b_,FILTER($B:$B,--(x_=E3)),IF(SUM(--(a_=E3)*(b_<>""))>6,IF((SUMPRODUCT(--(ROUND(b_,2)=ROUND(B3,2)))>9),"Always Late / Possible Automation",IF(SUM(--(a_=E3)*(b_<3.5))>0,"Delivered Earlier At Least Once",IF(SUM(--(a_=E3)*(b_>3.5))>6,"Always Late","False")))))

注意:出于某种原因,过滤器在 countifs 中似乎不太适用(必须与语法 RE:数组与标准 TBC 有关)。因此,已将 countifs(filter_range,X) eqn 'types' 替换为 sum(--(filter_range=X)),按预期工作。