如何自动将单元格中的文本视为 0,或视为另一个单元格中值的一半?

如何自动将单元格中的文本视为 0,或视为另一个单元格中值的一半?

以下是一个例子:

A1:值 1。A2-A30:值,或为 NA 的文本,或为 BL 的文本。A31:A2 到 A30 的平均值(带有 NA 的单元格的值被视为零,带有 BL 的单元格的值被视为 A1 中值的一半,即值 1)。

用哪一个公式来得到 A31 中的平均值?注意有多个列需要相同的操作。因此,使用额外的列来处理单个数据然后进行计算是不值得考虑的。

答案1

你实际上在这里已经混淆了很多,如果我明白你的意思那么你有:

单元格 A1 - A30 具有 ND 或 BL 的值

在 B1 - B30 中你有值

在 D1 - D30 中您想要计算行的值。

如果是的话你可以去 D1 并输入:

=IF(A1="ND","0",IF(A1="BL", B1/2,""))

答案2

输入这个A31. 调整它以适合其他列:

=SUM(A2:A30,0*(A2:A30="NA"),(A1/2)*(A2:A30="BL"))/ROWS(A2:A30)

在哪里:

A2:A30包含数字、“NA”或“BL”。
A1是值 1

它能做什么:

添加单元格 A2 至 A30 中的值 - 将“NA”视为 0,将“BL”视为 A1 的一半 - 然后分裂用 A2 到 A30 中的项目数相加。本质上,这就是平均值/均值的计算方法。

输入公式后,按Ctrl+ Shift+Enter提交。

样本:

在此处输入图片描述

笔记:

上述公式将空白单元格视为 0,并将其包含在计算中。

如果您想在计算平均值时忽略空白单元格,请将ROWS(A2:A30)公式更改为COUNTA(A2:A30)

答案3

我不明白您说的“第二行”是什么意思。您是指“当前行上方行中值的一半”还是“当前行下方行中值的一半”?或者您是指“单元格 A2 中值的一半”?

我将您的“第二行”解释为“下面一行”中的值。无论如何,答案将是相似的,但会调整 IF 语句查找其乘数的位置。我使用“嵌套 IF”语句来测试您的两个常量。

我在 A 列中输入值,并在 B 列中输入此公式:

=IF($A1="BL",0.5*$A2,IF($A1="ND",0,$A1))
=IF($A2="BL",0.5*$A3,IF($A2="ND",0,$A2))

...

然后我取了 B 列的平均值。

相关内容