以下是一个例子:
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 列的平均值。