我的 excel 表包含 400 个数据点,就像图像像素值一样,但有些数据点缺失,因此该单元格的值为零,数据仅包含四个值 1、2、3 和 4。我需要通过查看邻域 8 个单元格来为缺失单元格分配一个值,如果任何值的计数数较多,则将其分配为缺失单元格的值
答案1
- 复制整个工作表
- 在新范围的左上角输入此公式:
=IF(Sheet1!B2>0,Sheet1!B2,IFERROR(INDEX(MODE.MULT(Sheet1!A1:C3),1),MAX(Sheet1!A1:C3)))
- 将公式复制到整个范围
公式:
=IF(Sheet1!B2>0,...)
- 如果原始值> 0,则不改变它INDEX(MODE.MULT(Sheet1!A1:C3),1)
-MODE.MULT
返回所选范围的所有模式,INDEX
仅选择第一个。(MODE.MULT
结果是结果数组,仅在 Excel 2010 中可用。由于公式仅使用其第一个项,因此无需将公式作为数组公式输入)IFERROR(...,MAX(Sheet1!A1:C3))
-MODE.MULT
导致错误,当所有数字只出现一次时,这种情况下它会选择最大的一个(最小的一个会选择 0(本身))