2

У меня есть некоторые данные, измеренные через неравные промежутки времени, например:

Time(s)     Value(KB)
  2.1         304
 43.0         400
 60.2         380
 87.0         440
 89.5         445
102.2         460
124.3         470

У меня это есть в CSV со временем, увеличивающимся с T = 0, как указано выше, и я хочу взять выборку Value через периодический интервал (60 секунд), чтобы сопоставить некоторые другие данные, которые у меня есть.

Я пытался использовать Microsoft Excel 2007 для выполнения задачи по сокращению данных до значений, которые находятся ближе всего к каждому 60-секундному интервалу (есть немного данных, поэтому всегда ли оно выше (124.3) или меньше (102.2) или абсолютное значение ближайшего (124.3), не важно). Я попытался применить формулу к столбцу времени (MOD (Tn, 60)), но я не могу найти способ получить этот вывод (значения времени циклически изменяются между 0 и 60) и отфильтровать все, кроме ближайшего значения до 60 в каждом цикл. Какие-либо предложения?

2 ответа2

2

Добавьте в столбец A минутные интервалы (в секундах), убедившись, что самое позднее время находится после существующих данных, и сортируйте A:B по времени (ям), от самого маленького до самого большого с моими данными, имеет заголовки. Фильтр ColumnB, чтобы выбрать только пробелы и вставить:

= ЕСЛИ (А4-А3> А5-А4, В5, В3)

в первый пробел (здесь строка 4) и скопируйте, а затем удалите последнюю строку:

Пример SU540294

Может быть относительно легко расширен для интерполяции между значениями (что может быть более точным), а не просто для выбора ближайшего значения.

0

сделайте следующее в другой таблице:

  1. Столбец D: введите значения 60, 120, 180 и т.д.
  2. Столбец E: =MATCH(D1,$A:$A) - это даст вам последнюю строку, где значение меньше, чем столбец D
  3. Столбец F: =INDEX($A:$A,E1) - это возвращает значение секунд, которое ниже
  4. Столбец G: =INDEX($A:$A,E1+1) - это возвращает значение секунд, которое выше
  5. Столбец H: =INDEX($B:$B,IF(D1-F1<G1-D1,E1+1,E1)) - это даст вам значение (КБ), которое наиболее близко

В качестве альтернативы просто поместите эту формулу в столбец F:

=INDEX($B:$B,IF(D1-INDEX($A:$A,E1)<INDEX($A:$A,E1+1)-D1,E1+1,E1))

или используйте эту массивную формулу в столбце G:

=INDEX($B:$B,MATCH(D1,$A:$A)+IF(D1-INDEX($A:$A,MATCH(D1,$A:$A))<INDEX($A:$A,MATCH(D1,$A:$A)+1)-D1,1,0))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .