У меня есть несколько столбцов со значениями времени. При проверке данных я показываю список, который берет значения из скрытого столбца с большим диапазоном значений времени. В зависимости от значения другого поля я могу использовать части диапазона для отображения списка значений. Это отлично работает:
Источник:
=ЕСЛИ($b$6=$X$8;$X$13:$X$171;$X$193:$X$521)
СКРИНТ: для определенного значения в B6 требуется определенная часть диапазона X
Теперь в строках столбца C мне нужен список времени со значениями, начинающимися на 10 минут позже, чем в столбце B.
Для этого я могу прекрасно отследить положение B+10 минут с помощью функции Match. Я также добавляю +12, потому что список начинается с 13-й строки:
=СООТВЕТСТВИЕ(B13+ВРЕМЯ(0;10;0);X13:X326;1)+12
=> результат 24
Отсюда я могу точно определить диапазон, который мне нужен:
="$X"& MATCH(B13+TIME(0;10;0);X13:X326;1)+12 & ":$X100"
=> результат: $X24:$X100
Когда я вставляю эту формулу в поле «Источник», я получаю предупреждение: «Источник списка должен быть списком с разделителями или ссылкой на одну строку или столбец».
СКРИНШОТ: Оповещение о формуле диапазона
В качестве обходного пути я поместил формулу в ячейку, но тогда строка отображается как обычный текст, а не как диапазон (см. снимок экрана).
Как узнать в поле «Источник», что это диапазон?
СКРИНШОТ: строка применяется как обычный текст, а не как диапазон
Это повторяющийся вопрос.
Просто поместите формулу (которая генерирует диапазон в виде строки) в ячейку и в поле источника раскрывающегося списка используйте команду Excel ДВССЫЛ.
Если ваша формула
= "$X"& MATCH(B13+TIME(0;10;0);X13:X326;1)+12 & ":$X100"
находится в ячейке Z15, помещенной в источник списка проверки данных:
=INDIRECT(Z15)
Если мой ответ решил вопрос, пожалуйста, отметьте его.
Большое спасибо, Нельсон. Я пытался найти ответ, но это было не так очевидно, чтобы искать.