在Excel中,如何根据数据validation规则检查给定范围内的单元格是否无效?

在Excel中,我试图编写一个公式,根据每个单元格的数据validation规则,检查某个单元格区域中的单元格是否包含无效数据。 我想使用这些信息在靠近页面顶部的单元格中显示一条消息,因此用户不必在整个页面中滚动查看它是否包含任何无效数据。

我想检查范围内的所有单元格使用相同的规则进行数据validation,但这些规则相当复杂,并且取决于每行中其他单元格的值。 我已经知道可以使用VLOOKUP函数(例如=IF(ISNA(VLOOKUP("Lookup Value", A1:A20, 1, FALSE)), "Not Found", "Found")来检查给定列中的任何单元格是否等于特定值=IF(ISNA(VLOOKUP("Lookup Value", A1:A20, 1, FALSE)), "Not Found", "Found") ),但似乎没有办法使用相同的方法来检查具有无效数据的单元格。

有没有办法在Excel中做到这一点,而不使用VBA? 如果不是,你能推荐一个替代解决scheme吗?

那么如果在D列中包含Fail或N / A且在同一行中的列E为空,那么任何行都是无效的?

尝试使用COUNTIFS来查看是否有任何无效的行,例如顶部的这个公式

=IF(SUM(COUNTIFS(D:D,{"Fail","N/A"},E:E,"")),"Invalid Data","All OK")

或者这个版本会给你实例的数量

=IF(SUM(COUNTIFS(D:D,{"Fail","N/A"},E:E,"")),SUM(COUNTIFS(D:D,{"Fail","N/A"},E:E,""))&" Row(s) of Invalid Data","All OK")

COUNTIFS仅在Excel 2007或更高版本中有效,在早期版本中,可以使用SUMPRODUCT计算无效行,即

=SUMPRODUCT((D1:D1000={"Fail","N/A"})*(E1:E1000=""))