Есть ли способ найти несколько максимальных и минимальных значений для сегментов в Excel? - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть одна цилиндрическая обрабатываемая деталь, которая имеет несколько канавок по длине прямого цилиндра. Я отсканировал его по длине, поэтому у меня есть тысячи точек данных, которые имеют диаметр цилиндра по всей его длине.

Данные выглядят примерно так:

1.0  <- Starts on the flat part
.99
1.0
1.0
.95  <- Begins dipping into the groove
.93
.92  <-minimum groove depth reached
.93
.97
1.0 <- back up to flat part
1.01
1
1.01
1.0
.98  <- begins groove again 
.95
.94
.92  <- minimum groove depth reached
.93
.97
1.0  <-back to flat part
1.0
...

Как видите, все плоские части расположены вокруг 1, затем медленно падают до 0,92, а затем обратно до 1 несколько раз,

Я пытаюсь найти способ записи максимума и минимума во время «плоской» части, затем записи минимума для «канавки», затем записи нового максимума и минимума для новой детали,и т. д.

Вывод будет выглядеть примерно так:

Flat 1

Max=1.0
Min=.99

Groove 1

Min=.92

Flat 2

max=1.01
min=1.0

Паз 2

min=.92

И так далее. Это возможно? Я попробовал несколько вещей в Excel, и это было сложно и не функционирует как сейчас. Это можно сделать в Excel или я должен использовать VBA? Любые советы или рекомендации будут очень признательны!

1 Ответ

0 голосов
/ 01 ноября 2019

Я не уверен, что это то, что вы ищете.

Предполагается, что ваши данные начинаются с ячейки A2 и вы начинаете с "Flat"

  1. В ячейке B2 введите Start Flat 1

  2. В B3 введите следующую формулу:

    =IF(AND(A3>0.98,A2<=0.98),"Start Flat "&COUNTIF(B$1:B2,"Start Flat*")+1,IF(AND(A3>0.98,A4<=0.98),"End Flat "&COUNTIF(B$1:B2,"End Flat*")+1,IF(AND(A2>A3,A4>A3,A3<0.98),"Groove min. " & COUNTIFS(B$1:B2,"Groove*")+1,"")))
    
  3. Заполните

Вы должны получить что-то вроде этого:

enter image description here

Чтобы получить случайное значение из квартирыи минимальная длина канавки:

  1. Настройка таблицы с первым столбцом, начинающимся с 1.

  2. Во второй столбец введите следующееформула:

    =IFERROR(INDEX(A:A,RANDBETWEEN(MATCH("Start Flat " & J2,B:B,0),MATCH("End Flat " & J2,B:B,0))),"")
    
  3. В третьем случае используйте следующее:

    =IFERROR(INDEX(A:A,MATCH("Groove min. "& J2,B:B,0)),"")
    

В итоге вы должны получить что-то вроде этого:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...