【Excel笔记_5】 LET 函数中数据范围不连续的处理方法

LET 函数中,如果数据范围是不连续的(比如 DK4:DK176DK188:DK242),直接使用 ABS 计算偏差会导致错误,因为 Excel 不支持对多个不连续区域执行数学运算。

正确的方法

可以使用 VSTACK(Excel 365/2021 支持)或 CHOOSE(适用于更早的 Excel 版本)将不连续区域合并,然后进行计算。

方法 1:使用 VSTACK(Excel 365/2021)
excel 复制代码
=LET(data, VSTACK(DK4:DK176, DK188:DK242), mean, AVERAGE(data), AVERAGE(ABS(data - mean)))

解释:

  1. VSTACK(DK4:DK176, DK188:DK242) 把两块不连续的数据合并成一个连续的数组。
  2. mean 计算合并后数据的均值。
  3. ABS(data - mean) 计算绝对偏差。
  4. AVERAGE(...) 计算 MAD。

方法 2:使用 CHOOSE(适用于 Excel 2019 及以下版本)
excel 复制代码
=LET(data, CHOOSE({1,2}, DK4:DK176, DK188:DK242), mean, AVERAGE(data), AVERAGE(ABS(data - mean)))

解释:

  • CHOOSE({1,2}, DK4:DK176, DK188:DK242) 将两个不连续区域合并成一个数组。
  • 后续计算逻辑与 VSTACK 方法相同。

如果你的 Excel 版本不支持 LET

可以用数组公式:

excel 复制代码
=AVERAGE(ABS((DK4:DK176, DK188:DK242) - AVERAGE(DK4:DK176, DK188:DK242)))

然后按 Ctrl + Shift + Enter 结束输入,使其成为数组公式。

这应该能正确计算 MAD,即使数据是不连续的!😊

相关推荐
蒸蒸yyyyzwd16 小时前
cpp 选手秋招学习笔记 day33
c++·笔记·求职招聘
Sunshing151 天前
Lyapunov方程系统本身稳定性判定与镇定性判定
笔记·学习
透明的玻璃杯1 天前
热键驱动 Hotkey Features Integration v9.x(14MB)
笔记
上海心泾国际物流有限公司1 天前
我在几个医疗器械仓库记下的一组温湿度数据
经验分享·笔记·学习·健康医疗·交通物流
LuminousCPP1 天前
数据结构-排序(三):快速排序进阶|挖坑法、双指针交换与手动栈非递归实现
c语言·数据结构·笔记·算法·排序算法
chushiyunen1 天前
mockito笔记
java·开发语言·笔记
蒸蒸yyyyzwd1 天前
cpp 选手备战秋招学习笔记 day32
c++·笔记·面试
stormeryang1 天前
简单商城、在线客服管理系统
笔记
my_daling1 天前
紫光FPGA远程升级注意事项(关于GTP_CFGCLK原语使用问题)
笔记·学习·fpga开发
库玛西1 天前
深度解构高并发利器:纯事件驱动 Reactor 模式的设计哲学与工程实践
服务器·开发语言·c++·笔记·tcp/ip