编号等差分组的EXCEL函数实现
假设我们有这样一组数据在表中存储为如下:
1 | ={ |
现在许要将数据1-2,3-4···两两一组进行对分数求平均,显示在对应数据后面。假设上面的数据放在Sheet4
的A1
单元格,我们可以通过下面的代码进行获取
1 | =LET( |
这段代码可以分为定义工具、计算分组数据、拼接为结果数据集三部分。第一部分的各个内容如下:g_num
指一组的数据为几条;t_sno(rag)
为根据传入的单元格返回对应的编号;c_arr(sno, g_num)
为根据传入的编号和个数返回需要计算的数据数组,返回的规则为大于等于sno
小于sno+g_num
所对应的所有数据c_fun(c_arr)
为实际的计算函数,接受的c_arr
是需要需要计算的数据
计算分组数据的逻辑是使用MAP()
遍历每个需要计算的单元格,并为上面的函数传入计算中需要的参数。其中如果当前计算的单元格不是本组中第一个单元格时,则需要传入本组第一个单元格的编号,对应计算逻辑为(INT((t_sno(x) - 1) / g_num) * g_num + 1)
最后将计算得到的数组与原数据源通过HSTACK()
拼接即可