我正在尝试编写一个公式,只从一行中获取数字格式,以便使用IF公式,如果所有单元格彼此相等,则表示“No”的值。
在此处查看我的文件片段:
我遇到的问题是公式是采用空白单元格(没有格式)并将它们计算在等式中,所以我的所有值都是“是”。如何让我的公式只计算每行中包含数字的单元格?我已经尝试了IFNUMBER(),IFEMPTY()等...但我不确定我是否正确使用这些,例如嵌入我的公式。我需要忽略每行中的空白。
注意:我只需要使用数字值取单元格。我已经清除了没有数字值的行的值的内容。
以下是我目前的等式:
=IFERROR(IF(AND(ROUND($E2,3)=ROUND($F2,3),ROUND($F2,3)=ROUND($G2,3),ROUND($G2,3)=ROUND($H2,3),ROUND($H2,3)=ROUND($I2,3),ROUND($I2,3)=ROUND($J2,3),ROUND($J2,3)=ROUND($K2,3),ROUND($K2,3)=ROUND($L2,3),ROUND($L2,3)=ROUND($M2,3),ROUND($M2,3)=ROUND($N2,3)),"No","Yes"),"")
注意:这是空白并计算它们(如上所述)。如果列中的数字不同,则应生成“是”,如果没有数字差异,则应生成“否”。目前,它始终生成“是”,因为它正在计算列中的空白。
我也对vba解决方案持开放态度,我有以下代码,但我不知道如何设置每一行的范围只查找数字格式:
这是我的vba代码:
Dim arng As Range
Dim aworkrng As Range
Dim brng As Range
Dim bworkrng As Range
On Error Resume Next
Set aworkrng = Range("O2:O1550")
Set bworkrng = Range("E2:N1550")
Set brng = Range("E2:N2")
On Error Resume Next
For Each arng In aworkrng
If Not IsEmpty(brng.Value) Then
arng.Formula = _
"=IFERROR(IF(AND(ROUND(RC5,3)=ROUND(RC6,3),ROUND(RC6,3)=ROUND(RC7,3),ROUND(RC7,3)=ROUND(RC8,3),ROUND(RC8,3)=ROUND(RC9,3),ROUND(RC9,3)=ROUND(RC10,3),ROUND(RC10,3)=ROUND(RC11,3),ROUND(RC11,3)=ROUND(RC12,3),ROUND(RC12,3)=ROUND(RC13,3),ROUND(RC13,3)=ROUND(RC14,3)),""No"",""Yes""),"""")"
Range("O3").Select
End If
Next
如果有人能帮助我,我会非常感激!
答案 0 :(得分:1)
尝试:
=IF(MIN(E2:N2)=MAX(E2:N2),"No","Yes")