Поиск в Excel по времени

3909
Dani

У меня есть таблица данных

number LowTime HighTime 2 0:10:10 0:11:23 4 0:11:24 0:12:55 

Я хочу найти в этой таблице числовое значение для данного времени

если у меня в камере 11:25 (это между 11:24 и 12:55), я хочу поместить в ячейку рядом с ней число 4 из таблицы.

Как мне это сделать?

3
Краткий ответ VLOOKUP. Длинный ответ, я не уверен в этом. Я действительно не использовал времена. Но VLOOKUP - это определенно функция, которую я использую для этого, я использовал ее раньше. barlop 13 лет назад 1
Может ли Vlookup работать с критериями? Dani 13 лет назад 0

2 ответа на вопрос

5
Mike Fitzpatrick

Если ваши периоды времени (A) не перекрываются, (B) в порядке возрастания и (C) не содержат пробелов, то вы можете использовать VLOOKUP с приблизительным соответствием (4-й параметр для VLOOKUP равен TRUE или опущен).

Вам также нужно будет переместить числовой столбец где-то справа от столбца LowTime, так как вам нужно будет выполнить поиск по VLOOKUP в LowTime и вернуться к номеру .

+1, но я бы хотел добавить еще один критерий: (с) не отключен. Если «Item1» равен 10–11, а «Item2» 12–13 (при этом 11–12 в этом примере ничего не значит), поиск значения 11,5 * вернет «Item1», поскольку 10 <= 11,5 <12. `VLOOKUP` не понимает верхних границ. Исправление здесь заключается в добавлении «пустого» значения для диапазона 11-12, поэтому поиск 11,5 возвращает «пустое» вместо этого. DMA57361 13 лет назад 2
@ DMA57361: +1, спасибо, это не пришло мне в голову, но имеет смысл. Я отредактировал свой ответ, чтобы включить ваши критерии. Хорошее объяснение. Mike Fitzpatrick 13 лет назад 0
10х, разобрался уже, но это правильный ответ. Dani 13 лет назад 0
0
Xantec

Хотя VLOOKUP, вероятно, является более простым решением, будет работать и следующая формула:

=INDIRECT(CONCATENATE("C",MATCH(Input,LookupRange,1))) 

где C - буква вашего столбца «число», Input - это ячейка, в которой находится искомое значение, а LookupRange - это массив ячеек, организованных по вертикали, с которыми вы хотите сравнить Input.

Кроме того, вам может понадобиться сместить возвращаемое значение из MATCH, если ваша таблица не начинается в строке 1. Пример:

=INDIRECT(CONCATENATE("C",MATCH(Input,LookupRange,1)+X)) 

где X - количество строк для смещения.

Также стоит поэкспериментировать с окончательным вводом для формулы MATCH, поскольку это может повлиять на то, будет ли Excel сопоставлять промежуточные значения с значениями, большими или меньшими, чем допустимые значения (-1, 0, 1).

Нужно будет проверить это выглядит интересным подходом, и определенно что-то, что я бы не подумал о себе. Dani 13 лет назад 0

Похожие вопросы