【发布时间】:2020-04-22 11:09:58
【问题描述】:
我在 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 的“如果为真”和“如果为假”部分。使用 VALUE("") 它仍然会导致 #VALUE!错误,并且使用 VALUE(0) 它仍然将空白计入平均值,这是不希望的,因为我只想要 1 和 0 的平均值
附加信息:如果我将字符串的公式分开以在单独的行上评估每个字符串,然后在该范围内取平均值,它工作正常。虽然,考虑到数据集我正在使用它们,我不想将它们都单独添加,因为它会极大地混乱工作空间。
【问题讨论】:
-
我相信您正在尝试从文本字符串中获取平均值。甚至
""也被视为字符串。 -
@JvdV 是的,这是结果告诉我的。虽然不可能将引号删除为“空白”(这将给出完全无意义的结果),并且当尝试对空白结果使用 VALUE 函数时,它仍然会以相同的方式评估它。在字符串检查公式中分离检查时,然后平均范围之后,它工作正常。如果不可能将它们全部放在一个公式中,那就太棒了..
标签: excel excel-formula formula average