【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,即使数据是不连续的!😊

相关推荐
林深现海1 天前
【刘二大人】PyTorch深度学习实践笔记 —— 第三集:梯度下降(凝练版)
pytorch·笔记·深度学习
悠哉悠哉愿意1 天前
【物联网学习笔记】按键
笔记·单片机·嵌入式硬件·物联网·学习
三水不滴1 天前
对比一下RabbitMQ和RocketMQ
经验分享·笔记·分布式·rabbitmq·rocketmq
困死,根本不会1 天前
OpenCV摄像头实时处理:九宫格棋盘检测与棋子识别
笔记·opencv·学习
Yff_world1 天前
网络安全与 Web 基础笔记
前端·笔记·web安全
wdfk_prog1 天前
[Linux]学习笔记系列 -- [drivers][gpio[[gpiolib]
linux·笔记·学习
孞㐑¥1 天前
算法—哈希表
开发语言·c++·经验分享·笔记·算法
骆驼爱记录1 天前
Word通配符技巧:高效文档处理指南
开发语言·c#·自动化·word·excel·wps·新人首发
Jack___Xue1 天前
LangGraph学习笔记(四)---LangGraph检查点和Send机制
jvm·笔记·学习
今儿敲了吗1 天前
计算机网络第四章笔记(六)
笔记·计算机网络