excel 同一列 三组数据 每组6行 求每组最大最小值并在右侧一列标注

三组,每组六个数,M2-M7,M9-M14,M16-M21每组选一个最大值和一个最小值,在这个数的右侧一列,标注
2026年09月27日 05:07
有4个网友回答
网友(1):


如果每组都没有重复,还可以这样

=IF(A4="","",LET(x,SORT(OFFSET(A$2,INT((ROW(A3)-1)/7)*7,,6),,-1),TEXT(MATCH(A4,N(x),),"[=1]最大;[=6]最小;")))

网友(2):

如图

N2=IF(MOD(ROW(),7)=2,MIN(OFFSET(M2,,,6)),IF(MOD(ROW(),7)=0,MAX(OFFSET(M2,-5,,6)),""))

下拉

网友(3):

N2用公式:
=IF((MAX(OFFSET(M$1,LOOKUP(1,0/(M$1:M1=""),ROW($1:1)),,6))=M2)*(COUNTIF(OFFSET(M$1,LOOKUP(1,0/(M$1:M1=""),ROW($1:1)),,MOD(ROW(A7),7)+1),M2)=1),"最大",IF((MIN(OFFSET(M$1,LOOKUP(1,0/(M$1:M1=""),ROW($1:1)),,6))=M2)*(COUNTIF(OFFSET(M$1,LOOKUP(1,0/(M$1:M1=""),ROW($1:1)),,MOD(ROW(A7),7)+1),M2)=1),"最小",""))
数组公式,如果是早期版本EXCEL,按组合键CTRL+SHIFT+回车,完成公式,下拉,否则直接下拉。

网友(4):

N2单元格公式为:=IF(M2=MAX(INDIRECT("$M$"&((ROUNDUP((ROW()-1)/7,0))-1)*7+2):INDIRECT("$M$"&((ROUNDUP((ROW()-1)/7,0))-1)*7+8)),"最大",IF(M2=MIN(INDIRECT("$M$"&((ROUNDUP((ROW()-1)/7,0))-1)*7+2):INDIRECT("$M$"&((ROUNDUP((ROW()-1)/7,0))-1)*7+8)),"最小",""))

拆解下这个公式的写法:

1、先写下第一组数据的最基本的做法

判断M2:M8一组数字最大值和最小值,

我们在O2测试去写公式,

=IF(MAX($M$2:$M$8)=M2,"最大",IF(MIN($M$2:$M$8)=M2,"最小",""))

这个公式仅仅是把第一组的写明白了,但是到了M9,就是第二组的区域了所以需要对其分组

2、在P列辅助写下分组的公式

=ROUNDUP((ROW()-1)/7,0)

所以就有了上面的公式

利用分组数字来替换区间:$M$2:$M$8,我们要把里面的数字行号改成随单元格变化的变量,所以才有 了上面的完整公式。