Excel: 无法对由公式确定的空白进行平均

Excel: Cannot average blanks determined by formula

我在 B1:B10(值)和 C1:C10(字符串)中有一些数据,我想对其进行平均。

我的值是(第 1-10 行):

B | C
-----
1 | Approved
1 | Approved
1 | Approved
1 | Approved
  | N/A
  | N/A
  | N/A
1 | Approved
1 | Approved
0 | Disapproved

当我在A1中输入以下公式对B列中的数据进行平均时,得到一个结果(0.857143),没有问题:

=AVERAGE(B1,B2,B3,B4,B5,B6,B7,B8,B9,B10)

当我在 D1 中输入以下公式时,我得到了#VALUE!相反,错误,尽管据我所知,逻辑是相同的(用空格替换 N/A):

=AVERAGE(
IF(C1="Approved",1,IF(C1="Disapproved",0,IF(C1="N/A","",""))),
IF(C2="Approved",1,IF(C2="Disapproved",0,IF(C2="N/A","",""))),
IF(C3="Approved",1,IF(C3="Disapproved",0,IF(C3="N/A","",""))),
IF(C4="Approved",1,IF(C4="Disapproved",0,IF(C4="N/A","",""))),
IF(C5="Approved",1,IF(C5="Disapproved",0,IF(C5="N/A","",""))),
IF(C6="Approved",1,IF(C6="Disapproved",0,IF(C6="N/A","",""))),
IF(C7="Approved",1,IF(C7="Disapproved",0,IF(C7="N/A","",""))),
IF(C8="Approved",1,IF(C8="Disapproved",0,IF(C8="N/A","",""))),
IF(C9="Approved",1,IF(C9="Disapproved",0,IF(C9="N/A","",""))),
IF(C10="Approved",1,IF(C10="Disapproved",0,IF(C10="N/A","","")))
)

为了在 C 列中的字符串值的公式中得到 0.857143,我需要更改什么?

还尝试使用 VALUE("") 和 VALUE(0) 更改 N/A 的 "if true" 和 "if false" 部分。使用 VALUE("") 它仍然会导致 #VALUE!错误,并且使用 VALUE(0) 它仍然将空白计入平均值,这是不需要的,因为我只想要 1 和 0 的平均值

附加信息:如果我拆分字符串的公式以在单独的行上评估每个字符串,然后在该范围内取平均值,它工作正常..虽然,考虑到我正在使用的数据集,我宁愿不单独添加它们,因为它会使工作变得非常混乱space。

AVERAGE 不适用于给定数字范围内的文本字符串。它可能会跳过空单元格(根据您的第一个示例),但肯定会在比较数字方程式中的文本时出错(您的第二个示例)。所以试试这个:

=COUNTIF(C1:C10,"Approved")/SUM(COUNTIF(C1:C10,{"Approved","Disapproved"}))

这将使 N/A 排除在等式之外。