我每秒都会测量空气污染,并且正在寻找方法实现以下目标:
- 找出整个数据集中每 9、10、11 个值的中位数
我有点难以描述,但我的意思是,我想找到整个数据集的第 9、10 和 11 个值的中值、第 19、20 和 21 个值的中值、第 29、30、31 个值的中值等等。我正在寻找一个函数来完成此计算,因为我的数据集有大约 8,000 行数据。
答案1
使用 INDEX 将三个数字的数组返回给 MEDIAN:
=MEDIAN(INDEX(A:A,N(IF({1},(ROW(A1)-1)*10+{9,10,11}))))
根据版本的不同,退出编辑模式时可能需要使用 Ctrl-Shift-enter 而不是 Enter 来确认。
将其放在第一个单元格中并向下复制。每行将迭代到下一个分组。首先它将返回 9、10、11,然后返回 19、20、21,依此类推。
如果想要手写出三个返回值,可以避免使用数组函数:
=MEDIAN(INDEX(A:A,(ROW(A1)-1)*10+9),INDEX(A:A,(ROW(A1)-1)*10+10),INDEX(A:A,(ROW(A1)-1)*10+11))
这可以正常输入。