如何使用Excel公式突出显示范围内的3个最接近的值

A 

1)0.218967921
2)0.02111355
3) 0.145493415
4) 0.151092791
5) 0.15407891
6)0.178046392
7)0.11408411

我需要突出显示最接近列表中的数字0.145493415,0.151092791,0.15407891(第3,4,5列)。

假设在A1:A7没有重复的数据没有sorting,而“3最接近的值”是那些最小和最大(三个)之间的差值是该范围中任何三个值的最小差值,那么你可以使用这个公式在条件格式

=ABS(RANK(A1,A$1:A$7)-MATCH(MIN(LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2)))-LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2))+2)),LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2)))-LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2))+2),0)-1)<=1

它相当复杂,但同样可以应用于任何大小的值列表,甚至包含范围中的空白或文本值

如果有多于一组的3个具有相同的“蔓延”,则该公式仅突出显示最大的一组值。

看到这个例子

这里为了完整起见,我回答了在原始数据中突出显示最近的三个相邻数字的更为简单的问题,但它只有在数据全部按升序或降序排列时才有效,因此需要进一步的工作:

 =OR( AND(ROW()<=5,ABS(A3-A1)=MIN(ABS(A$3:A$7-A$1:A$5))), AND(ROW()<=6,IFERROR(ABS(A2-OFFSET(A1,-1,0))=MIN(ABS(A$3:A$7-A$1:A$5)),FALSE)), AND(ROW()<=7,IFERROR(ABS(A1-OFFSET(A1,-2,0))=MIN(ABS(A$3:A$7-A$1:A$5)),FALSE)) ) 

限制:数据必须按照升序或降序排列。 范围A1:A7中的所有单元都必须包含数字。 将空单元格视为零。


突出一组三个最近的细胞中的第一个细胞而不假定数据是有序的基本公式是:

 =ABS(A2-A1)+ABS(A3-A2)=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6)) 

突出三个单元格的公式将是:

 =OR( AND(ROW()<=5,ABS(A2-A1)+ABS(A3-A2)=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6))), AND(ROW()<=6,IFERROR(ABS(A1-OFFSET(A1,-1,0))+ABS(A2-A1)=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6)),FALSE)), AND(ROW()<=7,IFERROR(ABS(OFFSET(A2,-2,0)-OFFSET(A1,-2,0))+ABS(A1-OFFSET(A2,-2,0))=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6)),FALSE)) ) 

限制:范围A1:A7中的所有单元都必须包含数字。 将空单元格视为零。


为了回答这个问题,它是否只适用于七个单元格,下面是一个公式的版本,它适用于从A1开始的任意数字块,然后是A1:A1000范围内的空单元格块。

 =OR( AND(ROW()<=COUNT(A$1:A$1000)-2,ABS(A2-A1)+ABS(A3-A2)=MIN(IF(ROW(A$3:A$1000)<=COUNT(A$1:A$1000),ABS(A$2:A$999-A$1:A$998)+ABS(A$3:A$1000-A$2:A$999)))), AND(ROW()<=COUNT(A$1:A$1000)-1,IFERROR(ABS(A1-OFFSET(A1,-1,0))+ABS(A2-A1)=MIN(IF(ROW(A$3:A$1000)<=COUNT(A$1:A$1000),ABS(A$2:A$999-A$1:A$998)+ABS(A$3:A$1000-A$2:A$999))),FALSE)), AND(ROW()<=COUNT(A$1:A$1000),IFERROR(ABS(OFFSET(A2,-2,0)-OFFSET(A1,-2,0))+ABS(A1-OFFSET(A2,-2,0))=MIN(IF(ROW(A$3:A$1000)<=COUNT(A$1:A$1000),ABS(A$2:A$999-A$1:A$998)+ABS(A$3:A$1000-A$2:A$999))),FALSE)) ) 

限制:数字块不得包含任何空单元格或文本。

如果有两个相同的最小传播组,则两者都将被突出显示。

这些公式可以用于条件格式或独立数组公式。

在这里输入图像说明

你改了名单! 首先,你必须从最小到最大sorting列表。 然后:

在单元格B2中=A2-A1

在单元格B3 put =A3-A2

在单元格B4 put =A4-A3

在单元格B5中放置=A5-A4

等等

在单元格b10中计算第一个最接近的对: =min(B1:B8)在单元格B11中,计算第一个最接近的对的行号: =Match(B10,B1:B8,0)

在单元格C2中,put =if(row(C2)=b$11, 9999, B2)复制到单元格C9在单元格C10中,计算第二个最接近的对: =min(C1:C8)在单元格C11中,第二个最接近的对: =Match(C10,C1:C8,0)

将c栏复制到d栏和e栏

列e将在最低的三个值中有9999的值突出显示A1:A10,select条件格式,input公式“$ e1 = 9999”